Mir
|
#include <window_info.h>
Public Types | |
using | AspectRatio = WindowSpecification::AspectRatio |
Public Member Functions | |
WindowInfo () | |
WindowInfo (Window const &window, WindowSpecification const ¶ms) | |
~WindowInfo () | |
WindowInfo (WindowInfo const &that) | |
WindowInfo & | operator= (WindowInfo const &that) |
bool | can_be_active () const |
bool | can_morph_to (MirWindowType new_type) const |
bool | must_have_parent () const |
bool | must_not_have_parent () const |
bool | is_visible () const |
void | constrain_resize (mir::geometry::Point &requested_pos, mir::geometry::Size &requested_size) const |
auto | window () const -> Window & |
auto | name () const -> std::string |
auto | type () const -> MirWindowType |
auto | state () const -> MirWindowState |
auto | restore_rect () const -> mir::geometry::Rectangle |
auto | parent () const -> Window |
auto | children () const -> std::vector< Window > const & |
bool | has_output_id () const |
auto | output_id () const -> int |
auto | preferred_orientation () const -> MirOrientationMode |
auto | confine_pointer () const -> MirPointerConfinementState |
auto | shell_chrome () const -> MirShellChrome |
auto | userdata () const -> std::shared_ptr< void > |
This can be used by client code to store window manager specific information. More... | |
void | userdata (std::shared_ptr< void > userdata) |
void | swap (WindowInfo &rhs) |
auto | depth_layer () const -> MirDepthLayer |
auto | attached_edges () const -> MirPlacementGravity |
Get the edges of the output that the window is attached to (only meaningful for windows in state mir_window_state_attached) More... | |
auto | exclusive_rect () const -> mir::optional_value< mir::geometry::Rectangle > |
Mir will try to avoid occluding the area covered by this rectangle (relative to the window) (only meaningful when the window is attached to an edge) More... | |
auto | clip_area () const -> mir::optional_value< mir::geometry::Rectangle > |
Mir will not render anything outside this rectangle. More... | |
void | clip_area (mir::optional_value< mir::geometry::Rectangle > const &area) |
auto | focus_mode () const -> MirFocusMode |
How the window should gain and lose focus. More... | |
auto | min_width () const -> mir::geometry::Width |
These constrain the sizes a window may be resized to (both interactively and pragmatically). Clients can request a min/max size, but it can be overridden by the window management policy. By default, minimum values are 0 and maximum values are std::numeric_limits<int>::max() . More... | |
auto | min_height () const -> mir::geometry::Height |
auto | max_width () const -> mir::geometry::Width |
auto | max_height () const -> mir::geometry::Height |
auto | width_inc () const -> mir::geometry::DeltaX |
These control the size increments of the window. This is used in cases like a terminal that can only be resized character-by-character. Current Wayland protocols do not support this property, so it generally wont be requested by clients. By default, both are 1. More... | |
auto | height_inc () const -> mir::geometry::DeltaY |
auto | min_aspect () const -> AspectRatio |
These constrain the possible aspect ratio of the window. Current Wayland protocols to not support this property, so it generally wont be requested by clients. By default, min_aspect is {0U, std::numeric_limits<unsigned>::max()} and max_aspect is {std::numeric_limits<unsigned>::max(), 0U} . More... | |
auto | max_aspect () const -> AspectRatio |
auto | application_id () const -> std::string |
The D-bus service name and basename of the app's .desktop file See http://standards.freedesktop.org/desktop-entry-spec/. More... | |
Static Public Member Functions | |
static bool | needs_titlebar (MirWindowType type) |
Friends | |
class | BasicWindowManager |
miral::WindowInfo::WindowInfo | ( | ) |
miral::WindowInfo::WindowInfo | ( | Window const & | window, |
WindowSpecification const & | params | ||
) |
miral::WindowInfo::~WindowInfo | ( | ) |
|
explicit |
auto miral::WindowInfo::application_id | ( | ) | const -> std::string |
The D-bus service name and basename of the app's .desktop file See http://standards.freedesktop.org/desktop-entry-spec/.
auto miral::WindowInfo::attached_edges | ( | ) | const -> MirPlacementGravity |
Get the edges of the output that the window is attached to (only meaningful for windows in state mir_window_state_attached)
bool miral::WindowInfo::can_be_active | ( | ) | const |
bool miral::WindowInfo::can_morph_to | ( | MirWindowType | new_type | ) | const |
auto miral::WindowInfo::children | ( | ) | const -> std::vector< Window > const & |
auto miral::WindowInfo::clip_area | ( | ) | const -> mir::optional_value< mir::geometry::Rectangle > |
Mir will not render anything outside this rectangle.
void miral::WindowInfo::clip_area | ( | mir::optional_value< mir::geometry::Rectangle > const & | area | ) |
auto miral::WindowInfo::confine_pointer | ( | ) | const -> MirPointerConfinementState |
void miral::WindowInfo::constrain_resize | ( | mir::geometry::Point & | requested_pos, |
mir::geometry::Size & | requested_size | ||
) | const |
auto miral::WindowInfo::depth_layer | ( | ) | const -> MirDepthLayer |
auto miral::WindowInfo::exclusive_rect | ( | ) | const -> mir::optional_value< mir::geometry::Rectangle > |
Mir will try to avoid occluding the area covered by this rectangle (relative to the window) (only meaningful when the window is attached to an edge)
auto miral::WindowInfo::focus_mode | ( | ) | const -> MirFocusMode |
How the window should gain and lose focus.
bool miral::WindowInfo::has_output_id | ( | ) | const |
auto miral::WindowInfo::height_inc | ( | ) | const -> mir::geometry::DeltaY |
bool miral::WindowInfo::is_visible | ( | ) | const |
auto miral::WindowInfo::max_aspect | ( | ) | const -> AspectRatio |
auto miral::WindowInfo::max_height | ( | ) | const -> mir::geometry::Height |
auto miral::WindowInfo::max_width | ( | ) | const -> mir::geometry::Width |
auto miral::WindowInfo::min_aspect | ( | ) | const -> AspectRatio |
These constrain the possible aspect ratio of the window. Current Wayland protocols to not support this property, so it generally wont be requested by clients. By default, min_aspect is {0U, std::numeric_limits<unsigned>::max()}
and max_aspect is {std::numeric_limits<unsigned>::max(), 0U}
.
auto miral::WindowInfo::min_height | ( | ) | const -> mir::geometry::Height |
auto miral::WindowInfo::min_width | ( | ) | const -> mir::geometry::Width |
These constrain the sizes a window may be resized to (both interactively and pragmatically). Clients can request a min/max size, but it can be overridden by the window management policy. By default, minimum values are 0 and maximum values are std::numeric_limits<int>::max()
.
bool miral::WindowInfo::must_have_parent | ( | ) | const |
bool miral::WindowInfo::must_not_have_parent | ( | ) | const |
auto miral::WindowInfo::name | ( | ) | const -> std::string |
|
static |
WindowInfo& miral::WindowInfo::operator= | ( | WindowInfo const & | that | ) |
auto miral::WindowInfo::output_id | ( | ) | const -> int |
auto miral::WindowInfo::parent | ( | ) | const -> Window |
auto miral::WindowInfo::preferred_orientation | ( | ) | const -> MirOrientationMode |
auto miral::WindowInfo::restore_rect | ( | ) | const -> mir::geometry::Rectangle |
auto miral::WindowInfo::shell_chrome | ( | ) | const -> MirShellChrome |
auto miral::WindowInfo::state | ( | ) | const -> MirWindowState |
|
inline |
auto miral::WindowInfo::type | ( | ) | const -> MirWindowType |
auto miral::WindowInfo::userdata | ( | ) | const -> std::shared_ptr< void > |
This can be used by client code to store window manager specific information.
void miral::WindowInfo::userdata | ( | std::shared_ptr< void > | userdata | ) |
auto miral::WindowInfo::width_inc | ( | ) | const -> mir::geometry::DeltaX |
These control the size increments of the window. This is used in cases like a terminal that can only be resized character-by-character. Current Wayland protocols do not support this property, so it generally wont be requested by clients. By default, both are 1.
auto miral::WindowInfo::window | ( | ) | const -> Window & |
|
friend |
Copyright © 2012-2022
Canonical Ltd.
Generated on Fri Aug 26 13:27:37 UTC 2022
This documentation is licensed under the GPL version 2 or 3.