package ocgtk

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Ocgtk_gdk.Gdk_enums

type axisuse = [
  1. | `IGNORE
    (*

    the axis is used as the x axis.

    *)
  2. | `X
    (*

    the axis is used as the y axis.

    *)
  3. | `Y
    (*

    the axis is used as the scroll x delta

    *)
  4. | `DELTA_X
    (*

    the axis is used as the scroll y delta

    *)
  5. | `DELTA_Y
    (*

    the axis is used for pressure information.

    *)
  6. | `PRESSURE
    (*

    the axis is used for x tilt information.

    *)
  7. | `XTILT
    (*

    the axis is used for y tilt information.

    *)
  8. | `YTILT
    (*

    the axis is used for wheel information.

    *)
  9. | `WHEEL
    (*

    the axis is used for pen/tablet distance information

    *)
  10. | `DISTANCE
    (*

    the axis is used for pen rotation information

    *)
  11. | `ROTATION
    (*

    the axis is used for pen slider information

    *)
  12. | `SLIDER
    (*

    a constant equal to the numerically highest axis value.

    *)
  13. | `LAST
]
val axisuse_of_int : int -> axisuse
val axisuse_to_int : axisuse -> int
type crossingmode = [
  1. | `NORMAL
    (*

    crossing because a grab is activated.

    *)
  2. | `GRAB
    (*

    crossing because a grab is deactivated.

    *)
  3. | `UNGRAB
    (*

    crossing because a GTK grab is activated.

    *)
  4. | `GTK_GRAB
    (*

    crossing because a GTK grab is deactivated.

    *)
  5. | `GTK_UNGRAB
    (*

    crossing because a GTK widget changed state (e.g. sensitivity).

    *)
  6. | `STATE_CHANGED
    (*

    crossing because a touch sequence has begun, this event is synthetic as the pointer might have not left the surface.

    *)
  7. | `TOUCH_BEGIN
    (*

    crossing because a touch sequence has ended, this event is synthetic as the pointer might have not left the surface.

    *)
  8. | `TOUCH_END
    (*

    crossing because of a device switch (i.e. a mouse taking control of the pointer after a touch device), this event is synthetic as the pointer didn’t leave the surface.

    *)
  9. | `DEVICE_SWITCH
]
val crossingmode_of_int : int -> crossingmode
val crossingmode_to_int : crossingmode -> int
type devicepadfeature = [
  1. | `BUTTON
    (*

    a ring-shaped interactive area

    *)
  2. | `RING
    (*

    a straight interactive area

    *)
  3. | `STRIP
]
val devicepadfeature_of_int : int -> devicepadfeature
val devicepadfeature_to_int : devicepadfeature -> int
type devicetooltype = [
  1. | `UNKNOWN
    (*

    Tool is a standard tablet stylus.

    *)
  2. | `PEN
    (*

    Tool is standard tablet eraser.

    *)
  3. | `ERASER
    (*

    Tool is a brush stylus.

    *)
  4. | `BRUSH
    (*

    Tool is a pencil stylus.

    *)
  5. | `PENCIL
    (*

    Tool is an airbrush stylus.

    *)
  6. | `AIRBRUSH
    (*

    Tool is a mouse.

    *)
  7. | `MOUSE
    (*

    Tool is a lens cursor.

    *)
  8. | `LENS
]
val devicetooltype_of_int : int -> devicetooltype
val devicetooltype_to_int : devicetooltype -> int
type dmabuferror = [
  1. | `NOT_AVAILABLE
    (*

    The requested format is not supported

    *)
  2. | `UNSUPPORTED_FORMAT
    (*

    GTK failed to create the resource for other reasons

    *)
  3. | `CREATION_FAILED
]
val dmabuferror_of_int : int -> dmabuferror
val dmabuferror_to_int : dmabuferror -> int
type dragcancelreason = [
  1. | `NO_TARGET
    (*

    Drag cancelled by the user

    *)
  2. | `USER_CANCELLED
    (*

    Unspecified error.

    *)
  3. | `ERROR
]
val dragcancelreason_of_int : int -> dragcancelreason
val dragcancelreason_to_int : dragcancelreason -> int
type eventtype = [
  1. | `DELETE
    (*

    the pointer (usually a mouse) has moved.

    *)
  2. | `MOTION_NOTIFY
    (*

    a mouse button has been pressed.

    *)
  3. | `BUTTON_PRESS
    (*

    a mouse button has been released.

    *)
  4. | `BUTTON_RELEASE
    (*

    a key has been pressed.

    *)
  5. | `KEY_PRESS
    (*

    a key has been released.

    *)
  6. | `KEY_RELEASE
    (*

    the pointer has entered the surface.

    *)
  7. | `ENTER_NOTIFY
    (*

    the pointer has left the surface.

    *)
  8. | `LEAVE_NOTIFY
    (*

    the keyboard focus has entered or left the surface.

    *)
  9. | `FOCUS_CHANGE
    (*

    an input device has moved into contact with a sensing surface (e.g. a touchscreen or graphics tablet).

    *)
  10. | `PROXIMITY_IN
    (*

    an input device has moved out of contact with a sensing surface.

    *)
  11. | `PROXIMITY_OUT
    (*

    the mouse has entered the surface while a drag is in progress.

    *)
  12. | `DRAG_ENTER
    (*

    the mouse has left the surface while a drag is in progress.

    *)
  13. | `DRAG_LEAVE
    (*

    the mouse has moved in the surface while a drag is in progress.

    *)
  14. | `DRAG_MOTION
    (*

    a drop operation onto the surface has started.

    *)
  15. | `DROP_START
    (*

    the scroll wheel was turned

    *)
  16. | `SCROLL
    (*

    a pointer or keyboard grab was broken.

    *)
  17. | `GRAB_BROKEN
    (*

    A new touch event sequence has just started.

    *)
  18. | `TOUCH_BEGIN
    (*

    A touch event sequence has been updated.

    *)
  19. | `TOUCH_UPDATE
    (*

    A touch event sequence has finished.

    *)
  20. | `TOUCH_END
    (*

    A touch event sequence has been canceled.

    *)
  21. | `TOUCH_CANCEL
    (*

    A touchpad swipe gesture event, the current state is determined by its phase field.

    *)
  22. | `TOUCHPAD_SWIPE
    (*

    A touchpad pinch gesture event, the current state is determined by its phase field.

    *)
  23. | `TOUCHPAD_PINCH
    (*

    A tablet pad button press event.

    *)
  24. | `PAD_BUTTON_PRESS
    (*

    A tablet pad button release event.

    *)
  25. | `PAD_BUTTON_RELEASE
    (*

    A tablet pad axis event from a "ring".

    *)
  26. | `PAD_RING
    (*

    A tablet pad axis event from a "strip".

    *)
  27. | `PAD_STRIP
    (*

    A tablet pad group mode change.

    *)
  28. | `PAD_GROUP_MODE
    (*

    A touchpad hold gesture event, the current state is determined by its phase field.

    *)
  29. | `TOUCHPAD_HOLD
    (*

    marks the end of the GdkEventType enumeration.

    *)
  30. | `EVENT_LAST
]
val eventtype_of_int : int -> eventtype
val eventtype_to_int : eventtype -> int
type fullscreenmode = [
  1. | `CURRENT_MONITOR
    (*

    Span across all monitors when fullscreen.

    *)
  2. | `ALL_MONITORS
]
val fullscreenmode_of_int : int -> fullscreenmode
val fullscreenmode_to_int : fullscreenmode -> int
type glerror = [
  1. | `NOT_AVAILABLE
    (*

    The requested visual format is not supported

    *)
  2. | `UNSUPPORTED_FORMAT
    (*

    The requested profile is not supported

    *)
  3. | `UNSUPPORTED_PROFILE
    (*

    The shader compilation failed

    *)
  4. | `COMPILATION_FAILED
    (*

    The shader linking failed

    *)
]
val glerror_of_int : int -> glerror
val glerror_to_int : glerror -> int
type gravity = [
  1. | `NORTH_WEST
    (*

    the reference point is in the middle of the top edge.

    *)
  2. | `NORTH
    (*

    the reference point is at the top right corner.

    *)
  3. | `NORTH_EAST
    (*

    the reference point is at the middle of the left edge.

    *)
  4. | `WEST
    (*

    the reference point is at the center of the surface.

    *)
  5. | `CENTER
    (*

    the reference point is at the middle of the right edge.

    *)
  6. | `EAST
    (*

    the reference point is at the lower left corner.

    *)
  7. | `SOUTH_WEST
    (*

    the reference point is at the middle of the lower edge.

    *)
  8. | `SOUTH
    (*

    the reference point is at the lower right corner.

    *)
  9. | `SOUTH_EAST
    (*

    the reference point is at the top left corner of the surface itself, ignoring window manager decorations.

    *)
  10. | `STATIC
]
val gravity_of_int : int -> gravity
val gravity_to_int : gravity -> int
type inputsource = [
  1. | `MOUSE
    (*

    the device is a stylus of a graphics tablet or similar device.

    *)
  2. | `PEN
    (*

    the device is a keyboard.

    *)
  3. | `KEYBOARD
    (*

    the device is a direct-input touch device, such as a touchscreen or tablet

    *)
  4. | `TOUCHSCREEN
    (*

    the device is an indirect touch device, such as a touchpad

    *)
  5. | `TOUCHPAD
    (*

    the device is a trackpoint

    *)
  6. | `TRACKPOINT
    (*

    the device is a "pad", a collection of buttons, rings and strips found in drawing tablets

    *)
  7. | `TABLET_PAD
]
val inputsource_of_int : int -> inputsource
val inputsource_to_int : inputsource -> int
type keymatch = [
  1. | `NONE
    (*

    The key event matches if keyboard state (specifically, the currently active group) is ignored

    *)
  2. | `PARTIAL
    (*

    The key event matches

    *)
  3. | `EXACT
]
val keymatch_of_int : int -> keymatch
val keymatch_to_int : keymatch -> int
type memoryformat = [
  1. | `B8G8R8A8_PREMULTIPLIED
    (*

    4 bytes; for alpha, red, green, blue. The color values are premultiplied with the alpha value.

    *)
  2. | `A8R8G8B8_PREMULTIPLIED
    (*

    4 bytes; for red, green, blue, alpha The color values are premultiplied with the alpha value.

    *)
  3. | `R8G8B8A8_PREMULTIPLIED
    (*

    4 bytes; for blue, green, red, alpha.

    *)
  4. | `B8G8R8A8
    (*

    4 bytes; for alpha, red, green, blue.

    *)
  5. | `A8R8G8B8
    (*

    4 bytes; for red, green, blue, alpha.

    *)
  6. | `R8G8B8A8
    (*

    4 bytes; for alpha, blue, green, red.

    *)
  7. | `A8B8G8R8
    (*

    3 bytes; for red, green, blue. The data is opaque.

    *)
  8. | `R8G8B8
    (*

    3 bytes; for blue, green, red. The data is opaque.

    *)
  9. | `B8G8R8
    (*

    3 guint16 values; for red, green, blue.

    *)
  10. | `R16G16B16
    (*

    4 guint16 values; for red, green, blue, alpha. The color values are premultiplied with the alpha value.

    *)
  11. | `R16G16B16A16_PREMULTIPLIED
    (*

    4 guint16 values; for red, green, blue, alpha.

    *)
  12. | `R16G16B16A16
    (*

    3 half-float values; for red, green, blue. The data is opaque.

    *)
  13. | `R16G16B16_FLOAT
    (*

    4 half-float values; for red, green, blue and alpha. The color values are premultiplied with the alpha value.

    *)
  14. | `R16G16B16A16_FLOAT_PREMULTIPLIED
    (*

    4 half-float values; for red, green, blue and alpha.

    *)
  15. | `R16G16B16A16_FLOAT
    (*

    3 float values; for red, green, blue.

    *)
  16. | `R32G32B32_FLOAT
    (*

    4 float values; for red, green, blue and alpha. The color values are premultiplied with the alpha value.

    *)
  17. | `R32G32B32A32_FLOAT_PREMULTIPLIED
    (*

    4 float values; for red, green, blue and alpha.

    *)
  18. | `R32G32B32A32_FLOAT
    (*

    2 bytes; for grayscale, alpha. The color values are premultiplied with the alpha value.

    *)
  19. | `G8A8_PREMULTIPLIED
    (*

    2 bytes; for grayscale, alpha.

    *)
  20. | `G8A8
    (*

    One byte; for grayscale. The data is opaque.

    *)
  21. | `G8
    (*

    2 guint16 values; for grayscale, alpha. The color values are premultiplied with the alpha value.

    *)
  22. | `G16A16_PREMULTIPLIED
    (*

    2 guint16 values; for grayscale, alpha.

    *)
  23. | `G16A16
    (*

    One guint16 value; for grayscale. The data is opaque.

    *)
  24. | `G16
    (*

    One byte; for alpha.

    *)
  25. | `A8
    (*

    One guint16 value; for alpha.

    *)
  26. | `A16
    (*

    One half-float value; for alpha.

    *)
  27. | `A16_FLOAT
    (*

    One float value; for alpha.

    *)
  28. | `A32_FLOAT
    (*

    4 bytes; for alpha, blue, green, red, The color values are premultiplied with the alpha value.

    *)
  29. | `A8B8G8R8_PREMULTIPLIED
    (*

    4 bytes; for blue, green, red, unused.

    *)
  30. | `B8G8R8X8
    (*

    4 bytes; for unused, red, green, blue.

    *)
  31. | `X8R8G8B8
    (*

    4 bytes; for red, green, blue, unused.

    *)
  32. | `R8G8B8X8
    (*

    4 bytes; for unused, blue, green, red.

    *)
  33. | `X8B8G8R8
    (*

    The number of formats. This value will change as more formats get added, so do not rely on its concrete integer.

    *)
  34. | `N_FORMATS
]
val memoryformat_of_int : int -> memoryformat
val memoryformat_to_int : memoryformat -> int
type notifytype = [
  1. | `ANCESTOR
    (*

    the pointer moves between an ancestor and an inferior of the surface.

    *)
  2. | `VIRTUAL
    (*

    the surface is entered from an inferior or left towards an inferior.

    *)
  3. | `INFERIOR
    (*

    the surface is entered from or left towards a surface which is neither an ancestor nor an inferior.

    *)
  4. | `NONLINEAR
    (*

    the pointer moves between two surfaces which are not ancestors of each other and the surface is part of the ancestor chain between one of these surfaces and their least common ancestor.

    *)
  5. | `NONLINEAR_VIRTUAL
    (*

    an unknown type of enter/leave event occurred.

    *)
  6. | `UNKNOWN
]
val notifytype_of_int : int -> notifytype
val notifytype_to_int : notifytype -> int
type scrolldirection = [
  1. | `UP
    (*

    the surface is scrolled down.

    *)
  2. | `DOWN
    (*

    the surface is scrolled to the left.

    *)
  3. | `LEFT
    (*

    the surface is scrolled to the right.

    *)
  4. | `RIGHT
    (*

    the scrolling is determined by the delta values in scroll events. See gdk_scroll_event_get_deltas()

    *)
  5. | `SMOOTH
]
val scrolldirection_of_int : int -> scrolldirection
val scrolldirection_to_int : scrolldirection -> int
type scrollunit = [
  1. | `WHEEL
    (*

    The delta is in surface pixels to scroll directly on screen.

    *)
  2. | `SURFACE
]
val scrollunit_of_int : int -> scrollunit
val scrollunit_to_int : scrollunit -> int
type subpixellayout = [
  1. | `UNKNOWN
    (*

    Not organized in this way

    *)
  2. | `NONE
    (*

    The layout is horizontal, the order is RGB

    *)
  3. | `HORIZONTAL_RGB
    (*

    The layout is horizontal, the order is BGR

    *)
  4. | `HORIZONTAL_BGR
    (*

    The layout is vertical, the order is RGB

    *)
  5. | `VERTICAL_RGB
    (*

    The layout is vertical, the order is BGR

    *)
  6. | `VERTICAL_BGR
]
val subpixellayout_of_int : int -> subpixellayout
val subpixellayout_to_int : subpixellayout -> int
type surfaceedge = [
  1. | `NORTH_WEST
    (*

    the top edge.

    *)
  2. | `NORTH
    (*

    the top right corner.

    *)
  3. | `NORTH_EAST
    (*

    the left edge.

    *)
  4. | `WEST
    (*

    the right edge.

    *)
  5. | `EAST
    (*

    the lower left corner.

    *)
  6. | `SOUTH_WEST
    (*

    the lower edge.

    *)
  7. | `SOUTH
    (*

    the lower right corner.

    *)
  8. | `SOUTH_EAST
]
val surfaceedge_of_int : int -> surfaceedge
val surfaceedge_to_int : surfaceedge -> int
type textureerror = [
  1. | `TOO_LARGE
    (*

    The image data appears corrupted

    *)
  2. | `CORRUPT_IMAGE
    (*

    The image contains features that cannot be loaded

    *)
  3. | `UNSUPPORTED_CONTENT
    (*

    The image format is not supported

    *)
  4. | `UNSUPPORTED_FORMAT
]
val textureerror_of_int : int -> textureerror
val textureerror_to_int : textureerror -> int
type titlebargesture = [
  1. | `DOUBLE_CLICK
  2. | `RIGHT_CLICK
  3. | `MIDDLE_CLICK
]
val titlebargesture_of_int : int -> titlebargesture
val titlebargesture_to_int : titlebargesture -> int
type touchpadgesturephase = [
  1. | `BEGIN
    (*

    The gesture has been updated.

    *)
  2. | `UPDATE
    (*

    The gesture was finished, changes should be permanently applied.

    *)
  3. | `END
    (*

    The gesture was cancelled, all changes should be undone.

    *)
  4. | `CANCEL
]
val touchpadgesturephase_of_int : int -> touchpadgesturephase
val touchpadgesturephase_to_int : touchpadgesturephase -> int
type vulkanerror = [
  1. | `UNSUPPORTED
    (*

    Vulkan support is not available on this Surface

    *)
  2. | `NOT_AVAILABLE
]
val vulkanerror_of_int : int -> vulkanerror
val vulkanerror_to_int : vulkanerror -> int
type anchorhints_flag = [
  1. | `FLIP_X
    (*

    allow flipping anchors vertically

    *)
  2. | `FLIP_Y
    (*

    allow sliding surface horizontally

    *)
  3. | `SLIDE_X
    (*

    allow sliding surface vertically

    *)
  4. | `SLIDE_Y
    (*

    allow resizing surface horizontally

    *)
  5. | `RESIZE_X
    (*

    allow resizing surface vertically

    *)
  6. | `RESIZE_Y
    (*

    allow flipping anchors on both axes

    *)
  7. | `FLIP
    (*

    allow sliding surface on both axes

    *)
  8. | `SLIDE
    (*

    allow resizing surface on both axes

    *)
  9. | `RESIZE
]
type anchorhints = anchorhints_flag list
val anchorhints_of_int : int -> anchorhints
val anchorhints_to_int : anchorhints -> int
type axisflags_flag = [
  1. | `X
    (*

    Y axis is present

    *)
  2. | `Y
    (*

    Scroll X delta axis is present

    *)
  3. | `DELTA_X
    (*

    Scroll Y delta axis is present

    *)
  4. | `DELTA_Y
    (*

    Pressure axis is present

    *)
  5. | `PRESSURE
    (*

    X tilt axis is present

    *)
  6. | `XTILT
    (*

    Y tilt axis is present

    *)
  7. | `YTILT
    (*

    Wheel axis is present

    *)
  8. | `WHEEL
    (*

    Distance axis is present

    *)
  9. | `DISTANCE
    (*

    Z-axis rotation is present

    *)
  10. | `ROTATION
    (*

    Slider axis is present

    *)
  11. | `SLIDER
]
type axisflags = axisflags_flag list
val axisflags_of_int : int -> axisflags
val axisflags_to_int : axisflags -> int
type dragaction_flag = [
  1. | `COPY
    (*

    Move the data, i.e. first copy it, then delete it from the source using the DELETE target of the X selection protocol.

    *)
  2. | `MOVE
    (*

    Add a link to the data. Note that this is only useful if source and destination agree on what it means, and is not supported on all platforms.

    *)
  3. | `ASK
]
type dragaction = dragaction_flag list
val dragaction_of_int : int -> dragaction
val dragaction_to_int : dragaction -> int
type frameclockphase_flag = [
  1. | `NONE
    (*

    corresponds to GdkFrameClock::flush-events. Should not be handled by applications.

    *)
  2. | `FLUSH_EVENTS
    (*

    corresponds to GdkFrameClock::before-paint. Should not be handled by applications.

    *)
  3. | `BEFORE_PAINT
    (*

    corresponds to GdkFrameClock::update.

    *)
  4. | `UPDATE
    (*

    corresponds to GdkFrameClock::layout. Should not be handled by applications.

    *)
  5. | `LAYOUT
    (*

    corresponds to GdkFrameClock::paint.

    *)
  6. | `PAINT
    (*

    corresponds to GdkFrameClock::resume-events. Should not be handled by applications.

    *)
  7. | `RESUME_EVENTS
    (*

    corresponds to GdkFrameClock::after-paint. Should not be handled by applications.

    *)
  8. | `AFTER_PAINT
]
type frameclockphase = frameclockphase_flag list
val frameclockphase_of_int : int -> frameclockphase
val frameclockphase_to_int : frameclockphase -> int
type glapi_flag = [
  1. | `GL
    (*

    The OpenGL ES API

    *)
  2. | `GLES
]
type glapi = glapi_flag list
val glapi_of_int : int -> glapi
val glapi_to_int : glapi -> int
type modifiertype_flag = [
  1. | `NO_MODIFIER_MASK
    (*

    the Shift key.

    *)
  2. | `SHIFT_MASK
    (*

    a Lock key (depending on the modifier mapping of the X server this may either be CapsLock or ShiftLock).

    *)
  3. | `LOCK_MASK
    (*

    the Control key.

    *)
  4. | `CONTROL_MASK
    (*

    the fourth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier, but normally it is the Alt key).

    *)
  5. | `ALT_MASK
    (*

    the first mouse button.

    *)
  6. | `BUTTON1_MASK
    (*

    the second mouse button.

    *)
  7. | `BUTTON2_MASK
    (*

    the third mouse button.

    *)
  8. | `BUTTON3_MASK
    (*

    the fourth mouse button.

    *)
  9. | `BUTTON4_MASK
    (*

    the fifth mouse button.

    *)
  10. | `BUTTON5_MASK
    (*

    the Super modifier

    *)
  11. | `SUPER_MASK
    (*

    the Hyper modifier

    *)
  12. | `HYPER_MASK
    (*

    the Meta modifier

    *)
  13. | `META_MASK
]
type modifiertype = modifiertype_flag list
val modifiertype_of_int : int -> modifiertype
val modifiertype_to_int : modifiertype -> int
type paintableflags_flag = [
  1. | `SIZE
    (*

    The content is immutable. The signal@Gdk.Paintable::invalidate-contents signal will never be emitted.

    *)
  2. | `CONTENTS
]
type paintableflags = paintableflags_flag list
val paintableflags_of_int : int -> paintableflags
val paintableflags_to_int : paintableflags -> int
type seatcapabilities_flag = [
  1. | `NONE
    (*

    The seat has a pointer (e.g. mouse)

    *)
  2. | `POINTER
    (*

    The seat has touchscreen(s) attached

    *)
  3. | `TOUCH
    (*

    The seat has drawing tablet(s) attached

    *)
  4. | `TABLET_STYLUS
    (*

    The seat has keyboard(s) attached

    *)
  5. | `KEYBOARD
    (*

    The seat has drawing tablet pad(s) attached

    *)
  6. | `TABLET_PAD
    (*

    The union of all pointing capabilities

    *)
  7. | `ALL_POINTING
    (*

    The union of all capabilities

    *)
  8. | `ALL
]
type seatcapabilities = seatcapabilities_flag list
val seatcapabilities_of_int : int -> seatcapabilities
val seatcapabilities_to_int : seatcapabilities -> int
type toplevelstate_flag = [
  1. | `MINIMIZED
    (*

    the surface is maximized

    *)
  2. | `MAXIMIZED
    (*

    the surface is sticky

    *)
  3. | `STICKY
    (*

    the surface is maximized without decorations

    *)
  4. | `FULLSCREEN
    (*

    the surface is kept above other surfaces

    *)
  5. | `ABOVE
    (*

    the surface is kept below other surfaces

    *)
  6. | `BELOW
    (*

    the surface is presented as focused (with active decorations)

    *)
  7. | `FOCUSED
    (*

    the surface is in a tiled state

    *)
  8. | `TILED
    (*

    whether the top edge is tiled

    *)
  9. | `TOP_TILED
    (*

    whether the top edge is resizable

    *)
  10. | `TOP_RESIZABLE
    (*

    whether the right edge is tiled

    *)
  11. | `RIGHT_TILED
    (*

    whether the right edge is resizable

    *)
  12. | `RIGHT_RESIZABLE
    (*

    whether the bottom edge is tiled

    *)
  13. | `BOTTOM_TILED
    (*

    whether the bottom edge is resizable

    *)
  14. | `BOTTOM_RESIZABLE
    (*

    whether the left edge is tiled

    *)
  15. | `LEFT_TILED
    (*

    whether the left edge is resizable

    *)
  16. | `LEFT_RESIZABLE
    (*

    the surface is not visible to the user

    *)
  17. | `SUSPENDED
]
type toplevelstate = toplevelstate_flag list
val toplevelstate_of_int : int -> toplevelstate
val toplevelstate_to_int : toplevelstate -> int