19 #ifndef MIR_SHELL_WINDOW_MANAGEMENT_INFO_H 20 #define MIR_SHELL_WINDOW_MANAGEMENT_INFO_H 30 namespace scene {
class Session;
class Surface;
class SurfaceCreationParameters; }
36 std::shared_ptr <scene::Session>
const& session,
37 std::shared_ptr <scene::Surface>
const& surface,
40 bool can_be_active()
const;
44 bool must_have_parent()
const;
46 bool must_not_have_parent()
const;
48 bool is_visible()
const;
52 void constrain_resize(
53 std::shared_ptr <scene::Surface>
const& surface,
56 const bool left_resize,
57 const bool top_resize,
64 std::weak_ptr <scene::Surface>
parent;
65 std::vector <std::weak_ptr<scene::Surface>>
children;
68 bool is_titlebar =
false;
79 void init_titlebar(std::shared_ptr <scene::Surface>
const& surface);
81 void paint_titlebar(
int intensity);
86 struct AllocatingPainter;
87 struct SwappingPainter;
89 std::shared_ptr <StreamPainter> stream_painter;
94 std::vector<std::weak_ptr<scene::Surface>>
surfaces;
103 #endif //MIR_SHELL_WINDOW_MANAGEMENT_INFO_H
mir::optional_value< shell::SurfaceAspectRatio > min_aspect
Definition: window_management_info.h:75
All things Mir.
Definition: atomic_callback.h:25
geometry::Rectangle restore_rect
Definition: window_management_info.h:62
mir::optional_value< geometry::DeltaX > width_inc
Definition: window_management_info.h:73
std::vector< std::weak_ptr< scene::Surface > > surfaces
Definition: window_management_info.h:94
geometry::Width min_width
Definition: window_management_info.h:69
std::weak_ptr< scene::Surface > parent
Definition: window_management_info.h:64
MirSurfaceType type
Definition: window_management_info.h:60
MirSurfaceState state
Definition: window_management_info.h:61
std::weak_ptr< scene::Session > session
Definition: window_management_info.h:63
Definition: window_management_info.h:33
geometry::Height min_height
Definition: window_management_info.h:70
geometry::Height max_height
Definition: window_management_info.h:72
mir::optional_value< graphics::DisplayConfigurationOutputId > output_id
Definition: window_management_info.h:77
Definition: window_management_info.h:92
frontend::SurfaceId titlebar_id
Definition: window_management_info.h:67
std::shared_ptr< scene::Surface > titlebar
Definition: window_management_info.h:66
geometry::Width max_width
Definition: window_management_info.h:71
Definition: surface_creation_parameters.h:41
Definition: rectangle.h:33
mir::optional_value< geometry::DeltaY > height_inc
Definition: window_management_info.h:74
geometry::Rectangle tile
Definition: window_management_info.h:98
mir::optional_value< shell::SurfaceAspectRatio > max_aspect
Definition: window_management_info.h:76
std::vector< std::weak_ptr< scene::Surface > > children
Definition: window_management_info.h:65