19 #ifndef MIRAL_WINDOW_SPECIFICATION_H
20 #define MIRAL_WINDOW_SPECIFICATION_H
33 namespace scene {
class Surface;
struct SurfaceCreationParameters; }
34 namespace shell {
struct SurfaceSpecification; }
40 namespace detail {
struct SessionsBufferStreamIdTag; }
69 void update(mir::scene::SurfaceCreationParameters& params)
const;
74 auto size() const ->
mir::optional_value<
Size> const&;
75 auto
name() const ->
mir::optional_value<std::
string> const&;
84 auto aux_rect_placement_offset() const ->
mir::optional_value<
Displacement> const&;
85 auto min_width() const ->
mir::optional_value<
Width> const&;
86 auto min_height() const ->
mir::optional_value<
Height> const&;
87 auto max_width() const ->
mir::optional_value<
Width> const&;
88 auto max_height() const ->
mir::optional_value<
Height> const&;
89 auto width_inc() const ->
mir::optional_value<
DeltaX> const&;
90 auto height_inc() const ->
mir::optional_value<
DeltaY> const&;
94 auto parent() const ->
mir::optional_value<std::weak_ptr<
mir::scene::Surface>> const&;
95 auto input_shape() const ->
mir::optional_value<std::vector<
Rectangle>> const&;
99 auto userdata() const ->
mir::optional_value<std::shared_ptr<
void>> const&;
103 auto
name() ->
mir::optional_value<std::
string>&;
123 auto parent() ->
mir::optional_value<std::weak_ptr<
mir::scene::Surface>>&;
128 auto userdata() ->
mir::optional_value<std::shared_ptr<
void>>&;
150 auto exclusive_rect() const ->
mir::optional_value<
mir::optional_value<
mir::geometry::
Rectangle>> const&;
157 auto application_id() const ->
mir::optional_value<std::
string> const&;
158 auto application_id() ->
mir::optional_value<std::
string>&;
163 std::unique_ptr<Self> self;
167 #endif //MIRAL_WINDOW_SPECIFICATION_H