/* SCANNER TEST */ #ifndef WAYLAND_ENUM_PROTOCOL_H #define WAYLAND_ENUM_PROTOCOL_H #ifdef __cplusplus extern "C" { #endif #ifndef WL_DISPLAY_ERROR_ENUM #define WL_DISPLAY_ERROR_ENUM /** * @ingroup iface_wl_display * global error values * * These errors are global and can be emitted in response to any * server request. */ enum wl_display_error { /** * server couldn't find object */ WL_DISPLAY_ERROR_INVALID_OBJECT = 0, /** * method doesn't exist on the specified interface */ WL_DISPLAY_ERROR_INVALID_METHOD = 1, /** * server is out of memory */ WL_DISPLAY_ERROR_NO_MEMORY = 2, }; #endif /* WL_DISPLAY_ERROR_ENUM */ #ifndef WL_SHM_ERROR_ENUM #define WL_SHM_ERROR_ENUM /** * @ingroup iface_wl_shm * wl_shm error values * * These errors can be emitted in response to wl_shm requests. */ enum wl_shm_error { /** * buffer format is not known */ WL_SHM_ERROR_INVALID_FORMAT = 0, /** * invalid size or stride during pool or buffer creation */ WL_SHM_ERROR_INVALID_STRIDE = 1, /** * mmapping the file descriptor failed */ WL_SHM_ERROR_INVALID_FD = 2, }; #endif /* WL_SHM_ERROR_ENUM */ #ifndef WL_SHM_FORMAT_ENUM #define WL_SHM_FORMAT_ENUM /** * @ingroup iface_wl_shm * pixel formats * * This describes the memory layout of an individual pixel. * * All renderers should support argb8888 and xrgb8888 but any other * formats are optional and may not be supported by the particular * renderer in use. * * The drm format codes match the macros defined in drm_fourcc.h. * The formats actually supported by the compositor will be * reported by the format event. */ enum wl_shm_format { /** * 32-bit ARGB format, [31:0] A:R:G:B 8:8:8:8 little endian */ WL_SHM_FORMAT_ARGB8888 = 0, /** * 32-bit RGB format, [31:0] x:R:G:B 8:8:8:8 little endian */ WL_SHM_FORMAT_XRGB8888 = 1, /** * 8-bit color index format, [7:0] C */ WL_SHM_FORMAT_C8 = 0x20203843, /** * 8-bit RGB format, [7:0] R:G:B 3:3:2 */ WL_SHM_FORMAT_RGB332 = 0x38424752, /** * 8-bit BGR format, [7:0] B:G:R 2:3:3 */ WL_SHM_FORMAT_BGR233 = 0x38524742, /** * 16-bit xRGB format, [15:0] x:R:G:B 4:4:4:4 little endian */ WL_SHM_FORMAT_XRGB4444 = 0x32315258, /** * 16-bit xBGR format, [15:0] x:B:G:R 4:4:4:4 little endian */ WL_SHM_FORMAT_XBGR4444 = 0x32314258, /** * 16-bit RGBx format, [15:0] R:G:B:x 4:4:4:4 little endian */ WL_SHM_FORMAT_RGBX4444 = 0x32315852, /** * 16-bit BGRx format, [15:0] B:G:R:x 4:4:4:4 little endian */ WL_SHM_FORMAT_BGRX4444 = 0x32315842, /** * 16-bit ARGB format, [15:0] A:R:G:B 4:4:4:4 little endian */ WL_SHM_FORMAT_ARGB4444 = 0x32315241, /** * 16-bit ABGR format, [15:0] A:B:G:R 4:4:4:4 little endian */ WL_SHM_FORMAT_ABGR4444 = 0x32314241, /** * 16-bit RBGA format, [15:0] R:G:B:A 4:4:4:4 little endian */ WL_SHM_FORMAT_RGBA4444 = 0x32314152, /** * 16-bit BGRA format, [15:0] B:G:R:A 4:4:4:4 little endian */ WL_SHM_FORMAT_BGRA4444 = 0x32314142, /** * 16-bit xRGB format, [15:0] x:R:G:B 1:5:5:5 little endian */ WL_SHM_FORMAT_XRGB1555 = 0x35315258, /** * 16-bit xBGR 1555 format, [15:0] x:B:G:R 1:5:5:5 little endian */ WL_SHM_FORMAT_XBGR1555 = 0x35314258, /** * 16-bit RGBx 5551 format, [15:0] R:G:B:x 5:5:5:1 little endian */ WL_SHM_FORMAT_RGBX5551 = 0x35315852, /** * 16-bit BGRx 5551 format, [15:0] B:G:R:x 5:5:5:1 little endian */ WL_SHM_FORMAT_BGRX5551 = 0x35315842, /** * 16-bit ARGB 1555 format, [15:0] A:R:G:B 1:5:5:5 little endian */ WL_SHM_FORMAT_ARGB1555 = 0x35315241, /** * 16-bit ABGR 1555 format, [15:0] A:B:G:R 1:5:5:5 little endian */ WL_SHM_FORMAT_ABGR1555 = 0x35314241, /** * 16-bit RGBA 5551 format, [15:0] R:G:B:A 5:5:5:1 little endian */ WL_SHM_FORMAT_RGBA5551 = 0x35314152, /** * 16-bit BGRA 5551 format, [15:0] B:G:R:A 5:5:5:1 little endian */ WL_SHM_FORMAT_BGRA5551 = 0x35314142, /** * 16-bit RGB 565 format, [15:0] R:G:B 5:6:5 little endian */ WL_SHM_FORMAT_RGB565 = 0x36314752, /** * 16-bit BGR 565 format, [15:0] B:G:R 5:6:5 little endian */ WL_SHM_FORMAT_BGR565 = 0x36314742, /** * 24-bit RGB format, [23:0] R:G:B little endian */ WL_SHM_FORMAT_RGB888 = 0x34324752, /** * 24-bit BGR format, [23:0] B:G:R little endian */ WL_SHM_FORMAT_BGR888 = 0x34324742, /** * 32-bit xBGR format, [31:0] x:B:G:R 8:8:8:8 little endian */ WL_SHM_FORMAT_XBGR8888 = 0x34324258, /** * 32-bit RGBx format, [31:0] R:G:B:x 8:8:8:8 little endian */ WL_SHM_FORMAT_RGBX8888 = 0x34325852, /** * 32-bit BGRx format, [31:0] B:G:R:x 8:8:8:8 little endian */ WL_SHM_FORMAT_BGRX8888 = 0x34325842, /** * 32-bit ABGR format, [31:0] A:B:G:R 8:8:8:8 little endian */ WL_SHM_FORMAT_ABGR8888 = 0x34324241, /** * 32-bit RGBA format, [31:0] R:G:B:A 8:8:8:8 little endian */ WL_SHM_FORMAT_RGBA8888 = 0x34324152, /** * 32-bit BGRA format, [31:0] B:G:R:A 8:8:8:8 little endian */ WL_SHM_FORMAT_BGRA8888 = 0x34324142, /** * 32-bit xRGB format, [31:0] x:R:G:B 2:10:10:10 little endian */ WL_SHM_FORMAT_XRGB2101010 = 0x30335258, /** * 32-bit xBGR format, [31:0] x:B:G:R 2:10:10:10 little endian */ WL_SHM_FORMAT_XBGR2101010 = 0x30334258, /** * 32-bit RGBx format, [31:0] R:G:B:x 10:10:10:2 little endian */ WL_SHM_FORMAT_RGBX1010102 = 0x30335852, /** * 32-bit BGRx format, [31:0] B:G:R:x 10:10:10:2 little endian */ WL_SHM_FORMAT_BGRX1010102 = 0x30335842, /** * 32-bit ARGB format, [31:0] A:R:G:B 2:10:10:10 little endian */ WL_SHM_FORMAT_ARGB2101010 = 0x30335241, /** * 32-bit ABGR format, [31:0] A:B:G:R 2:10:10:10 little endian */ WL_SHM_FORMAT_ABGR2101010 = 0x30334241, /** * 32-bit RGBA format, [31:0] R:G:B:A 10:10:10:2 little endian */ WL_SHM_FORMAT_RGBA1010102 = 0x30334152, /** * 32-bit BGRA format, [31:0] B:G:R:A 10:10:10:2 little endian */ WL_SHM_FORMAT_BGRA1010102 = 0x30334142, /** * packed YCbCr format, [31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian */ WL_SHM_FORMAT_YUYV = 0x56595559, /** * packed YCbCr format, [31:0] Cb0:Y1:Cr0:Y0 8:8:8:8 little endian */ WL_SHM_FORMAT_YVYU = 0x55595659, /** * packed YCbCr format, [31:0] Y1:Cr0:Y0:Cb0 8:8:8:8 little endian */ WL_SHM_FORMAT_UYVY = 0x59565955, /** * packed YCbCr format, [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */ WL_SHM_FORMAT_VYUY = 0x59555956, /** * packed AYCbCr format, [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */ WL_SHM_FORMAT_AYUV = 0x56555941, /** * 2 plane YCbCr Cr:Cb format, 2x2 subsampled Cr:Cb plane */ WL_SHM_FORMAT_NV12 = 0x3231564e, /** * 2 plane YCbCr Cb:Cr format, 2x2 subsampled Cb:Cr plane */ WL_SHM_FORMAT_NV21 = 0x3132564e, /** * 2 plane YCbCr Cr:Cb format, 2x1 subsampled Cr:Cb plane */ WL_SHM_FORMAT_NV16 = 0x3631564e, /** * 2 plane YCbCr Cb:Cr format, 2x1 subsampled Cb:Cr plane */ WL_SHM_FORMAT_NV61 = 0x3136564e, /** * 3 plane YCbCr format, 4x4 subsampled Cb (1) and Cr (2) planes */ WL_SHM_FORMAT_YUV410 = 0x39565559, /** * 3 plane YCbCr format, 4x4 subsampled Cr (1) and Cb (2) planes */ WL_SHM_FORMAT_YVU410 = 0x39555659, /** * 3 plane YCbCr format, 4x1 subsampled Cb (1) and Cr (2) planes */ WL_SHM_FORMAT_YUV411 = 0x31315559, /** * 3 plane YCbCr format, 4x1 subsampled Cr (1) and Cb (2) planes */ WL_SHM_FORMAT_YVU411 = 0x31315659, /** * 3 plane YCbCr format, 2x2 subsampled Cb (1) and Cr (2) planes */ WL_SHM_FORMAT_YUV420 = 0x32315559, /** * 3 plane YCbCr format, 2x2 subsampled Cr (1) and Cb (2) planes */ WL_SHM_FORMAT_YVU420 = 0x32315659, /** * 3 plane YCbCr format, 2x1 subsampled Cb (1) and Cr (2) planes */ WL_SHM_FORMAT_YUV422 = 0x36315559, /** * 3 plane YCbCr format, 2x1 subsampled Cr (1) and Cb (2) planes */ WL_SHM_FORMAT_YVU422 = 0x36315659, /** * 3 plane YCbCr format, non-subsampled Cb (1) and Cr (2) planes */ WL_SHM_FORMAT_YUV444 = 0x34325559, /** * 3 plane YCbCr format, non-subsampled Cr (1) and Cb (2) planes */ WL_SHM_FORMAT_YVU444 = 0x34325659, }; #endif /* WL_SHM_FORMAT_ENUM */ #ifndef WL_DATA_OFFER_ERROR_ENUM #define WL_DATA_OFFER_ERROR_ENUM enum wl_data_offer_error { /** * finish request was called untimely */ WL_DATA_OFFER_ERROR_INVALID_FINISH = 0, /** * action mask contains invalid values */ WL_DATA_OFFER_ERROR_INVALID_ACTION_MASK = 1, /** * action argument has an invalid value */ WL_DATA_OFFER_ERROR_INVALID_ACTION = 2, /** * offer doesn't accept this request */ WL_DATA_OFFER_ERROR_INVALID_OFFER = 3, }; #endif /* WL_DATA_OFFER_ERROR_ENUM */ #ifndef WL_DATA_SOURCE_ERROR_ENUM #define WL_DATA_SOURCE_ERROR_ENUM enum wl_data_source_error { /** * action mask contains invalid values */ WL_DATA_SOURCE_ERROR_INVALID_ACTION_MASK = 0, /** * source doesn't accept this request */ WL_DATA_SOURCE_ERROR_INVALID_SOURCE = 1, }; #endif /* WL_DATA_SOURCE_ERROR_ENUM */ #ifndef WL_DATA_DEVICE_ERROR_ENUM #define WL_DATA_DEVICE_ERROR_ENUM enum wl_data_device_error { /** * given wl_surface has another role */ WL_DATA_DEVICE_ERROR_ROLE = 0, }; #endif /* WL_DATA_DEVICE_ERROR_ENUM */ #ifndef WL_DATA_DEVICE_MANAGER_DND_ACTION_ENUM #define WL_DATA_DEVICE_MANAGER_DND_ACTION_ENUM /** * @ingroup iface_wl_data_device_manager * drag and drop actions * * This is a bitmask of the available/preferred actions in a * drag-and-drop operation. * * In the compositor, the selected action is a result of matching the * actions offered by the source and destination sides. "action" events * with a "none" action will be sent to both source and destination if * there is no match. All further checks will effectively happen on * (source actions ∩ destination actions). * * In addition, compositors may also pick different actions in * reaction to key modifiers being pressed. One common design that * is used in major toolkits (and the behavior recommended for * compositors) is: * * - If no modifiers are pressed, the first match (in bit order) * will be used. * - Pressing Shift selects "move", if enabled in the mask. * - Pressing Control selects "copy", if enabled in the mask. * * Behavior beyond that is considered implementation-dependent. * Compositors may for example bind other modifiers (like Alt/Meta) * or drags initiated with other buttons than BTN_LEFT to specific * actions (e.g. "ask"). */ enum wl_data_device_manager_dnd_action { /** * no action */ WL_DATA_DEVICE_MANAGER_DND_ACTION_NONE = 0, /** * copy action */ WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY = 1, /** * move action */ WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE = 2, /** * ask action */ WL_DATA_DEVICE_MANAGER_DND_ACTION_ASK = 4, }; #endif /* WL_DATA_DEVICE_MANAGER_DND_ACTION_ENUM */ #ifndef WL_SHELL_ERROR_ENUM #define WL_SHELL_ERROR_ENUM enum wl_shell_error { /** * given wl_surface has another role */ WL_SHELL_ERROR_ROLE = 0, }; #endif /* WL_SHELL_ERROR_ENUM */ #ifndef WL_SHELL_SURFACE_RESIZE_ENUM #define WL_SHELL_SURFACE_RESIZE_ENUM /** * @ingroup iface_wl_shell_surface * edge values for resizing * * These values are used to indicate which edge of a surface * is being dragged in a resize operation. The server may * use this information to adapt its behavior, e.g. choose * an appropriate cursor image. */ enum wl_shell_surface_resize { /** * no edge */ WL_SHELL_SURFACE_RESIZE_NONE = 0, /** * top edge */ WL_SHELL_SURFACE_RESIZE_TOP = 1, /** * bottom edge */ WL_SHELL_SURFACE_RESIZE_BOTTOM = 2, /** * left edge */ WL_SHELL_SURFACE_RESIZE_LEFT = 4, /** * top and left edges */ WL_SHELL_SURFACE_RESIZE_TOP_LEFT = 5, /** * bottom and left edges */ WL_SHELL_SURFACE_RESIZE_BOTTOM_LEFT = 6, /** * right edge */ WL_SHELL_SURFACE_RESIZE_RIGHT = 8, /** * top and right edges */ WL_SHELL_SURFACE_RESIZE_TOP_RIGHT = 9, /** * bottom and right edges */ WL_SHELL_SURFACE_RESIZE_BOTTOM_RIGHT = 10, }; #endif /* WL_SHELL_SURFACE_RESIZE_ENUM */ #ifndef WL_SHELL_SURFACE_TRANSIENT_ENUM #define WL_SHELL_SURFACE_TRANSIENT_ENUM /** * @ingroup iface_wl_shell_surface * details of transient behaviour * * These flags specify details of the expected behaviour * of transient surfaces. Used in the set_transient request. */ enum wl_shell_surface_transient { /** * do not set keyboard focus */ WL_SHELL_SURFACE_TRANSIENT_INACTIVE = 0x1, }; #endif /* WL_SHELL_SURFACE_TRANSIENT_ENUM */ #ifndef WL_SHELL_SURFACE_FULLSCREEN_METHOD_ENUM #define WL_SHELL_SURFACE_FULLSCREEN_METHOD_ENUM /** * @ingroup iface_wl_shell_surface * different method to set the surface fullscreen * * Hints to indicate to the compositor how to deal with a conflict * between the dimensions of the surface and the dimensions of the * output. The compositor is free to ignore this parameter. */ enum wl_shell_surface_fullscreen_method { /** * no preference, apply default policy */ WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT = 0, /** * scale, preserve the surface's aspect ratio and center on output */ WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE = 1, /** * switch output mode to the smallest mode that can fit the surface, add black borders to compensate size mismatch */ WL_SHELL_SURFACE_FULLSCREEN_METHOD_DRIVER = 2, /** * no upscaling, center on output and add black borders to compensate size mismatch */ WL_SHELL_SURFACE_FULLSCREEN_METHOD_FILL = 3, }; #endif /* WL_SHELL_SURFACE_FULLSCREEN_METHOD_ENUM */ #ifndef WL_SURFACE_ERROR_ENUM #define WL_SURFACE_ERROR_ENUM /** * @ingroup iface_wl_surface * wl_surface error values * * These errors can be emitted in response to wl_surface requests. */ enum wl_surface_error { /** * buffer scale value is invalid */ WL_SURFACE_ERROR_INVALID_SCALE = 0, /** * buffer transform value is invalid */ WL_SURFACE_ERROR_INVALID_TRANSFORM = 1, }; #endif /* WL_SURFACE_ERROR_ENUM */ #ifndef WL_SEAT_CAPABILITY_ENUM #define WL_SEAT_CAPABILITY_ENUM /** * @ingroup iface_wl_seat * seat capability bitmask * * This is a bitmask of capabilities this seat has; if a member is * set, then it is present on the seat. */ enum wl_seat_capability { /** * the seat has pointer devices */ WL_SEAT_CAPABILITY_POINTER = 1, /** * the seat has one or more keyboards */ WL_SEAT_CAPABILITY_KEYBOARD = 2, /** * the seat has touch devices */ WL_SEAT_CAPABILITY_TOUCH = 4, }; #endif /* WL_SEAT_CAPABILITY_ENUM */ #ifndef WL_POINTER_ERROR_ENUM #define WL_POINTER_ERROR_ENUM enum wl_pointer_error { /** * given wl_surface has another role */ WL_POINTER_ERROR_ROLE = 0, }; #endif /* WL_POINTER_ERROR_ENUM */ #ifndef WL_POINTER_BUTTON_STATE_ENUM #define WL_POINTER_BUTTON_STATE_ENUM /** * @ingroup iface_wl_pointer * physical button state * * Describes the physical state of a button that produced the button * event. */ enum wl_pointer_button_state { /** * the button is not pressed */ WL_POINTER_BUTTON_STATE_RELEASED = 0, /** * the button is pressed */ WL_POINTER_BUTTON_STATE_PRESSED = 1, }; #endif /* WL_POINTER_BUTTON_STATE_ENUM */ #ifndef WL_POINTER_AXIS_ENUM #define WL_POINTER_AXIS_ENUM /** * @ingroup iface_wl_pointer * axis types * * Describes the axis types of scroll events. */ enum wl_pointer_axis { /** * vertical axis */ WL_POINTER_AXIS_VERTICAL_SCROLL = 0, /** * horizontal axis */ WL_POINTER_AXIS_HORIZONTAL_SCROLL = 1, }; #endif /* WL_POINTER_AXIS_ENUM */ #ifndef WL_POINTER_AXIS_SOURCE_ENUM #define WL_POINTER_AXIS_SOURCE_ENUM /** * @ingroup iface_wl_pointer * axis source types * * Describes the source types for axis events. This indicates to the * client how an axis event was physically generated; a client may * adjust the user interface accordingly. For example, scroll events * from a "finger" source may be in a smooth coordinate space with * kinetic scrolling whereas a "wheel" source may be in discrete steps * of a number of lines. */ enum wl_pointer_axis_source { /** * a physical wheel rotation */ WL_POINTER_AXIS_SOURCE_WHEEL = 0, /** * finger on a touch surface */ WL_POINTER_AXIS_SOURCE_FINGER = 1, /** * continuous coordinate space * * A device generating events in a continuous coordinate space, * but using something other than a finger. One example for this * source is button-based scrolling where the vertical motion of a * device is converted to scroll events while a button is held * down. */ WL_POINTER_AXIS_SOURCE_CONTINUOUS = 2, /** * a physical wheel tilt * * Indicates that the actual device is a wheel but the scroll * event is not caused by a rotation but a (usually sideways) tilt * of the wheel. * @since 6 */ WL_POINTER_AXIS_SOURCE_WHEEL_TILT = 3, }; /** * @ingroup iface_wl_pointer */ #define WL_POINTER_AXIS_SOURCE_WHEEL_TILT_SINCE_VERSION 6 #endif /* WL_POINTER_AXIS_SOURCE_ENUM */ #ifndef WL_KEYBOARD_KEYMAP_FORMAT_ENUM #define WL_KEYBOARD_KEYMAP_FORMAT_ENUM /** * @ingroup iface_wl_keyboard * keyboard mapping format * * This specifies the format of the keymap provided to the * client with the wl_keyboard.keymap event. */ enum wl_keyboard_keymap_format { /** * no keymap; client must understand how to interpret the raw keycode */ WL_KEYBOARD_KEYMAP_FORMAT_NO_KEYMAP = 0, /** * libxkbcommon compatible; to determine the xkb keycode, clients must add 8 to the key event keycode */ WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1 = 1, }; #endif /* WL_KEYBOARD_KEYMAP_FORMAT_ENUM */ #ifndef WL_KEYBOARD_KEY_STATE_ENUM #define WL_KEYBOARD_KEY_STATE_ENUM /** * @ingroup iface_wl_keyboard * physical key state * * Describes the physical state of a key that produced the key event. */ enum wl_keyboard_key_state { /** * key is not pressed */ WL_KEYBOARD_KEY_STATE_RELEASED = 0, /** * key is pressed */ WL_KEYBOARD_KEY_STATE_PRESSED = 1, }; #endif /* WL_KEYBOARD_KEY_STATE_ENUM */ #ifndef WL_OUTPUT_SUBPIXEL_ENUM #define WL_OUTPUT_SUBPIXEL_ENUM /** * @ingroup iface_wl_output * subpixel geometry information * * This enumeration describes how the physical * pixels on an output are laid out. */ enum wl_output_subpixel { /** * unknown geometry */ WL_OUTPUT_SUBPIXEL_UNKNOWN = 0, /** * no geometry */ WL_OUTPUT_SUBPIXEL_NONE = 1, /** * horizontal RGB */ WL_OUTPUT_SUBPIXEL_HORIZONTAL_RGB = 2, /** * horizontal BGR */ WL_OUTPUT_SUBPIXEL_HORIZONTAL_BGR = 3, /** * vertical RGB */ WL_OUTPUT_SUBPIXEL_VERTICAL_RGB = 4, /** * vertical BGR */ WL_OUTPUT_SUBPIXEL_VERTICAL_BGR = 5, }; #endif /* WL_OUTPUT_SUBPIXEL_ENUM */ #ifndef WL_OUTPUT_TRANSFORM_ENUM #define WL_OUTPUT_TRANSFORM_ENUM /** * @ingroup iface_wl_output * transform from framebuffer to output * * This describes the transform that a compositor will apply to a * surface to compensate for the rotation or mirroring of an * output device. * * The flipped values correspond to an initial flip around a * vertical axis followed by rotation. * * The purpose is mainly to allow clients to render accordingly and * tell the compositor, so that for fullscreen surfaces, the * compositor will still be able to scan out directly from client * surfaces. */ enum wl_output_transform { /** * no transform */ WL_OUTPUT_TRANSFORM_NORMAL = 0, /** * 90 degrees counter-clockwise */ WL_OUTPUT_TRANSFORM_90 = 1, /** * 180 degrees counter-clockwise */ WL_OUTPUT_TRANSFORM_180 = 2, /** * 270 degrees counter-clockwise */ WL_OUTPUT_TRANSFORM_270 = 3, /** * 180 degree flip around a vertical axis */ WL_OUTPUT_TRANSFORM_FLIPPED = 4, /** * flip and rotate 90 degrees counter-clockwise */ WL_OUTPUT_TRANSFORM_FLIPPED_90 = 5, /** * flip and rotate 180 degrees counter-clockwise */ WL_OUTPUT_TRANSFORM_FLIPPED_180 = 6, /** * flip and rotate 270 degrees counter-clockwise */ WL_OUTPUT_TRANSFORM_FLIPPED_270 = 7, }; #endif /* WL_OUTPUT_TRANSFORM_ENUM */ #ifndef WL_OUTPUT_MODE_ENUM #define WL_OUTPUT_MODE_ENUM /** * @ingroup iface_wl_output * mode information * * These flags describe properties of an output mode. * They are used in the flags bitfield of the mode event. */ enum wl_output_mode { /** * indicates this is the current mode */ WL_OUTPUT_MODE_CURRENT = 0x1, /** * indicates this is the preferred mode */ WL_OUTPUT_MODE_PREFERRED = 0x2, }; #endif /* WL_OUTPUT_MODE_ENUM */ #ifndef WL_SUBCOMPOSITOR_ERROR_ENUM #define WL_SUBCOMPOSITOR_ERROR_ENUM enum wl_subcompositor_error { /** * the to-be sub-surface is invalid */ WL_SUBCOMPOSITOR_ERROR_BAD_SURFACE = 0, }; #endif /* WL_SUBCOMPOSITOR_ERROR_ENUM */ #ifndef WL_SUBSURFACE_ERROR_ENUM #define WL_SUBSURFACE_ERROR_ENUM enum wl_subsurface_error { /** * wl_surface is not a sibling or the parent */ WL_SUBSURFACE_ERROR_BAD_SURFACE = 0, }; #endif /* WL_SUBSURFACE_ERROR_ENUM */ #ifdef __cplusplus } #endif #endif