Class Wl_surface.v5

Handler for a proxy with version >= 5.

constraint 'a = [< `V5 | `V6 ]
method private virtual on_enter : [> `V5 | `V6 ] t -> output: ([ `Wl_output ], [> {Imports}1.Wl_output.versions ], [ `Client ]) Wayland__.Proxy.t -> unit

Surface enters an output.

This is emitted whenever a surface's creation, movement, or resizing results in some part of it being within the scanout region of an output.

Note that a surface may be overlapping with zero or more outputs.

method private virtual on_leave : [> `V5 | `V6 ] t -> output: ([ `Wl_output ], [> {Imports}1.Wl_output.versions ], [ `Client ]) Wayland__.Proxy.t -> unit

Surface leaves an output.

This is emitted whenever a surface's creation, movement, or resizing results in it no longer having any part of it within the scanout region of an output.

Clients should not use the number of outputs the surface is on for frame throttling purposes. The surface might be hidden even if no leave event has been sent, and the compositor might expect new surface content updates even if no enter event has been sent. The frame event should be used instead.

method private virtual on_preferred_buffer_scale : [> `V6 ] t -> factor:int32 -> unit

Preferred buffer scale for the surface.

This event indicates the preferred buffer scale for this surface. It is sent whenever the compositor's preference changes.

Before receiving this event the preferred buffer scale for this surface is 1.

It is intended that scaling aware clients use this event to scale their content and use wl_surface.set_buffer_scale to indicate the scale they have rendered with. This allows clients to supply a higher detail buffer.

The compositor shall emit a scale value greater than 0.

method private virtual on_preferred_buffer_transform : [> `V6 ] t -> transform:{Imports}1.Wl_output.Transform.t -> unit

Preferred buffer transform for the surface.

This event indicates the preferred buffer transform for this surface. It is sent whenever the compositor's preference changes.

Before receiving this event the preferred buffer transform for this surface is normal.

It is intended that transform aware clients use this event to apply the transform to their content and use wl_surface.set_buffer_transform to indicate the transform they have rendered with.

method min_version : int32