19 #ifndef MIR_SCENE_SURFACE_STACK_MODEL_H_
20 #define MIR_SCENE_SURFACE_STACK_MODEL_H_
31 namespace geometry {
class Point; }
40 using SurfaceSet = std::set<std::weak_ptr<Surface>, std::owner_less<std::weak_ptr<Surface>>>;
45 std::shared_ptr<Surface>
const& surface,
49 virtual void remove_surface(std::weak_ptr<Surface>
const& surface) = 0;
51 virtual void raise(std::weak_ptr<Surface>
const& surface) = 0;
53 virtual void raise(
SurfaceSet const& surfaces) = 0;
66 #endif // MIR_SCENE_SURFACE_STACK_MODEL_H_
All things Mir.
Definition: atomic_callback.h:25
Definition: surface_stack_model.h:37
virtual void add_surface(std::shared_ptr< Surface > const &surface, DepthId depth, input::InputReceptionMode input_mode)=0
std::set< std::weak_ptr< Surface >, std::owner_less< std::weak_ptr< Surface >>> SurfaceSet
Definition: surface_stack_model.h:40
virtual auto surface_at(geometry::Point) const -> std::shared_ptr< Surface >=0
virtual void remove_surface(std::weak_ptr< Surface > const &surface)=0
virtual ~SurfaceStackModel()=default