.TH "wayland::server::zxdg_output_v1_t" 3 "Wed May 3 2023" "Version 1.0.0" "Wayland++" \" -*- nroff -*- .ad l .nh .SH NAME wayland::server::zxdg_output_v1_t \- compositor logical output region .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits wayland::server::resource_t\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "std::function< void()> & \fBon_destroy\fP ()" .br .RI "destroy the xdg_output object " .ti -1c .RI "void \fBlogical_position\fP (int32_t x, int32_t y, bool post=true)" .br .RI "position of the output within the global compositor space " .ti -1c .RI "void \fBlogical_size\fP (int32_t width, int32_t height, bool post=true)" .br .RI "size of the output in the global compositor space " .ti -1c .RI "void \fBdone\fP (bool post=true)" .br .RI "all information about the output have been sent " .ti -1c .RI "void \fBname\fP (std::string const &name, bool post=true)" .br .RI "name of this output " .ti -1c .RI "bool \fBcan_name\fP () const" .br .RI "Check whether the \fBname\fP function is available with the currently bound version of the protocol\&. " .ti -1c .RI "void \fBdescription\fP (std::string const &description, bool post=true)" .br .RI "human-readable description of this output " .ti -1c .RI "bool \fBcan_description\fP () const" .br .RI "Check whether the \fBdescription\fP function is available with the currently bound version of the protocol\&. " .ti -1c .RI "bool \fBproxy_has_object\fP () const" .br .RI "Check whether this wrapper actually wraps an object\&. " .ti -1c .RI "void \fBpost_no_memory\fP () const" .br .ti -1c .RI "uint32_t \fBget_id\fP () const" .br .ti -1c .RI "client_t \fBget_client\fP () const" .br .ti -1c .RI "unsigned int \fBget_version\fP () const" .br .ti -1c .RI "std::string \fBget_class\fP ()" .br .in -1c .SS "Static Public Attributes" .in +1c .ti -1c .RI "static constexpr std::uint32_t \fBlogical_position_since_version\fP = 1" .br .RI "Minimum protocol version required for the \fBlogical_position\fP function\&. " .ti -1c .RI "static constexpr std::uint32_t \fBlogical_size_since_version\fP = 1" .br .RI "Minimum protocol version required for the \fBlogical_size\fP function\&. " .ti -1c .RI "static constexpr std::uint32_t \fBdone_since_version\fP = 1" .br .RI "Minimum protocol version required for the \fBdone\fP function\&. " .ti -1c .RI "static constexpr std::uint32_t \fBname_since_version\fP = 2" .br .RI "Minimum protocol version required for the \fBname\fP function\&. " .ti -1c .RI "static constexpr std::uint32_t \fBdescription_since_version\fP = 2" .br .RI "Minimum protocol version required for the \fBdescription\fP function\&. " .in -1c .SH "Detailed Description" .PP compositor logical output region An xdg_output describes part of the compositor geometry\&. .PP This typically corresponds to a monitor that displays part of the compositor space\&. .PP For objects version 3 onwards, after all xdg_output properties have been sent (when the object is created and when properties are updated), a wl_output\&.done event is sent\&. This allows changes to the output properties to be seen as atomic, even if they happen via multiple events\&. .PP Definition at line \fB8562\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SH "Member Function Documentation" .PP .SS "bool zxdg_output_v1_t::can_description () const" .PP Check whether the \fBdescription\fP function is available with the currently bound version of the protocol\&. .PP Definition at line \fB8149\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "bool zxdg_output_v1_t::can_name () const" .PP Check whether the \fBname\fP function is available with the currently bound version of the protocol\&. .PP Definition at line \fB8139\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void zxdg_output_v1_t::description (std::string const & description, bool post = \fCtrue\fP)" .PP human-readable description of this output .PP \fBParameters\fP .RS 4 \fIdescription\fP output description .RE .PP Many compositors can produce human-readable descriptions of their outputs\&. The client may wish to know this description as well, to communicate the user for various purposes\&. .PP The description is a UTF-8 string with no convention defined for its contents\&. Examples might include 'Foocorp 11" Display' or 'Virtual X11 output via :1'\&. .PP The description event is sent after creating an xdg_output (see xdg_output_manager\&.get_xdg_output) and whenever the description changes\&. The description is optional, and may not be sent at all\&. .PP For objects of version 2 and lower, this event is only sent once per xdg_output, and the description does not change over the lifetime of the wl_output global\&. .PP Definition at line \fB8144\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void zxdg_output_v1_t::done (bool post = \fCtrue\fP)" .PP all information about the output have been sent This event is sent after all other properties of an xdg_output have been sent\&. .PP This allows changes to the xdg_output properties to be seen as atomic, even if they happen via multiple events\&. .PP For objects version 3 onwards, this event is deprecated\&. Compositors are not required to send it anymore and must send wl_output\&.done instead\&. .PP Definition at line \fB8129\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "std::string wayland::server::resource_t::get_class ()\fC [inherited]\fP" Retrieve the interface name (class) of a resource object\&. .PP \fBReturns\fP .RS 4 Interface name of the resource object\&. .RE .PP .SS "client_t wayland::server::resource_t::get_client () const\fC [inherited]\fP" Get the associated client .PP \fBReturns\fP .RS 4 the client that owns the resource\&. .RE .PP .SS "uint32_t wayland::server::resource_t::get_id () const\fC [inherited]\fP" Get the internal ID of the resource .PP \fBReturns\fP .RS 4 the internal ID of the resource .RE .PP .SS "unsigned int wayland::server::resource_t::get_version () const\fC [inherited]\fP" Get interface version .PP \fBReturns\fP .RS 4 Interface version this resource has been constructed with\&. .RE .PP .SS "void zxdg_output_v1_t::logical_position (int32_t x, int32_t y, bool post = \fCtrue\fP)" .PP position of the output within the global compositor space .PP \fBParameters\fP .RS 4 \fIx\fP x position within the global compositor space .br \fIy\fP y position within the global compositor space .RE .PP The position event describes the location of the wl_output within the global compositor space\&. .PP The logical_position event is sent after creating an xdg_output (see xdg_output_manager\&.get_xdg_output) and whenever the location of the output changes within the global compositor space\&. .PP Definition at line \fB8119\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void zxdg_output_v1_t::logical_size (int32_t width, int32_t height, bool post = \fCtrue\fP)" .PP size of the output in the global compositor space .PP \fBParameters\fP .RS 4 \fIwidth\fP width in global compositor space .br \fIheight\fP height in global compositor space .RE .PP The logical_size event describes the size of the output in the global compositor space\&. .PP For example, a surface without any buffer scale, transformation nor rotation set, with the size matching the logical_size will have the same size as the corresponding output when displayed\&. .PP Most regular Wayland clients should not pay attention to the logical size and would rather rely on xdg_shell interfaces\&. .PP Some clients such as Xwayland, however, need this to configure their surfaces in the global compositor space as the compositor may apply a different scale from what is advertised by the output scaling property (to achieve fractional scaling, for example)\&. .PP For example, for a wl_output mode 3840×2160 and a scale factor 2: .PP .IP "\(bu" 2 A compositor not scaling the surface buffers will advertise a logical size of 3840×2160, .IP "\(bu" 2 A compositor automatically scaling the surface buffers will advertise a logical size of 1920×1080, .IP "\(bu" 2 A compositor using a fractional scale of 1\&.5 will advertise a logical size of 2560×1440\&. .PP .PP For example, for a wl_output mode 1920×1080 and a 90 degree rotation, the compositor will advertise a logical size of 1080x1920\&. .PP The logical_size event is sent after creating an xdg_output (see xdg_output_manager\&.get_xdg_output) and whenever the logical size of the output changes, either as a result of a change in the applied scale or because of a change in the corresponding output mode(see wl_output\&.mode) or transform (see wl_output\&.transform)\&. .PP Definition at line \fB8124\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void zxdg_output_v1_t::name (std::string const & name, bool post = \fCtrue\fP)" .PP name of this output .PP \fBParameters\fP .RS 4 \fIname\fP output name .RE .PP Many compositors will assign names to their outputs, show them to the user, allow them to be configured by name, etc\&. The client may wish to know this name as well to offer the user similar behaviors\&. .PP The naming convention is compositor defined, but limited to alphanumeric characters and dashes (-)\&. Each name is unique among all wl_output globals, but if a wl_output global is destroyed the same name may be reused later\&. The names will also remain consistent across sessions with the same hardware and software configuration\&. .PP Examples of names include 'HDMI-A-1', 'WL-1', 'X11-1', etc\&. However, do not assume that the name is a reflection of an underlying DRM connector, X11 connection, etc\&. .PP The name event is sent after creating an xdg_output (see xdg_output_manager\&.get_xdg_output)\&. This event is only sent once per xdg_output, and the name does not change over the lifetime of the wl_output global\&. .PP Definition at line \fB8134\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "std::function< void()> & zxdg_output_v1_t::on_destroy ()" .PP destroy the xdg_output object Using this request a client can tell the server that it is not going to use the xdg_output object anymore\&. .PP Definition at line \fB8113\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void wayland::server::resource_t::post_no_memory () const\fC [inherited]\fP" Post 'not enough memory' error to the client .PP If the compositor has not enough memory to fulfill a certail request of the client, this function can be called to notify the client of this circumstance\&. .SS "bool wayland::server::resource_t::proxy_has_object () const\fC [inherited]\fP" .PP Check whether this wrapper actually wraps an object\&. .PP \fBReturns\fP .RS 4 true if there is an underlying object, false if this wrapper is empty .RE .PP .SH "Member Data Documentation" .PP .SS "constexpr std::uint32_t wayland::server::zxdg_output_v1_t::description_since_version = 2\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBdescription\fP function\&. .PP Definition at line \fB8737\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SS "constexpr std::uint32_t wayland::server::zxdg_output_v1_t::done_since_version = 1\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBdone\fP function\&. .PP Definition at line \fB8677\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SS "constexpr std::uint32_t wayland::server::zxdg_output_v1_t::logical_position_since_version = 1\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBlogical_position\fP function\&. .PP Definition at line \fB8612\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SS "constexpr std::uint32_t wayland::server::zxdg_output_v1_t::logical_size_since_version = 1\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBlogical_size\fP function\&. .PP Definition at line \fB8658\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SS "constexpr std::uint32_t wayland::server::zxdg_output_v1_t::name_since_version = 2\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBname\fP function\&. .PP Definition at line \fB8706\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SH "Author" .PP Generated automatically by Doxygen for Wayland++ from the source code\&.