#include "../server_configuration.h"
#include <iostream>
namespace me = mir::examples;
namespace msh = mir::shell;
namespace mg = mir::graphics;
namespace mf = mir::frontend;
namespace mi = mir::input;
namespace mo = mir::options;
namespace mir
{
namespace examples
{
class DemoRendererFactory : public compositor::RendererFactory
{
public:
geometry::Rectangle const& rect) override
{
return std::unique_ptr<compositor::Renderer>(new DemoRenderer(rect));
}
};
{
public:
std::initializer_list<std::shared_ptr<mi::EventFilter>> const& filter_list)
{
auto result = std::make_shared<mo::DefaultConfiguration>(argc, argv);
namespace po = boost::program_options;
result->add_options()
("fullscreen-surfaces", "Make all surfaces fullscreen");
return result;
}()),
filter_list(filter_list)
{
}
{
[this]() -> std::shared_ptr<msh::PlacementStrategy>
{
else
});
}
{
for (auto const& filter : filter_list)
composite_filter->append(filter);
return composite_filter;
}
{
return std::make_shared<DemoRendererFactory>();
}
private:
std::vector<std::shared_ptr<mi::EventFilter>> const filter_list;
};
}
}
int main(
int argc,
char const* argv[])
try
{
auto wm = std::make_shared<me::WindowManager>();
{
wm->set_focus_controller(config.the_focus_controller());
wm->set_display(config.the_display());
wm->set_compositor(config.the_compositor());
});
return 0;
}
catch (...)
{
return 1;
}