123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494(* This file was generated automatically by wayland-scanner-ocaml *)openstructmoduleProxy=Wayland.ProxymoduleIface_reg=Wayland.Iface_regmoduleMetadata=Wayland.MetadataendmoduleXdg_wm_base=structtypet=[`Xdg_wm_base]type_Metadata.ty+=T:[`Xdg_wm_base]Metadata.tytypeversions=[`V1|`V2|`V3]letinterface="xdg_wm_base"letversion=3lmoduleError=structtypet=|Role:t|Defunct_surfaces:t|Not_the_topmost_popup:t|Invalid_popup_parent:t|Invalid_surface_state:t|Invalid_positioner:tletto_int32=function|Role->0l|Defunct_surfaces->1l|Not_the_topmost_popup->2l|Invalid_popup_parent->3l|Invalid_surface_state->4l|Invalid_positioner->5lletof_int32=function|0l->Role|1l->Defunct_surfaces|2l->Not_the_topmost_popup|3l->Invalid_popup_parent|4l->Invalid_surface_state|5l->Invalid_positioner|x->Fmt.failwith"Invalid error enum value %ld"xendletrequests=function|0->"destroy",[]|1->"create_positioner",["id",`New_ID(Some"xdg_positioner")]|2->"get_xdg_surface",["id",`New_ID(Some"xdg_surface");"surface",`Object(Some"wl_surface")]|3->"pong",["serial",`Uint]|i->Proxy.unknown_requesti,[]letevents=function|0->"ping",["serial",`Uint]|i->Proxy.unknown_eventi,[]endlet()=Iface_reg.register(moduleXdg_wm_base)moduleXdg_positioner=structtypet=[`Xdg_positioner]type_Metadata.ty+=T:[`Xdg_positioner]Metadata.tytypeversions=[`V1|`V2|`V3]letinterface="xdg_positioner"letversion=3lmoduleError=structtypet=|Invalid_input:tletto_int32=function|Invalid_input->0lletof_int32=function|0l->Invalid_input|x->Fmt.failwith"Invalid error enum value %ld"xendmoduleAnchor=structtypet=|None:t|Top:t|Bottom:t|Left:t|Right:t|Top_left:t|Bottom_left:t|Top_right:t|Bottom_right:tletto_int32=function|None->0l|Top->1l|Bottom->2l|Left->3l|Right->4l|Top_left->5l|Bottom_left->6l|Top_right->7l|Bottom_right->8lletof_int32=function|0l->None|1l->Top|2l->Bottom|3l->Left|4l->Right|5l->Top_left|6l->Bottom_left|7l->Top_right|8l->Bottom_right|x->Fmt.failwith"Invalid anchor enum value %ld"xendmoduleGravity=structtypet=|None:t|Top:t|Bottom:t|Left:t|Right:t|Top_left:t|Bottom_left:t|Top_right:t|Bottom_right:tletto_int32=function|None->0l|Top->1l|Bottom->2l|Left->3l|Right->4l|Top_left->5l|Bottom_left->6l|Top_right->7l|Bottom_right->8lletof_int32=function|0l->None|1l->Top|2l->Bottom|3l->Left|4l->Right|5l->Top_left|6l->Bottom_left|7l->Top_right|8l->Bottom_right|x->Fmt.failwith"Invalid gravity enum value %ld"xend(** Constraint adjustments.
The constraint adjustment value define ways the compositor will adjust
the position of the surface, if the unadjusted position would result
in the surface being partly constrained.
Whether a surface is considered 'constrained' is left to the compositor
to determine. For example, the surface may be partly outside the
compositor's defined 'work area', thus necessitating the child surface's
position be adjusted until it is entirely inside the work area.
The adjustments can be combined, according to a defined precedence: 1)
Flip, 2) Slide, 3) Resize. *)moduleConstraint_adjustment=structtypet=int32(** Don't move the child surface when constrained.
Don't alter the surface position even if it is constrained on some
axis, for example partially outside the edge of an output. *)letnone=0l(** Move along the x axis until unconstrained.
Slide the surface along the x axis until it is no longer constrained.
First try to slide towards the direction of the gravity on the x axis
until either the edge in the opposite direction of the gravity is
unconstrained or the edge in the direction of the gravity is
constrained.
Then try to slide towards the opposite direction of the gravity on the
x axis until either the edge in the direction of the gravity is
unconstrained or the edge in the opposite direction of the gravity is
constrained. *)letslide_x=1l(** Move along the y axis until unconstrained.
Slide the surface along the y axis until it is no longer constrained.
First try to slide towards the direction of the gravity on the y axis
until either the edge in the opposite direction of the gravity is
unconstrained or the edge in the direction of the gravity is
constrained.
Then try to slide towards the opposite direction of the gravity on the
y axis until either the edge in the direction of the gravity is
unconstrained or the edge in the opposite direction of the gravity is
constrained. *)letslide_y=2l(** Invert the anchor and gravity on the x axis.
Invert the anchor and gravity on the x axis if the surface is
constrained on the x axis. For example, if the left edge of the
surface is constrained, the gravity is 'left' and the anchor is
'left', change the gravity to 'right' and the anchor to 'right'.
If the adjusted position also ends up being constrained, the resulting
position of the flip_x adjustment will be the one before the
adjustment. *)letflip_x=4l(** Invert the anchor and gravity on the y axis.
Invert the anchor and gravity on the y axis if the surface is
constrained on the y axis. For example, if the bottom edge of the
surface is constrained, the gravity is 'bottom' and the anchor is
'bottom', change the gravity to 'top' and the anchor to 'top'.
The adjusted position is calculated given the original anchor
rectangle and offset, but with the new flipped anchor and gravity
values.
If the adjusted position also ends up being constrained, the resulting
position of the flip_y adjustment will be the one before the
adjustment. *)letflip_y=8l(** Horizontally resize the surface.
Resize the surface horizontally so that it is completely
unconstrained. *)letresize_x=16l(** Vertically resize the surface.
Resize the surface vertically so that it is completely unconstrained. *)letresize_y=32lletto_int32=Fun.idletof_int32=Fun.idendletrequests=function|0->"destroy",[]|1->"set_size",["width",`Int;"height",`Int]|2->"set_anchor_rect",["x",`Int;"y",`Int;"width",`Int;"height",`Int]|3->"set_anchor",["anchor",`Uint]|4->"set_gravity",["gravity",`Uint]|5->"set_constraint_adjustment",["constraint_adjustment",`Uint]|6->"set_offset",["x",`Int;"y",`Int]|7->"set_reactive",[]|8->"set_parent_size",["parent_width",`Int;"parent_height",`Int]|9->"set_parent_configure",["serial",`Uint]|i->Proxy.unknown_requesti,[]letevents=function|i->Proxy.unknown_eventi,[]endlet()=Iface_reg.register(moduleXdg_positioner)moduleXdg_surface=structtypet=[`Xdg_surface]type_Metadata.ty+=T:[`Xdg_surface]Metadata.tytypeversions=[`V1|`V2|`V3]letinterface="xdg_surface"letversion=3lmoduleError=structtypet=|Not_constructed:t|Already_constructed:t|Unconfigured_buffer:tletto_int32=function|Not_constructed->1l|Already_constructed->2l|Unconfigured_buffer->3lletof_int32=function|1l->Not_constructed|2l->Already_constructed|3l->Unconfigured_buffer|x->Fmt.failwith"Invalid error enum value %ld"xendletrequests=function|0->"destroy",[]|1->"get_toplevel",["id",`New_ID(Some"xdg_toplevel")]|2->"get_popup",["id",`New_ID(Some"xdg_popup");"parent",`Object(Some"xdg_surface");"positioner",`Object(Some"xdg_positioner")]|3->"set_window_geometry",["x",`Int;"y",`Int;"width",`Int;"height",`Int]|4->"ack_configure",["serial",`Uint]|i->Proxy.unknown_requesti,[]letevents=function|0->"configure",["serial",`Uint]|i->Proxy.unknown_eventi,[]endlet()=Iface_reg.register(moduleXdg_surface)moduleXdg_toplevel=structtypet=[`Xdg_toplevel]type_Metadata.ty+=T:[`Xdg_toplevel]Metadata.tytypeversions=[`V1|`V2|`V3]letinterface="xdg_toplevel"letversion=3l(** Edge values for resizing.
These values are used to indicate which edge of a surface
is being dragged in a resize operation. *)moduleResize_edge=structtypet=|None:t|Top:t|Bottom:t|Left:t|Top_left:t|Bottom_left:t|Right:t|Top_right:t|Bottom_right:tletto_int32=function|None->0l|Top->1l|Bottom->2l|Left->4l|Top_left->5l|Bottom_left->6l|Right->8l|Top_right->9l|Bottom_right->10lletof_int32=function|0l->None|1l->Top|2l->Bottom|4l->Left|5l->Top_left|6l->Bottom_left|8l->Right|9l->Top_right|10l->Bottom_right|x->Fmt.failwith"Invalid resize_edge enum value %ld"xend(** Types of state on the surface.
The different state values used on the surface. This is designed for
state values like maximized, fullscreen. It is paired with the
configure event to ensure that both the client and the compositor
setting the state can be synchronized.
States set in this way are double-buffered. They will get applied on
the next commit. *)moduleState=structtypet=|Maximized:t(** The surface is maximized.
The surface is maximized. The window geometry specified in the configure
event must be obeyed by the client.
The client should draw without shadow or other
decoration outside of the window geometry. *)|Fullscreen:t(** The surface is fullscreen.
The surface is fullscreen. The window geometry specified in the
configure event is a maximum; the client cannot resize beyond it. For
a surface to cover the whole fullscreened area, the geometry
dimensions must be obeyed by the client. For more details, see
xdg_toplevel.set_fullscreen. *)|Resizing:t(** The surface is being resized.
The surface is being resized. The window geometry specified in the
configure event is a maximum; the client cannot resize beyond it.
Clients that have aspect ratio or cell sizing configuration can use
a smaller size, however. *)|Activated:t(** The surface is now activated.
Client window decorations should be painted as if the window is
active. Do not assume this means that the window actually has
keyboard or pointer focus. *)|Tiled_left:t(** The surface is tiled.
The window is currently in a tiled layout and the left edge is
considered to be adjacent to another part of the tiling grid. *)|Tiled_right:t(** The surface is tiled.
The window is currently in a tiled layout and the right edge is
considered to be adjacent to another part of the tiling grid. *)|Tiled_top:t(** The surface is tiled.
The window is currently in a tiled layout and the top edge is
considered to be adjacent to another part of the tiling grid. *)|Tiled_bottom:t(** The surface is tiled.
The window is currently in a tiled layout and the bottom edge is
considered to be adjacent to another part of the tiling grid. *)letto_int32=function|Maximized->1l|Fullscreen->2l|Resizing->3l|Activated->4l|Tiled_left->5l|Tiled_right->6l|Tiled_top->7l|Tiled_bottom->8lletof_int32=function|1l->Maximized|2l->Fullscreen|3l->Resizing|4l->Activated|5l->Tiled_left|6l->Tiled_right|7l->Tiled_top|8l->Tiled_bottom|x->Fmt.failwith"Invalid state enum value %ld"xendletrequests=function|0->"destroy",[]|1->"set_parent",["parent",`Object(Some"xdg_toplevel")]|2->"set_title",["title",`String]|3->"set_app_id",["app_id",`String]|4->"show_window_menu",["seat",`Object(Some"wl_seat");"serial",`Uint;"x",`Int;"y",`Int]|5->"move",["seat",`Object(Some"wl_seat");"serial",`Uint]|6->"resize",["seat",`Object(Some"wl_seat");"serial",`Uint;"edges",`Uint]|7->"set_max_size",["width",`Int;"height",`Int]|8->"set_min_size",["width",`Int;"height",`Int]|9->"set_maximized",[]|10->"unset_maximized",[]|11->"set_fullscreen",["output",`Object(Some"wl_output")]|12->"unset_fullscreen",[]|13->"set_minimized",[]|i->Proxy.unknown_requesti,[]letevents=function|0->"configure",["width",`Int;"height",`Int;"states",`Array]|1->"close",[]|i->Proxy.unknown_eventi,[]endlet()=Iface_reg.register(moduleXdg_toplevel)moduleXdg_popup=structtypet=[`Xdg_popup]type_Metadata.ty+=T:[`Xdg_popup]Metadata.tytypeversions=[`V1|`V2|`V3]letinterface="xdg_popup"letversion=3lmoduleError=structtypet=|Invalid_grab:tletto_int32=function|Invalid_grab->0lletof_int32=function|0l->Invalid_grab|x->Fmt.failwith"Invalid error enum value %ld"xendletrequests=function|0->"destroy",[]|1->"grab",["seat",`Object(Some"wl_seat");"serial",`Uint]|2->"reposition",["positioner",`Object(Some"xdg_positioner");"token",`Uint]|i->Proxy.unknown_requesti,[]letevents=function|0->"configure",["x",`Int;"y",`Int;"width",`Int;"height",`Int]|1->"popup_done",[]|2->"repositioned",["token",`Uint]|i->Proxy.unknown_eventi,[]endlet()=Iface_reg.register(moduleXdg_popup)