Mir
Classes | Public Types | Public Member Functions | Friends | List of all members
miral::WindowSpecification Class Reference

#include <window_specification.h>

Classes

struct  AspectRatio
 

Public Types

enum class  InputReceptionMode { normal , receives_all_input }
 

Public Member Functions

 WindowSpecification ()
 
 WindowSpecification (WindowSpecification const &that)
 
auto operator= (WindowSpecification const &that) -> WindowSpecification &
 
 WindowSpecification (mir::shell::SurfaceSpecification const &spec)
 
 ~WindowSpecification ()
 
auto top_left () const -> mir::optional_value< Point > const &
 
auto size () const -> mir::optional_value< Size > const &
 
auto name () const -> mir::optional_value< std::string > const &
 
auto output_id () const -> mir::optional_value< int > const &
 
auto type () const -> mir::optional_value< MirWindowType > const &
 
auto state () const -> mir::optional_value< MirWindowState > const &
 
auto preferred_orientation () const -> mir::optional_value< MirOrientationMode > const &
 
auto aux_rect () const -> mir::optional_value< Rectangle > const &
 
auto placement_hints () const -> mir::optional_value< MirPlacementHints > const &
 
auto window_placement_gravity () const -> mir::optional_value< MirPlacementGravity > const &
 
auto aux_rect_placement_gravity () const -> mir::optional_value< MirPlacementGravity > const &
 
auto aux_rect_placement_offset () const -> mir::optional_value< Displacement > const &
 
auto min_width () const -> mir::optional_value< Width > const &
 
auto min_height () const -> mir::optional_value< Height > const &
 
auto max_width () const -> mir::optional_value< Width > const &
 
auto max_height () const -> mir::optional_value< Height > const &
 
auto width_inc () const -> mir::optional_value< DeltaX > const &
 
auto height_inc () const -> mir::optional_value< DeltaY > const &
 
auto min_aspect () const -> mir::optional_value< AspectRatio > const &
 
auto max_aspect () const -> mir::optional_value< AspectRatio > const &
 
auto parent () const -> mir::optional_value< std::weak_ptr< mir::scene::Surface > > const &
 
auto input_shape () const -> mir::optional_value< std::vector< Rectangle > > const &
 
auto input_mode () const -> mir::optional_value< InputReceptionMode > const &
 
auto shell_chrome () const -> mir::optional_value< MirShellChrome > const &
 
auto confine_pointer () const -> mir::optional_value< MirPointerConfinementState > const &
 
auto userdata () const -> mir::optional_value< std::shared_ptr< void > > const &
 
auto top_left () -> mir::optional_value< Point > &
 
auto size () -> mir::optional_value< Size > &
 The new size of the window frame (including any decorations). Will be adjusted based on min_width(), WindowInfo::max_width(), WindowInfo::min_height(), WindowInfo::max_height(), WindowInfo::min_aspect(), WindowInfo::max_aspect(), WindowInfo::width_inc() and WindowInfo::height_inc(). Set these to properties to their default values if they should be ignored. More...
 
auto name () -> mir::optional_value< std::string > &
 
auto output_id () -> mir::optional_value< int > &
 
auto type () -> mir::optional_value< MirWindowType > &
 
auto state () -> mir::optional_value< MirWindowState > &
 
auto preferred_orientation () -> mir::optional_value< MirOrientationMode > &
 
auto aux_rect () -> mir::optional_value< Rectangle > &
 Relative to window's surface's CONTENT offset and size (not equal to the top_left and size exposed by this interface if server-side decorations are in use) More...
 
auto placement_hints () -> mir::optional_value< MirPlacementHints > &
 
auto window_placement_gravity () -> mir::optional_value< MirPlacementGravity > &
 
auto aux_rect_placement_gravity () -> mir::optional_value< MirPlacementGravity > &
 
auto aux_rect_placement_offset () -> mir::optional_value< Displacement > &
 
auto parent () -> mir::optional_value< std::weak_ptr< mir::scene::Surface > > &
 
auto input_shape () -> mir::optional_value< std::vector< Rectangle > > &
 
auto input_mode () -> mir::optional_value< InputReceptionMode > &
 
auto shell_chrome () -> mir::optional_value< MirShellChrome > &
 
auto confine_pointer () -> mir::optional_value< MirPointerConfinementState > &
 
auto userdata () -> mir::optional_value< std::shared_ptr< void > > &
 
auto min_width () -> mir::optional_value< Width > &
 Constrains how a window can be resized, see the corresponding properties on WindowInfo for details. More...
 
auto min_height () -> mir::optional_value< Height > &
 
auto max_width () -> mir::optional_value< Width > &
 
auto max_height () -> mir::optional_value< Height > &
 
auto width_inc () -> mir::optional_value< DeltaX > &
 
auto height_inc () -> mir::optional_value< DeltaY > &
 
auto min_aspect () -> mir::optional_value< AspectRatio > &
 
auto max_aspect () -> mir::optional_value< AspectRatio > &
 
auto depth_layer () const -> mir::optional_value< MirDepthLayer > const &
 The depth layer of a child window is updated with the depth layer of its parent, but can be overridden. More...
 
auto depth_layer () -> mir::optional_value< MirDepthLayer > &
 
auto attached_edges () const -> mir::optional_value< MirPlacementGravity > const &
 The set of window eges that are attched to edges of the output If attached to perpendicular edges, it is attached to the corner where the two edges intersect If attached to oposite edges (eg left and right), it is stretched across the output in that direction If all edges are specified, it takes up the entire output. More...
 
auto attached_edges () -> mir::optional_value< MirPlacementGravity > &
 
auto exclusive_rect () const -> mir::optional_value< mir::optional_value< mir::geometry::Rectangle > > const &
 The area over which the window should not be occluded Only meaningful for windows attached to an edge If the outer optional is unset (the default), the window's exclusive rect is not changed by this spec If the outer optional is set but the inner is not, the window's exclusive rect is cleared. More...
 
auto exclusive_rect () -> mir::optional_value< mir::optional_value< mir::geometry::Rectangle > > &
 
auto application_id () const -> mir::optional_value< std::string > const &
 The D-bus service name and basename of the app's .desktop file See http://standards.freedesktop.org/desktop-entry-spec/. More...
 
auto application_id () -> mir::optional_value< std::string > &
 
auto server_side_decorated () const -> mir::optional_value< bool > const &
 If this window should have server-side decorations provided by Mir Currently, Mir only respects this value during surface construction. More...
 
auto server_side_decorated () -> mir::optional_value< bool > &
 
auto focus_mode () const -> mir::optional_value< MirFocusMode > const &
 How the window should gain and lose focus. More...
 
auto focus_mode () -> mir::optional_value< MirFocusMode > &
 

Friends

auto make_surface_spec (WindowSpecification const &miral_spec) -> mir::shell::SurfaceSpecification
 

Member Enumeration Documentation

◆ InputReceptionMode

Enumerator
normal 
receives_all_input 

Constructor & Destructor Documentation

◆ WindowSpecification() [1/3]

miral::WindowSpecification::WindowSpecification ( )

◆ WindowSpecification() [2/3]

miral::WindowSpecification::WindowSpecification ( WindowSpecification const &  that)

◆ WindowSpecification() [3/3]

miral::WindowSpecification::WindowSpecification ( mir::shell::SurfaceSpecification const &  spec)

◆ ~WindowSpecification()

miral::WindowSpecification::~WindowSpecification ( )

Member Function Documentation

◆ application_id() [1/2]

auto miral::WindowSpecification::application_id ( ) -> mir::optional_value< std::string > &

◆ application_id() [2/2]

auto miral::WindowSpecification::application_id ( ) const -> mir::optional_value< std::string > const &

The D-bus service name and basename of the app's .desktop file See http://standards.freedesktop.org/desktop-entry-spec/.

◆ attached_edges() [1/2]

auto miral::WindowSpecification::attached_edges ( ) -> mir::optional_value< MirPlacementGravity > &

◆ attached_edges() [2/2]

auto miral::WindowSpecification::attached_edges ( ) const -> mir::optional_value< MirPlacementGravity > const &

The set of window eges that are attched to edges of the output If attached to perpendicular edges, it is attached to the corner where the two edges intersect If attached to oposite edges (eg left and right), it is stretched across the output in that direction If all edges are specified, it takes up the entire output.

◆ aux_rect() [1/2]

auto miral::WindowSpecification::aux_rect ( ) -> mir::optional_value< Rectangle > &

Relative to window's surface's CONTENT offset and size (not equal to the top_left and size exposed by this interface if server-side decorations are in use)

◆ aux_rect() [2/2]

auto miral::WindowSpecification::aux_rect ( ) const -> mir::optional_value< Rectangle > const &

◆ aux_rect_placement_gravity() [1/2]

auto miral::WindowSpecification::aux_rect_placement_gravity ( ) -> mir::optional_value< MirPlacementGravity > &

◆ aux_rect_placement_gravity() [2/2]

auto miral::WindowSpecification::aux_rect_placement_gravity ( ) const -> mir::optional_value< MirPlacementGravity > const &

◆ aux_rect_placement_offset() [1/2]

auto miral::WindowSpecification::aux_rect_placement_offset ( ) -> mir::optional_value< Displacement > &

◆ aux_rect_placement_offset() [2/2]

auto miral::WindowSpecification::aux_rect_placement_offset ( ) const -> mir::optional_value< Displacement > const &

◆ confine_pointer() [1/2]

auto miral::WindowSpecification::confine_pointer ( ) -> mir::optional_value< MirPointerConfinementState > &

◆ confine_pointer() [2/2]

auto miral::WindowSpecification::confine_pointer ( ) const -> mir::optional_value< MirPointerConfinementState > const &

◆ depth_layer() [1/2]

auto miral::WindowSpecification::depth_layer ( ) -> mir::optional_value< MirDepthLayer > &

◆ depth_layer() [2/2]

auto miral::WindowSpecification::depth_layer ( ) const -> mir::optional_value< MirDepthLayer > const &

The depth layer of a child window is updated with the depth layer of its parent, but can be overridden.

◆ exclusive_rect() [1/2]

auto miral::WindowSpecification::exclusive_rect ( ) -> mir::optional_value< mir::optional_value< mir::geometry::Rectangle > > &

◆ exclusive_rect() [2/2]

auto miral::WindowSpecification::exclusive_rect ( ) const -> mir::optional_value< mir::optional_value< mir::geometry::Rectangle > > const &

The area over which the window should not be occluded Only meaningful for windows attached to an edge If the outer optional is unset (the default), the window's exclusive rect is not changed by this spec If the outer optional is set but the inner is not, the window's exclusive rect is cleared.

◆ focus_mode() [1/2]

auto miral::WindowSpecification::focus_mode ( ) -> mir::optional_value< MirFocusMode > &

◆ focus_mode() [2/2]

auto miral::WindowSpecification::focus_mode ( ) const -> mir::optional_value< MirFocusMode > const &

How the window should gain and lose focus.

Remarks
Since MirAL 3.3

◆ height_inc() [1/2]

auto miral::WindowSpecification::height_inc ( ) -> mir::optional_value< DeltaY > &

◆ height_inc() [2/2]

auto miral::WindowSpecification::height_inc ( ) const -> mir::optional_value< DeltaY > const &

◆ input_mode() [1/2]

auto miral::WindowSpecification::input_mode ( ) -> mir::optional_value< InputReceptionMode > &

◆ input_mode() [2/2]

auto miral::WindowSpecification::input_mode ( ) const -> mir::optional_value< InputReceptionMode > const &

◆ input_shape() [1/2]

auto miral::WindowSpecification::input_shape ( ) -> mir::optional_value< std::vector< Rectangle > > &

◆ input_shape() [2/2]

auto miral::WindowSpecification::input_shape ( ) const -> mir::optional_value< std::vector< Rectangle > > const &

◆ max_aspect() [1/2]

auto miral::WindowSpecification::max_aspect ( ) -> mir::optional_value< AspectRatio > &

◆ max_aspect() [2/2]

auto miral::WindowSpecification::max_aspect ( ) const -> mir::optional_value< AspectRatio > const &

◆ max_height() [1/2]

auto miral::WindowSpecification::max_height ( ) -> mir::optional_value< Height > &

◆ max_height() [2/2]

auto miral::WindowSpecification::max_height ( ) const -> mir::optional_value< Height > const &

◆ max_width() [1/2]

auto miral::WindowSpecification::max_width ( ) -> mir::optional_value< Width > &

◆ max_width() [2/2]

auto miral::WindowSpecification::max_width ( ) const -> mir::optional_value< Width > const &

◆ min_aspect() [1/2]

auto miral::WindowSpecification::min_aspect ( ) -> mir::optional_value< AspectRatio > &

◆ min_aspect() [2/2]

auto miral::WindowSpecification::min_aspect ( ) const -> mir::optional_value< AspectRatio > const &

◆ min_height() [1/2]

auto miral::WindowSpecification::min_height ( ) -> mir::optional_value< Height > &

◆ min_height() [2/2]

auto miral::WindowSpecification::min_height ( ) const -> mir::optional_value< Height > const &

◆ min_width() [1/2]

auto miral::WindowSpecification::min_width ( ) -> mir::optional_value< Width > &

Constrains how a window can be resized, see the corresponding properties on WindowInfo for details.

◆ min_width() [2/2]

auto miral::WindowSpecification::min_width ( ) const -> mir::optional_value< Width > const &

◆ name() [1/2]

auto miral::WindowSpecification::name ( ) -> mir::optional_value< std::string > &

◆ name() [2/2]

auto miral::WindowSpecification::name ( ) const -> mir::optional_value< std::string > const &

◆ operator=()

auto miral::WindowSpecification::operator= ( WindowSpecification const &  that) -> WindowSpecification &

◆ output_id() [1/2]

auto miral::WindowSpecification::output_id ( ) -> mir::optional_value< int > &

◆ output_id() [2/2]

auto miral::WindowSpecification::output_id ( ) const -> mir::optional_value< int > const &

◆ parent() [1/2]

auto miral::WindowSpecification::parent ( ) -> mir::optional_value< std::weak_ptr< mir::scene::Surface > > &

◆ parent() [2/2]

auto miral::WindowSpecification::parent ( ) const -> mir::optional_value< std::weak_ptr< mir::scene::Surface > > const &

◆ placement_hints() [1/2]

auto miral::WindowSpecification::placement_hints ( ) -> mir::optional_value< MirPlacementHints > &

◆ placement_hints() [2/2]

auto miral::WindowSpecification::placement_hints ( ) const -> mir::optional_value< MirPlacementHints > const &

◆ preferred_orientation() [1/2]

auto miral::WindowSpecification::preferred_orientation ( ) -> mir::optional_value< MirOrientationMode > &

◆ preferred_orientation() [2/2]

auto miral::WindowSpecification::preferred_orientation ( ) const -> mir::optional_value< MirOrientationMode > const &

◆ server_side_decorated() [1/2]

auto miral::WindowSpecification::server_side_decorated ( ) -> mir::optional_value< bool > &

◆ server_side_decorated() [2/2]

auto miral::WindowSpecification::server_side_decorated ( ) const -> mir::optional_value< bool > const &

If this window should have server-side decorations provided by Mir Currently, Mir only respects this value during surface construction.

◆ shell_chrome() [1/2]

auto miral::WindowSpecification::shell_chrome ( ) -> mir::optional_value< MirShellChrome > &

◆ shell_chrome() [2/2]

auto miral::WindowSpecification::shell_chrome ( ) const -> mir::optional_value< MirShellChrome > const &

◆ size() [1/2]

auto miral::WindowSpecification::size ( ) -> mir::optional_value< Size > &

The new size of the window frame (including any decorations). Will be adjusted based on min_width(), WindowInfo::max_width(), WindowInfo::min_height(), WindowInfo::max_height(), WindowInfo::min_aspect(), WindowInfo::max_aspect(), WindowInfo::width_inc() and WindowInfo::height_inc(). Set these to properties to their default values if they should be ignored.

◆ size() [2/2]

auto miral::WindowSpecification::size ( ) const -> mir::optional_value< Size > const &

◆ state() [1/2]

auto miral::WindowSpecification::state ( ) -> mir::optional_value< MirWindowState > &

◆ state() [2/2]

auto miral::WindowSpecification::state ( ) const -> mir::optional_value< MirWindowState > const &

◆ top_left() [1/2]

auto miral::WindowSpecification::top_left ( ) -> mir::optional_value< Point > &

◆ top_left() [2/2]

auto miral::WindowSpecification::top_left ( ) const -> mir::optional_value< Point > const &

◆ type() [1/2]

auto miral::WindowSpecification::type ( ) -> mir::optional_value< MirWindowType > &

◆ type() [2/2]

auto miral::WindowSpecification::type ( ) const -> mir::optional_value< MirWindowType > const &

◆ userdata() [1/2]

auto miral::WindowSpecification::userdata ( ) -> mir::optional_value< std::shared_ptr< void > > &

◆ userdata() [2/2]

auto miral::WindowSpecification::userdata ( ) const -> mir::optional_value< std::shared_ptr< void > > const &

◆ width_inc() [1/2]

auto miral::WindowSpecification::width_inc ( ) -> mir::optional_value< DeltaX > &

◆ width_inc() [2/2]

auto miral::WindowSpecification::width_inc ( ) const -> mir::optional_value< DeltaX > const &

◆ window_placement_gravity() [1/2]

auto miral::WindowSpecification::window_placement_gravity ( ) -> mir::optional_value< MirPlacementGravity > &

◆ window_placement_gravity() [2/2]

auto miral::WindowSpecification::window_placement_gravity ( ) const -> mir::optional_value< MirPlacementGravity > const &

Friends And Related Function Documentation

◆ make_surface_spec

auto make_surface_spec ( WindowSpecification const &  miral_spec) -> mir::shell::SurfaceSpecification
friend

The documentation for this class was generated from the following file:

Copyright © 2012-2023 Canonical Ltd.
Generated on Tue 2 May 10:01:24 UTC 2023
This documentation is licensed under the GPL version 2 or 3.