19 #ifndef MIR_SCENE_SIMPLE_OBSERVER_H_ 20 #define MIR_SCENE_SIMPLE_OBSERVER_H_ 30 namespace geometry {
class Rectangle; }
33 class SurfaceObserver;
42 std::function<
void()>
const& scene_notify_change,
43 std::function<
void(
int)>
const& buffer_notify_change);
46 std::function<
void()>
const& scene_notify_change,
53 void surfaces_reordered()
override;
55 void scene_changed()
override;
57 void surface_exists(
Surface* surface)
override;
58 void end_observation()
override;
61 std::function<void()>
const scene_notify_change;
62 std::function<void(int)>
const buffer_notify_change;
63 std::function<void(int frames, mir::geometry::Rectangle const& damage)>
const damage_notify_change;
65 std::mutex surface_observers_guard;
66 std::map<Surface*, std::weak_ptr<SurfaceObserver>> surface_observers;
68 void add_surface_observer(
Surface* surface);
74 #endif // MIR_SCENE_SIMPLE_OBSERVER_H_ All things Mir.
Definition: atomic_callback.h:25
An observer for top level notifications of scene changes. In order to receive more granular change no...
Definition: observer.h:33
surface_removed
Definition: scene_report_tp.h:46
surface_added
Definition: scene_report_tp.h:41
Definition: rectangle.h:33
Definition: legacy_scene_change_notification.h:38