1 #ifndef WF_SEAT_SURFACE_MAP_STATE_HPP
2 #define WF_SEAT_SURFACE_MAP_STATE_HPP
3 
4 #include <functional>
5 #include <wayfire/surface.hpp>
6 #include <wayfire/object.hpp>
7 
8 namespace wf
9 {
10 /**
11  * Convenience class to listen for map state changes of all surfaces.
12  */
13 struct SurfaceMapStateListener
14 {
15   public:
16     SurfaceMapStateListener();
17     ~SurfaceMapStateListener();
18 
19     using Callback = std::function<void (wf::surface_interface_t*)>;
20     void set_callback(Callback call);
21 
22   private:
23     wf::signal_callback_t on_surface_map_state_change;
24     Callback callback;
25 };
26 }
27 
28 #endif /* end of include guard: WF_SEAT_SURFACE_MAP_STATE_HPP */
29