20 #ifndef MIR_SCENE_SURFACE_CONTROLLER_H_
21 #define MIR_SCENE_SURFACE_CONTROLLER_H_
29 class SurfaceStackModel;
37 std::shared_ptr<SurfaceFactory>
const& surface_factory,
38 std::shared_ptr<SurfaceStackModel>
const& surface_stack);
41 std::shared_ptr<Surface>
const&,
46 void remove_surface(std::weak_ptr<Surface>
const& surface)
override;
48 void raise(std::weak_ptr<Surface>
const& surface)
override;
50 void raise(
SurfaceSet const& surfaces)
override;
55 std::shared_ptr<SurfaceFactory>
const surface_factory;
56 std::shared_ptr<SurfaceStackModel>
const surface_stack;
All things Mir.
Definition: atomic_callback.h:25
SurfaceController(std::shared_ptr< SurfaceFactory > const &surface_factory, std::shared_ptr< SurfaceStackModel > const &surface_stack)
Definition: surface_controller.cpp:26
std::set< std::weak_ptr< scene::Surface >, std::owner_less< std::weak_ptr< scene::Surface >>> SurfaceSet
Definition: surface_coordinator.h:41
auto surface_at(geometry::Point) const -> std::shared_ptr< Surface > override
Definition: surface_controller.cpp:58
Definition: surface_coordinator.h:38
void add_surface(std::shared_ptr< Surface > const &, scene::DepthId new_depth, input::InputReceptionMode const &new_mode, Session *session) override
Definition: surface_controller.cpp:34
Will grow up to provide synchronization of model updates.
Definition: surface_controller.h:33
void remove_surface(std::weak_ptr< Surface > const &surface) override
Definition: surface_controller.cpp:43