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

#include <window_specification.h>

Classes

struct  AspectRatio
 

Public Types

enum  BufferUsage { BufferUsage::undefined, BufferUsage::hardware, BufferUsage::software }
 
enum  InputReceptionMode { InputReceptionMode::normal, InputReceptionMode::receives_all_input }
 

Public Member Functions

 WindowSpecification ()
 
 WindowSpecification (WindowSpecification const &that)
 
auto operator= (WindowSpecification const &that) -> WindowSpecification &
 
 WindowSpecification (mir::shell::SurfaceSpecification const &spec)
 
 WindowSpecification (mir::scene::SurfaceCreationParameters const &params)
 
void update (mir::scene::SurfaceCreationParameters &params) const
 
 ~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 > &
 
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 min_width () -> mir::optional_value< Width > &
 
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 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 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 > &
 

Member Enumeration Documentation

◆ BufferUsage

Enumerator
undefined 
hardware 

rendering using GL

software 

rendering using direct pixel access

◆ InputReceptionMode

Enumerator
normal 
receives_all_input 

Constructor & Destructor Documentation

◆ WindowSpecification() [1/4]

miral::WindowSpecification::WindowSpecification ( )

◆ WindowSpecification() [2/4]

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

◆ WindowSpecification() [3/4]

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

◆ WindowSpecification() [4/4]

miral::WindowSpecification::WindowSpecification ( mir::scene::SurfaceCreationParameters const &  params)

◆ ~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.

◆ 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 > &

◆ 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 &

◆ 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 > &

◆ 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 &

◆ update()

void miral::WindowSpecification::update ( mir::scene::SurfaceCreationParameters &  params) 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 &

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

Copyright © 2012-2021 Canonical Ltd.
Generated on Wed Nov 24 08:21:43 UTC 2021
This documentation is licensed under the GPL version 2 or 3.