gtkmm: gdkmm Enums and Flags

gtkmm 4.14.0

Enumerations | Functions
gdkmm Enums and Flags

## Enumerations
enum class | Gdk::InputSource { Gdk::InputSource::MOUSE , Gdk::InputSource::PEN , Gdk::InputSource::KEYBOARD , Gdk::InputSource::TOUCHSCREEN , Gdk::InputSource::TOUCHPAD , Gdk::InputSource::TRACKPOINT , Gdk::InputSource::TABLET_PAD }
| An enumeration describing the type of an input device in general terms. More...
enum class | Gdk::DevicePad::Feature { Gdk::DevicePad::Feature::BUTTON , Gdk::DevicePad::Feature::RING , Gdk::DevicePad::Feature::STRIP }
| A pad feature. More...
enum class | Gdk::DeviceTool::Type { Gdk::DeviceTool::Type::UNKNOWN , Gdk::DeviceTool::Type::PEN , Gdk::DeviceTool::Type::ERASER , Gdk::DeviceTool::Type::BRUSH , Gdk::DeviceTool::Type::PENCIL , Gdk::DeviceTool::Type::AIRBRUSH , Gdk::DeviceTool::Type::MOUSE , Gdk::DeviceTool::Type::LENS }
| Indicates the specific type of tool being used being a tablet. More...
enum class | Gdk::DragCancelReason { Gdk::DragCancelReason::NO_TARGET , Gdk::DragCancelReason::USER_CANCELLED , Gdk::DragCancelReason::ERROR }
| Used in `Gdk::Drag` to the reason of a cancelled DND operation. More...
enum class | Gdk::AxisFlags { Gdk::AxisFlags::X = 0x2 , Gdk::AxisFlags::Y = 0x4 , Gdk::AxisFlags::DELTA_X = 0x8 , Gdk::AxisFlags::DELTA_Y = 0x10 , Gdk::AxisFlags::PRESSURE = 0x20 , Gdk::AxisFlags::XTILT = 0x40 , Gdk::AxisFlags::YTILT = 0x80 , Gdk::AxisFlags::WHEEL = 0x100 , Gdk::AxisFlags::DISTANCE = 0x200 , Gdk::AxisFlags::ROTATION = 0x400 , Gdk::AxisFlags::SLIDER = 0x800 }
| Flags describing the current capabilities of a device/tool. More...
enum class | Gdk::AxisUse { Gdk::AxisUse::IGNORE , Gdk::AxisUse::X , Gdk::AxisUse::Y , Gdk::AxisUse::DELTA_X , Gdk::AxisUse::DELTA_Y , Gdk::AxisUse::PRESSURE , Gdk::AxisUse::XTILT , Gdk::AxisUse::YTILT , Gdk::AxisUse::WHEEL , Gdk::AxisUse::DISTANCE , Gdk::AxisUse::ROTATION , Gdk::AxisUse::SLIDER , Gdk::AxisUse::LAST }
| Defines how device axes are interpreted by GTK. More...
enum class | Gdk::CrossingMode { Gdk::CrossingMode::NORMAL , Gdk::CrossingMode::GRAB , Gdk::CrossingMode::UNGRAB , Gdk::CrossingMode::GTK_GRAB , Gdk::CrossingMode::GTK_UNGRAB , Gdk::CrossingMode::STATE_CHANGED , Gdk::CrossingMode::TOUCH_BEGIN , Gdk::CrossingMode::TOUCH_END , Gdk::CrossingMode::DEVICE_SWITCH }
| Specifies the crossing mode for enter and leave events. More...
enum class | Gdk::DragAction { Gdk::DragAction::COPY = 1 << 0 , Gdk::DragAction::MOVE = 1 << 1 , Gdk::DragAction::LINK = 1 << 2 , Gdk::DragAction::ASK = 1 << 3 }
| Used in `Gdk::Drop` and `Gdk::Drag` to indicate the actions that the destination can and should do with the dropped data. More...
enum class | Gdk::Gravity { Gdk::Gravity::NORTH_WEST = 1 , Gdk::Gravity::NORTH , Gdk::Gravity::NORTH_EAST , Gdk::Gravity::WEST , Gdk::Gravity::CENTER , Gdk::Gravity::EAST , Gdk::Gravity::SOUTH_WEST , Gdk::Gravity::SOUTH , Gdk::Gravity::SOUTH_EAST , Gdk::Gravity::STATIC }
| Defines the reference point of a surface and is used in `Gdk::PopupLayout`. More...
enum class | Gdk::MemoryFormat { Gdk::MemoryFormat::B8G8R8A8_PREMULTIPLIED , Gdk::MemoryFormat::A8R8G8B8_PREMULTIPLIED , Gdk::MemoryFormat::R8G8B8A8_PREMULTIPLIED , Gdk::MemoryFormat::B8G8R8A8 , Gdk::MemoryFormat::A8R8G8B8 , Gdk::MemoryFormat::R8G8B8A8 , Gdk::MemoryFormat::A8B8G8R8 , Gdk::MemoryFormat::R8G8B8 , Gdk::MemoryFormat::B8G8R8 , Gdk::MemoryFormat::R16G16B16 , Gdk::MemoryFormat::R16G16B16A16_PREMULTIPLIED , Gdk::MemoryFormat::R16G16B16A16 , Gdk::MemoryFormat::R16G16B16_FLOAT , Gdk::MemoryFormat::R16G16B16A16_FLOAT_PREMULTIPLIED , Gdk::MemoryFormat::R16G16B16A16_FLOAT , Gdk::MemoryFormat::R32G32B32_FLOAT , Gdk::MemoryFormat::R32G32B32A32_FLOAT_PREMULTIPLIED , Gdk::MemoryFormat::R32G32B32A32_FLOAT , Gdk::MemoryFormat::G8A8_PREMULTIPLIED , Gdk::MemoryFormat::G8A8 , Gdk::MemoryFormat::G8 , Gdk::MemoryFormat::G16A16_PREMULTIPLIED , Gdk::MemoryFormat::G16A16 , Gdk::MemoryFormat::G16 , Gdk::MemoryFormat::A8 , Gdk::MemoryFormat::A16 , Gdk::MemoryFormat::A16_FLOAT , Gdk::MemoryFormat::A32_FLOAT , Gdk::MemoryFormat::A8B8G8R8_PREMULTIPLIED , Gdk::MemoryFormat::B8G8R8X8 , Gdk::MemoryFormat::X8R8G8B8 , Gdk::MemoryFormat::R8G8B8X8 , Gdk::MemoryFormat::X8B8G8R8 , Gdk::MemoryFormat::N_FORMATS }
| `Gdk::MemoryFormat` describes formats that image data can have in memory. More...
enum class | Gdk::ModifierType { Gdk::ModifierType::NO_MODIFIER_MASK = 0x0 , Gdk::ModifierType::SHIFT_MASK = 1 << 0 , Gdk::ModifierType::LOCK_MASK = 1 << 1 , Gdk::ModifierType::CONTROL_MASK = 1 << 2 , Gdk::ModifierType::ALT_MASK = 1 << 3 , Gdk::ModifierType::BUTTON1_MASK = 1 << 8 , Gdk::ModifierType::BUTTON2_MASK = 1 << 9 , Gdk::ModifierType::BUTTON3_MASK = 1 << 10 , Gdk::ModifierType::BUTTON4_MASK = 1 << 11 , Gdk::ModifierType::BUTTON5_MASK = 1 << 12 , Gdk::ModifierType::SUPER_MASK = 1 << 26 , Gdk::ModifierType::HYPER_MASK = 1 << 27 , Gdk::ModifierType::META_MASK = 1 << 28 }
| Flags to indicate the state of modifier keys and mouse buttons in events. More...
enum class | Gdk::NotifyType { Gdk::NotifyType::ANCESTOR , Gdk::NotifyType::VIRTUAL , Gdk::NotifyType::INFERIOR , Gdk::NotifyType::NONLINEAR , Gdk::NotifyType::NONLINEAR_VIRTUAL , Gdk::NotifyType::UNKNOWN }
| Specifies the kind of crossing for enter and leave events. More...
enum class | Gdk::ScrollDirection { Gdk::ScrollDirection::UP , Gdk::ScrollDirection::DOWN , Gdk::ScrollDirection::LEFT , Gdk::ScrollDirection::RIGHT , Gdk::ScrollDirection::SMOOTH }
| Specifies the direction for scroll events. More...
enum class | Gdk::TouchpadGesturePhase { Gdk::TouchpadGesturePhase::BEGIN , Gdk::TouchpadGesturePhase::UPDATE , Gdk::TouchpadGesturePhase::END , Gdk::TouchpadGesturePhase::CANCEL }
| Specifies the current state of a touchpad gesture. More...
enum class | Gdk::ScrollUnit { Gdk::ScrollUnit::WHEEL , Gdk::ScrollUnit::SURFACE }
| Specifies the unit of scroll deltas. More...
enum class | Gdk::KeyMatch { Gdk::KeyMatch::NONE , Gdk::KeyMatch::PARTIAL , Gdk::KeyMatch::EXACT }
| Describes how well an event matches a given keyval and modifiers. More...
enum class | Gdk::FrameClock::Phase { Gdk::FrameClock::Phase::NONE = 0x0 , Gdk::FrameClock::Phase::FLUSH_EVENTS = 1 << 0 , Gdk::FrameClock::Phase::BEFORE_PAINT = 1 << 1 , Gdk::FrameClock::Phase::UPDATE = 1 << 2 , Gdk::FrameClock::Phase::LAYOUT = 1 << 3 , Gdk::FrameClock::Phase::PAINT = 1 << 4 , Gdk::FrameClock::Phase::RESUME_EVENTS = 1 << 5 , Gdk::FrameClock::Phase::AFTER_PAINT = 1 << 6 }
| Used to represent the different paint clock phases that can be requested. More...
enum class | Gdk::GLApi { Gdk::GLApi::GL = 1 << 0 , Gdk::GLApi::GLES = 1 << 1 }
| The list of the different APIs that GdkGLContext can potentially support. More...
enum class | Gdk::GLAPI { Gdk::GLAPI::GL = 1 << 0 , Gdk::GLAPI::GLES = 1 << 1 }
| The list of the different APIs that GdkGLContext can potentially support. More...
enum class | Gdk::MemoryTexture::Format { Gdk::MemoryTexture::Format::B8G8R8A8_PREMULTIPLIED , Gdk::MemoryTexture::Format::A8R8G8B8_PREMULTIPLIED , Gdk::MemoryTexture::Format::R8G8B8A8_PREMULTIPLIED , Gdk::MemoryTexture::Format::B8G8R8A8 , Gdk::MemoryTexture::Format::A8R8G8B8 , Gdk::MemoryTexture::Format::R8G8B8A8 , Gdk::MemoryTexture::Format::A8B8G8R8 , Gdk::MemoryTexture::Format::R8G8B8 , Gdk::MemoryTexture::Format::B8G8R8 , Gdk::MemoryTexture::Format::R16G16B16 , Gdk::MemoryTexture::Format::R16G16B16A16_PREMULTIPLIED , Gdk::MemoryTexture::Format::R16G16B16A16 , Gdk::MemoryTexture::Format::R16G16B16_FLOAT , Gdk::MemoryTexture::Format::R16G16B16A16_FLOAT_PREMULTIPLIED , Gdk::MemoryTexture::Format::R16G16B16A16_FLOAT , Gdk::MemoryTexture::Format::R32G32B32_FLOAT , Gdk::MemoryTexture::Format::R32G32B32A32_FLOAT_PREMULTIPLIED , Gdk::MemoryTexture::Format::R32G32B32A32_FLOAT , Gdk::MemoryTexture::Format::G8A8_PREMULTIPLIED , Gdk::MemoryTexture::Format::G8A8 , Gdk::MemoryTexture::Format::G8 , Gdk::MemoryTexture::Format::G16A16_PREMULTIPLIED , Gdk::MemoryTexture::Format::G16A16 , Gdk::MemoryTexture::Format::G16 , Gdk::MemoryTexture::Format::A8 , Gdk::MemoryTexture::Format::A16 , Gdk::MemoryTexture::Format::A16_FLOAT , Gdk::MemoryTexture::Format::A32_FLOAT , Gdk::MemoryTexture::Format::A8B8G8R8_PREMULTIPLIED , Gdk::MemoryTexture::Format::B8G8R8X8 , Gdk::MemoryTexture::Format::X8R8G8B8 , Gdk::MemoryTexture::Format::R8G8B8X8 , Gdk::MemoryTexture::Format::X8B8G8R8 , Gdk::MemoryTexture::Format::N_FORMATS }
| Prefer Gdk::MemoryFormat to Gdk::MemoryTexture::Format where possible. More...
enum class | Gdk::SubpixelLayout { Gdk::SubpixelLayout::UNKNOWN , Gdk::SubpixelLayout::NONE , Gdk::SubpixelLayout::HORIZONTAL_RGB , Gdk::SubpixelLayout::HORIZONTAL_BGR , Gdk::SubpixelLayout::VERTICAL_RGB , Gdk::SubpixelLayout::VERTICAL_BGR }
| This enumeration describes how the red, green and blue components of physical pixels on an output device are laid out. More...
enum class | Gdk::Paintable::Flags { Gdk::Paintable::Flags::STATIC_SIZE = 1 << 0 , Gdk::Paintable::Flags::STATIC_CONTENTS = 1 << 1 }
| Flags about a paintable object. More...
enum class | Gdk::Colorspace { Gdk::Colorspace::RGB }
| This enumeration defines the color spaces that are supported by the gdk-pixbuf library. More...
enum class | Gdk::InterpType { Gdk::InterpType::NEAREST , Gdk::InterpType::TILES , Gdk::InterpType::BILINEAR , Gdk::InterpType::HYPER }
| Interpolation modes for scaling functions. More...
enum class | Gdk::Pixbuf::Rotation { Gdk::Pixbuf::Rotation::NONE = 0 , Gdk::Pixbuf::Rotation::COUNTERCLOCKWISE = 90 , Gdk::Pixbuf::Rotation::UPSIDEDOWN = 180 , Gdk::Pixbuf::Rotation::CLOCKWISE = 270 }
| The possible rotations which can be passed to Gdk::Pixbuf::rotate_simple(). More...
enum class | Gdk::AnchorHints { Gdk::AnchorHints::FLIP_X = 1 << 0 , Gdk::AnchorHints::FLIP_Y = 1 << 1 , Gdk::AnchorHints::SLIDE_X = 1 << 2 , Gdk::AnchorHints::SLIDE_Y = 1 << 3 , Gdk::AnchorHints::RESIZE_X = 1 << 4 , Gdk::AnchorHints::RESIZE_Y = 1 << 5 , Gdk::AnchorHints::FLIP = 0x3 , Gdk::AnchorHints::SLIDE = 0xC , Gdk::AnchorHints::RESIZE = 0x30 }
| Positioning hints for aligning a surface relative to a rectangle. More...
enum class | Gdk::Seat::Capabilities { Gdk::Seat::Capabilities::NONE = 0x0 , Gdk::Seat::Capabilities::POINTER = 1 << 0 , Gdk::Seat::Capabilities::TOUCH = 1 << 1 , Gdk::Seat::Capabilities::TABLET_STYLUS = 1 << 2 , Gdk::Seat::Capabilities::KEYBOARD = 1 << 3 , Gdk::Seat::Capabilities::TABLET_PAD = 1 << 4 , Gdk::Seat::Capabilities::ALL_POINTING = 0x7 , Gdk::Seat::Capabilities::ALL = 0x1F }
| Flags describing the seat capabilities. More...
enum class | Gdk::SurfaceEdge { Gdk::SurfaceEdge::NORTH_WEST , Gdk::SurfaceEdge::NORTH , Gdk::SurfaceEdge::NORTH_EAST , Gdk::SurfaceEdge::WEST , Gdk::SurfaceEdge::EAST , Gdk::SurfaceEdge::SOUTH_WEST , Gdk::SurfaceEdge::SOUTH , Gdk::SurfaceEdge::SOUTH_EAST }
| Determines a surface edge or corner. More...
enum class | Gdk::FullscreenMode { Gdk::FullscreenMode::ON_CURRENT_MONITOR , Gdk::FullscreenMode::ON_ALL_MONITORS }
| Indicates which monitor a surface should span over when in fullscreen mode. More...
enum class | Gdk::Toplevel::State { Gdk::Toplevel::State::MINIMIZED = 1 << 0 , Gdk::Toplevel::State::MAXIMIZED = 1 << 1 , Gdk::Toplevel::State::STICKY = 1 << 2 , Gdk::Toplevel::State::FULLSCREEN = 1 << 3 , Gdk::Toplevel::State::ABOVE = 1 << 4 , Gdk::Toplevel::State::BELOW = 1 << 5 , Gdk::Toplevel::State::FOCUSED = 1 << 6 , Gdk::Toplevel::State::TILED = 1 << 7 , Gdk::Toplevel::State::TOP_TILED = 1 << 8 , Gdk::Toplevel::State::TOP_RESIZABLE = 1 << 9 , Gdk::Toplevel::State::RIGHT_TILED = 1 << 10 , Gdk::Toplevel::State::RIGHT_RESIZABLE = 1 << 11 , Gdk::Toplevel::State::BOTTOM_TILED = 1 << 12 , Gdk::Toplevel::State::BOTTOM_RESIZABLE = 1 << 13 , Gdk::Toplevel::State::LEFT_TILED = 1 << 14 , Gdk::Toplevel::State::LEFT_RESIZABLE = 1 << 15 , Gdk::Toplevel::State::SUSPENDED = 1 << 16 }
| Specifies the state of a toplevel surface. More...

## Functions
constexpr AxisFlags | Gdk::operator| (AxisFlags lhs, AxisFlags rhs)
constexpr AxisFlags | Gdk::operator& (AxisFlags lhs, AxisFlags rhs)
constexpr AxisFlags | Gdk::operator^ (AxisFlags lhs, AxisFlags rhs)
constexpr AxisFlags | Gdk::operator~ (AxisFlags flags)
AxisFlags & | Gdk::operator|= (AxisFlags & lhs, AxisFlags rhs)
AxisFlags & | Gdk::operator&= (AxisFlags & lhs, AxisFlags rhs)
AxisFlags & | Gdk::operator^= (AxisFlags & lhs, AxisFlags rhs)
constexpr DragAction | Gdk::operator| (DragAction lhs, DragAction rhs)
constexpr DragAction | Gdk::operator& (DragAction lhs, DragAction rhs)
constexpr DragAction | Gdk::operator^ (DragAction lhs, DragAction rhs)
constexpr DragAction | Gdk::operator~ (DragAction flags)
DragAction & | Gdk::operator|= (DragAction & lhs, DragAction rhs)
DragAction & | Gdk::operator&= (DragAction & lhs, DragAction rhs)
DragAction & | Gdk::operator^= (DragAction & lhs, DragAction rhs)
constexpr ModifierType | Gdk::operator| (ModifierType lhs, ModifierType rhs)
constexpr ModifierType | Gdk::operator& (ModifierType lhs, ModifierType rhs)
constexpr ModifierType | Gdk::operator^ (ModifierType lhs, ModifierType rhs)
constexpr ModifierType | Gdk::operator~ (ModifierType flags)
ModifierType & | Gdk::operator|= (ModifierType & lhs, ModifierType rhs)
ModifierType & | Gdk::operator&= (ModifierType & lhs, ModifierType rhs)
ModifierType & | Gdk::operator^= (ModifierType & lhs, ModifierType rhs)
constexpr FrameClock::Phase | Gdk::operator| (FrameClock::Phase lhs, FrameClock::Phase rhs)
constexpr FrameClock::Phase | Gdk::operator& (FrameClock::Phase lhs, FrameClock::Phase rhs)
constexpr FrameClock::Phase | Gdk::operator^ (FrameClock::Phase lhs, FrameClock::Phase rhs)
constexpr FrameClock::Phase | Gdk::operator~ (FrameClock::Phase flags)
FrameClock::Phase & | Gdk::operator|= (FrameClock::Phase & lhs, FrameClock::Phase rhs)
FrameClock::Phase & | Gdk::operator&= (FrameClock::Phase & lhs, FrameClock::Phase rhs)
FrameClock::Phase & | Gdk::operator^= (FrameClock::Phase & lhs, FrameClock::Phase rhs)
constexpr GLApi | Gdk::operator| (GLApi lhs, GLApi rhs)
constexpr GLApi | Gdk::operator& (GLApi lhs, GLApi rhs)
constexpr GLApi | Gdk::operator^ (GLApi lhs, GLApi rhs)
constexpr GLApi | Gdk::operator~ (GLApi flags)
GLApi & | Gdk::operator|= (GLApi & lhs, GLApi rhs)
GLApi & | Gdk::operator&= (GLApi & lhs, GLApi rhs)
GLApi & | Gdk::operator^= (GLApi & lhs, GLApi rhs)
constexpr GLAPI | Gdk::operator| (GLAPI lhs, GLAPI rhs)
constexpr GLAPI | Gdk::operator& (GLAPI lhs, GLAPI rhs)
constexpr GLAPI | Gdk::operator^ (GLAPI lhs, GLAPI rhs)
constexpr GLAPI | Gdk::operator~ (GLAPI flags)
GLAPI & | Gdk::operator|= (GLAPI & lhs, GLAPI rhs)
GLAPI & | Gdk::operator&= (GLAPI & lhs, GLAPI rhs)
GLAPI & | Gdk::operator^= (GLAPI & lhs, GLAPI rhs)
constexpr Paintable::Flags | Gdk::operator| (Paintable::Flags lhs, Paintable::Flags rhs)
constexpr Paintable::Flags | Gdk::operator& (Paintable::Flags lhs, Paintable::Flags rhs)
constexpr Paintable::Flags | Gdk::operator^ (Paintable::Flags lhs, Paintable::Flags rhs)
constexpr Paintable::Flags | Gdk::operator~ (Paintable::Flags flags)
Paintable::Flags & | Gdk::operator|= (Paintable::Flags & lhs, Paintable::Flags rhs)
Paintable::Flags & | Gdk::operator&= (Paintable::Flags & lhs, Paintable::Flags rhs)
Paintable::Flags & | Gdk::operator^= (Paintable::Flags & lhs, Paintable::Flags rhs)
constexpr AnchorHints | Gdk::operator| (AnchorHints lhs, AnchorHints rhs)
constexpr AnchorHints | Gdk::operator& (AnchorHints lhs, AnchorHints rhs)
constexpr AnchorHints | Gdk::operator^ (AnchorHints lhs, AnchorHints rhs)
constexpr AnchorHints | Gdk::operator~ (AnchorHints flags)
AnchorHints & | Gdk::operator|= (AnchorHints & lhs, AnchorHints rhs)
AnchorHints & | Gdk::operator&= (AnchorHints & lhs, AnchorHints rhs)
AnchorHints & | Gdk::operator^= (AnchorHints & lhs, AnchorHints rhs)
constexpr Seat::Capabilities | Gdk::operator| (Seat::Capabilities lhs, Seat::Capabilities rhs)
constexpr Seat::Capabilities | Gdk::operator& (Seat::Capabilities lhs, Seat::Capabilities rhs)
constexpr Seat::Capabilities | Gdk::operator^ (Seat::Capabilities lhs, Seat::Capabilities rhs)
constexpr Seat::Capabilities | Gdk::operator~ (Seat::Capabilities flags)
Seat::Capabilities & | Gdk::operator|= (Seat::Capabilities & lhs, Seat::Capabilities rhs)
Seat::Capabilities & | Gdk::operator&= (Seat::Capabilities & lhs, Seat::Capabilities rhs)
Seat::Capabilities & | Gdk::operator^= (Seat::Capabilities & lhs, Seat::Capabilities rhs)
constexpr Toplevel::State | Gdk::operator| (Toplevel::State lhs, Toplevel::State rhs)
constexpr Toplevel::State | Gdk::operator& (Toplevel::State lhs, Toplevel::State rhs)
constexpr Toplevel::State | Gdk::operator^ (Toplevel::State lhs, Toplevel::State rhs)
constexpr Toplevel::State | Gdk::operator~ (Toplevel::State flags)
Toplevel::State & | Gdk::operator|= (Toplevel::State & lhs, Toplevel::State rhs)
Toplevel::State & | Gdk::operator&= (Toplevel::State & lhs, Toplevel::State rhs)
Toplevel::State & | Gdk::operator^= (Toplevel::State & lhs, Toplevel::State rhs)

## Detailed Description

## Enumeration Type Documentation

## ◆ AnchorHints

enum class Gdk::AnchorHints
| strong

Positioning hints for aligning a surface relative to a rectangle.

These hints determine how the surface should be positioned in the case that the surface would fall off-screen if placed in its ideal position.

For example, Gdk::AnchorHints::FLIP_X will replace Gdk::Gravity::NORTH_WEST with Gdk::Gravity::NORTH_EAST and vice versa if the surface extends beyond the left or right edges of the monitor.

If Gdk::AnchorHints::SLIDE_X is set, the surface can be shifted horizontally to fit on-screen. If Gdk::AnchorHints::RESIZE_X is set, the surface can be shrunken horizontally to fit.

In general, when multiple flags are set, flipping should take precedence over sliding, which should take precedence over resizing.

Bitwise operators:
  `AnchorHints operator|(AnchorHints, AnchorHints)`
  `AnchorHints operator&(AnchorHints, AnchorHints)`
  `AnchorHints operator^(AnchorHints, AnchorHints)`
  `AnchorHints operator~(AnchorHints)`
  `AnchorHints& operator|=(AnchorHints&, AnchorHints)`
  `AnchorHints& operator&=(AnchorHints&, AnchorHints)`
  `AnchorHints& operator^=(AnchorHints&, AnchorHints)`

Enumerator
FLIP_X | Allow flipping anchors horizontally.
FLIP_Y | Allow flipping anchors vertically.
SLIDE_X | Allow sliding surface horizontally.
SLIDE_Y | Allow sliding surface vertically.
RESIZE_X | Allow resizing surface horizontally.
RESIZE_Y | Allow resizing surface vertically.
FLIP | Allow flipping anchors on both axes.
SLIDE | Allow sliding surface on both axes.
RESIZE | Allow resizing surface on both axes.

## ◆ AxisFlags

enum class Gdk::AxisFlags
| strong

Flags describing the current capabilities of a device/tool.

Bitwise operators:
  `AxisFlags operator|(AxisFlags, AxisFlags)`
  `AxisFlags operator&(AxisFlags, AxisFlags)`
  `AxisFlags operator^(AxisFlags, AxisFlags)`
  `AxisFlags operator~(AxisFlags)`
  `AxisFlags& operator|=(AxisFlags&, AxisFlags)`
  `AxisFlags& operator&=(AxisFlags&, AxisFlags)`
  `AxisFlags& operator^=(AxisFlags&, AxisFlags)`

Enumerator
X | X axis is present. The axis is used as the x axis.
Y | Y axis is present. The axis is used as the y axis.
DELTA_X | Scroll X delta axis is present. The axis is used as the scroll x delta.
DELTA_Y | Scroll Y delta axis is present. The axis is used as the scroll y delta.
PRESSURE | Pressure axis is present. The axis is used for pressure information.
XTILT | X tilt axis is present. The axis is used for x tilt information.
YTILT | Y tilt axis is present. The axis is used for y tilt information.
WHEEL | Wheel axis is present. The delta is in number of wheel clicks. The axis is used for wheel information.
DISTANCE | Distance axis is present. The axis is used for pen/tablet distance information.
ROTATION | Z-axis rotation is present. The axis is used for pen rotation information.
SLIDER | Slider axis is present. The axis is used for pen slider information.

## ◆ AxisUse

enum class Gdk::AxisUse
| strong

Defines how device axes are interpreted by GTK.

Note that the X and Y axes are not really needed; pointer devices report their location via the x/y members of events regardless. Whether X and Y are present as axes depends on the GDK backend.

Enumerator
IGNORE | The axis is ignored.
X |
Y |
DELTA_X |
DELTA_Y |
PRESSURE |
XTILT |
YTILT |
WHEEL |
DISTANCE |
ROTATION |
SLIDER |
LAST | A constant equal to the numerically highest axis value.

## ◆ Capabilities

enum class Gdk::Seat::Capabilities
| strong

Flags describing the seat capabilities.

Bitwise operators:
  `Seat::Capabilities operator|(Seat::Capabilities, Seat::Capabilities)`
  `Seat::Capabilities operator&(Seat::Capabilities, Seat::Capabilities)`
  `Seat::Capabilities operator^(Seat::Capabilities, Seat::Capabilities)`
  `Seat::Capabilities operator~(Seat::Capabilities)`
  `Seat::Capabilities& operator|=(Seat::Capabilities&, Seat::Capabilities)`
  `Seat::Capabilities& operator&=(Seat::Capabilities&, Seat::Capabilities)`
  `Seat::Capabilities& operator^=(Seat::Capabilities&, Seat::Capabilities)`

Enumerator
NONE | No input capabilities.
POINTER | The seat has a pointer (e.g. mouse).
TOUCH | The seat has touchscreen(s) attached.
TABLET_STYLUS | The seat has drawing tablet(s) attached.
KEYBOARD | The seat has keyboard(s) attached.
TABLET_PAD | The seat has drawing tablet pad(s) attached.
ALL_POINTING | The union of all pointing capabilities.
ALL | The union of all capabilities.

## ◆ Colorspace

enum class Gdk::Colorspace
| strong

This enumeration defines the color spaces that are supported by the gdk-pixbuf library.

Currently only RGB is supported.

Enumerator
RGB | Indicates a red/green/blue additive color space.

## ◆ CrossingMode

enum class Gdk::CrossingMode
| strong

Specifies the crossing mode for enter and leave events.

Enumerator
NORMAL | Crossing because of pointer motion.
GRAB | Crossing because a grab is activated.
UNGRAB | Crossing because a grab is deactivated.
GTK_GRAB | Crossing because a GTK grab is activated.
GTK_UNGRAB | Crossing because a GTK grab is deactivated.
STATE_CHANGED | Crossing because a GTK widget changed state (e.g. sensitivity).
TOUCH_BEGIN | Crossing because a touch sequence has begun, this event is synthetic as the pointer might have not left the surface.
TOUCH_END | Crossing because a touch sequence has ended, this event is synthetic as the pointer might have not left the surface.
DEVICE_SWITCH | 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.

## ◆ DragAction

enum class Gdk::DragAction
| strong

Used in `Gdk::Drop` and `Gdk::Drag` to indicate the actions that the destination can and should do with the dropped data.

Bitwise operators:
  `DragAction operator|(DragAction, DragAction)`
  `DragAction operator&(DragAction, DragAction)`
  `DragAction operator^(DragAction, DragAction)`
  `DragAction operator~(DragAction)`
  `DragAction& operator|=(DragAction&, DragAction)`
  `DragAction& operator&=(DragAction&, DragAction)`
  `DragAction& operator^=(DragAction&, DragAction)`

Enumerator
COPY | Copy the data.
MOVE | Move the data, i.e. first copy it, then delete it from the source using the DELETE target of the X selection protocol.
LINK | 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.
ASK | Ask the user what to do with the data.

## ◆ DragCancelReason

enum class Gdk::DragCancelReason
| strong

Used in `Gdk::Drag` to the reason of a cancelled DND operation.

Enumerator
NO_TARGET | There is no suitable drop target.
USER_CANCELLED | Drag cancelled by the user.
ERROR | Unspecified error.

## ◆ Feature

enum class Gdk::DevicePad::Feature
| strong

A pad feature.

Enumerator
BUTTON | A button.
RING | A ring-shaped interactive area.
STRIP | A straight interactive area.

## ◆ Flags

enum class Gdk::Paintable::Flags
| strong

Flags about a paintable object.

Implementations use these for optimizations such as caching.

Bitwise operators:
  `Paintable::Flags operator|(Paintable::Flags, Paintable::Flags)`
  `Paintable::Flags operator&(Paintable::Flags, Paintable::Flags)`
  `Paintable::Flags operator^(Paintable::Flags, Paintable::Flags)`
  `Paintable::Flags operator~(Paintable::Flags)`
  `Paintable::Flags& operator|=(Paintable::Flags&, Paintable::Flags)`
  `Paintable::Flags& operator&=(Paintable::Flags&, Paintable::Flags)`
  `Paintable::Flags& operator^=(Paintable::Flags&, Paintable::Flags)`

Enumerator
STATIC_SIZE | The size is immutable. The Gdk::Paintable::signal_invalidate_size() signal will never be emitted.
STATIC_CONTENTS | The content is immutable. The Gdk::Paintable::signal_invalidate_contents() signal will never be emitted.

## ◆ Format

enum class Gdk::MemoryTexture::Format
| strong

Prefer Gdk::MemoryFormat to Gdk::MemoryTexture::Format where possible.

`Gdk::MemoryFormat` describes formats that image data can have in memory.

Gdk::MemoryFormat and Gdk::MemoryTexture::Format are identical. It's possible to convert between them with static_cast.

It describes formats by listing the contents of the memory passed to it. So `Gdk::MemoryFormat::A8R8G8B8` will be 1 byte (8 bits) of alpha, followed by a byte each of red, green and blue. It is not endian-dependent, so `Cairo::Surface::Format::ARGB32` is represented by different `Gdk::MemoryFormats` on architectures with different endiannesses.

Its naming is modelled after VkFormat for details).

Enumerator
B8G8R8A8_PREMULTIPLIED | 4 bytes; for blue, green, red, alpha. The color values are premultiplied with the alpha value.
A8R8G8B8_PREMULTIPLIED | 4 bytes; for alpha, red, green, blue. The color values are premultiplied with the alpha value.
R8G8B8A8_PREMULTIPLIED | 4 bytes; for red, green, blue, alpha The color values are premultiplied with the alpha value.
B8G8R8A8 | 4 bytes; for blue, green, red, alpha.
A8R8G8B8 | 4 bytes; for alpha, red, green, blue.
R8G8B8A8 | 4 bytes; for red, green, blue, alpha.
A8B8G8R8 | 4 bytes; for alpha, blue, green, red.
R8G8B8 | 3 bytes; for red, green, blue. The data is opaque.
B8G8R8 | 3 bytes; for blue, green, red. The data is opaque.
R16G16B16 |
R16G16B16A16_PREMULTIPLIED |
R16G16B16A16 |
R16G16B16_FLOAT |
R16G16B16A16_FLOAT_PREMULTIPLIED |
R16G16B16A16_FLOAT |
R32G32B32_FLOAT | 3 float values; for red, green, blue.
R32G32B32A32_FLOAT_PREMULTIPLIED |
R32G32B32A32_FLOAT |
G8A8_PREMULTIPLIED |
G8A8 |
G8 |
G16A16_PREMULTIPLIED |
G16A16 |
G16 |
A8 |
A16 |
A16_FLOAT |
A32_FLOAT |
A8B8G8R8_PREMULTIPLIED |
B8G8R8X8 |
X8R8G8B8 |
R8G8B8X8 |
X8B8G8R8 |
N_FORMATS | The number of formats. This value will change as more formats get added, so do not rely on its concrete integer.

## ◆ FullscreenMode

enum class Gdk::FullscreenMode
| strong

Indicates which monitor a surface should span over when in fullscreen mode.

Enumerator
ON_CURRENT_MONITOR | Fullscreen on current monitor only.
ON_ALL_MONITORS | Span across all monitors when fullscreen.

## ◆ GLApi

enum class Gdk::GLApi
| strong

The list of the different APIs that GdkGLContext can potentially support.

Since gtkmm 4.8

Bitwise operators:
  `GLApi operator|(GLApi, GLApi)`
  `GLApi operator&(GLApi, GLApi)`
  `GLApi operator^(GLApi, GLApi)`
  `GLApi operator~(GLApi)`
  `GLApi& operator|=(GLApi&, GLApi)`
  `GLApi& operator&=(GLApi&, GLApi)`
  `GLApi& operator^=(GLApi&, GLApi)`

Enumerator
GL | The OpenGL API.
GLES | The OpenGL ES API.

## ◆ GLAPI

enum class Gdk::GLAPI
| strong

The list of the different APIs that GdkGLContext can potentially support.

Note
  Name clash! GLAPI is defined as a preprocessor macro in epoxy/gl.h. If you include epoxy/gl.h and want to use API with Gdk::GLAPI, you must undef GLAPI.
  #include <gdkmm/glcontext.h> // or <gtkmm.h>
  #include <epoxy/gl.h>
  #undef GLAPI
  or
  #include <epoxy/gl.h>
  #undef GLAPI
  #include <gdkmm/glcontext.h> // or <gtkmm.h>

Since gtkmm 4.6

Deprecated
  Use Gdk::GLApi instead.

Bitwise operators:
  `GLAPI operator|(GLAPI, GLAPI)`
  `GLAPI operator&(GLAPI, GLAPI)`
  `GLAPI operator^(GLAPI, GLAPI)`
  `GLAPI operator~(GLAPI)`
  `GLAPI& operator|=(GLAPI&, GLAPI)`
  `GLAPI& operator&=(GLAPI&, GLAPI)`
  `GLAPI& operator^=(GLAPI&, GLAPI)`

Enumerator
GL |
GLES |

## ◆ Gravity

enum class Gdk::Gravity
| strong

Defines the reference point of a surface and is used in `Gdk::PopupLayout`.

Enumerator
NORTH_WEST | The reference point is at the top left corner. The top left corner.
NORTH | The reference point is in the middle of the top edge. The top edge.
NORTH_EAST | The reference point is at the top right corner. The top right corner.
WEST | The reference point is at the middle of the left edge. The left edge.
CENTER | The reference point is at the center of the surface.
EAST | The reference point is at the middle of the right edge. The right edge.
SOUTH_WEST | The reference point is at the lower left corner. The lower left corner.
SOUTH | The reference point is at the middle of the lower edge. The lower edge.
SOUTH_EAST | The reference point is at the lower right corner. The lower right corner.
STATIC | The reference point is at the top left corner of the surface itself, ignoring window manager decorations.

## ◆ InputSource

enum class Gdk::InputSource
| strong

An enumeration describing the type of an input device in general terms.

Enumerator
MOUSE | The device is a mouse. (This will be reported for the core pointer, even if it is something else, such as a trackball.).
PEN | The device is a stylus of a graphics tablet or similar device.
KEYBOARD | The device is a keyboard.
TOUCHSCREEN | The device is a direct-input touch device, such as a touchscreen or tablet.
TOUCHPAD | The device is an indirect touch device, such as a touchpad.
TRACKPOINT | The device is a trackpoint.
TABLET_PAD | The device is a "pad", a collection of buttons, rings and strips found in drawing tablets.

## ◆ InterpType

enum class Gdk::InterpType
| strong

Interpolation modes for scaling functions.

The `Gdk::InterpType::NEAREST` mode is the fastest scaling method, but has horrible quality when scaling down; `Gdk::InterpType::BILINEAR` is the best choice if you aren't sure what to choose, it has a good speed/quality balance.

Note: Cubic filtering is missing from the list; hyperbolic interpolation is just as fast and results in higher quality.

Enumerator
NEAREST | Nearest neighbor sampling; this is the fastest and lowest quality mode. Quality is normally unacceptable when scaling down, but may be OK when scaling up.
TILES | This is an accurate simulation of the PostScript image operator without any interpolation enabled. Each pixel is rendered as a tiny parallelogram of solid color, the edges of which are implemented with antialiasing. It resembles nearest neighbor for enlargement, and bilinear for reduction.
BILINEAR | Best quality/speed balance; use this mode by default. Bilinear interpolation. For enlargement, it is equivalent to point-sampling the ideal bilinear-interpolated image. For reduction, it is equivalent to laying down small tiles and integrating over the coverage area.
HYPER | This is the slowest and highest quality reconstruction function. It is derived from the hyperbolic filters in Wolberg's "Digital Image Warping", and is formally defined as the hyperbolic-filter sampling the ideal hyperbolic-filter interpolated image (the filter is designed to be idempotent for 1:1 pixel mapping). Deprecated: this interpolation filter is deprecated, as in reality it has a lower quality than the GDK_INTERP_BILINEAR filter (Since: 2.38).

## ◆ KeyMatch

enum class Gdk::KeyMatch
| strong

Describes how well an event matches a given keyval and modifiers.

`Gdk::KeyMatch` values are returned by Gdk::KeyEvent::matches().

Enumerator
NONE | The key event does not match. Not organized in this way.
PARTIAL | The key event matches if keyboard state (specifically, the currently active group) is ignored.
EXACT | The key event matches.

## ◆ MemoryFormat

enum class Gdk::MemoryFormat
| strong

`Gdk::MemoryFormat` describes formats that image data can have in memory.

It describes formats by listing the contents of the memory passed to it. So `Gdk::MemoryFormat::A8R8G8B8` will be 1 byte (8 bits) of alpha, followed by a byte each of red, green and blue. It is not endian-dependent, so `Cairo::Surface::Format::ARGB32` is represented by different `Gdk::MemoryFormats` on architectures with different endiannesses.

Its naming is modelled after VkFormat for details).

Since gtkmm 4.10

Enumerator
B8G8R8A8_PREMULTIPLIED | 4 bytes; for blue, green, red, alpha. The color values are premultiplied with the alpha value.
A8R8G8B8_PREMULTIPLIED | 4 bytes; for alpha, red, green, blue. The color values are premultiplied with the alpha value.
R8G8B8A8_PREMULTIPLIED | 4 bytes; for red, green, blue, alpha The color values are premultiplied with the alpha value.
B8G8R8A8 | 4 bytes; for blue, green, red, alpha.
A8R8G8B8 | 4 bytes; for alpha, red, green, blue.
R8G8B8A8 | 4 bytes; for red, green, blue, alpha.
A8B8G8R8 | 4 bytes; for alpha, blue, green, red.
R8G8B8 | 3 bytes; for red, green, blue. The data is opaque.
B8G8R8 | 3 bytes; for blue, green, red. The data is opaque.
R16G16B16 |
R16G16B16A16_PREMULTIPLIED |
R16G16B16A16 |
R16G16B16_FLOAT |
R16G16B16A16_FLOAT_PREMULTIPLIED |
R16G16B16A16_FLOAT |
R32G32B32_FLOAT | 3 float values; for red, green, blue.
R32G32B32A32_FLOAT_PREMULTIPLIED |
R32G32B32A32_FLOAT |
G8A8_PREMULTIPLIED |
G8A8 |
G8 |
G16A16_PREMULTIPLIED |
G16A16 |
G16 |
A8 |
A16 |
A16_FLOAT |
A32_FLOAT |
A8B8G8R8_PREMULTIPLIED |
B8G8R8X8 |
X8R8G8B8 |
R8G8B8X8 |
X8B8G8R8 |
N_FORMATS | The number of formats. This value will change as more formats get added, so do not rely on its concrete integer.

## ◆ ModifierType

enum class Gdk::ModifierType
| strong

Flags to indicate the state of modifier keys and mouse buttons in events.

Typical modifier keys are Shift, Control, Meta, Super, Hyper, Alt, Compose, Apple, CapsLock or ShiftLock.

Note that GDK may add internal values to events which include values outside of this enumeration. Your code should preserve and ignore them. You can use GDK_MODIFIER_MASK to remove all private values.

Bitwise operators:
  `ModifierType operator|(ModifierType, ModifierType)`
  `ModifierType operator&(ModifierType, ModifierType)`
  `ModifierType operator^(ModifierType, ModifierType)`
  `ModifierType operator~(ModifierType)`
  `ModifierType& operator|=(ModifierType&, ModifierType)`
  `ModifierType& operator&=(ModifierType&, ModifierType)`
  `ModifierType& operator^=(ModifierType&, ModifierType)`

Enumerator
NO_MODIFIER_MASK |
SHIFT_MASK | The Shift key.
LOCK_MASK | A Lock key (depending on the modifier mapping of the X server this may either be CapsLock or ShiftLock).
CONTROL_MASK | The Control key.
ALT_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).
BUTTON1_MASK | The first mouse button.
BUTTON2_MASK | The second mouse button.
BUTTON3_MASK | The third mouse button.
BUTTON4_MASK | The fourth mouse button.
BUTTON5_MASK | The fifth mouse button.
SUPER_MASK | The Super modifier.
HYPER_MASK | The Hyper modifier.
META_MASK | The Meta modifier.

## ◆ NotifyType

enum class Gdk::NotifyType
| strong

Specifies the kind of crossing for enter and leave events.

See the X11 protocol specification of LeaveNotify for full details of crossing event generation.

Enumerator
ANCESTOR | The surface is entered from an ancestor or left towards an ancestor.
VIRTUAL | The pointer moves between an ancestor and an inferior of the surface.
INFERIOR | The surface is entered from an inferior or left towards an inferior.
NONLINEAR | The surface is entered from or left towards a surface which is neither an ancestor nor an inferior.
NONLINEAR_VIRTUAL | 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.
UNKNOWN | An unknown type of enter/leave event occurred. The layout is not known.

## ◆ Phase

enum class Gdk::FrameClock::Phase
| strong

Used to represent the different paint clock phases that can be requested.

The elements of the enumeration correspond to the signals of `Gdk::FrameClock`.

Bitwise operators:
  `FrameClock::Phase operator|(FrameClock::Phase, FrameClock::Phase)`
  `FrameClock::Phase operator&(FrameClock::Phase, FrameClock::Phase)`
  `FrameClock::Phase operator^(FrameClock::Phase, FrameClock::Phase)`
  `FrameClock::Phase operator~(FrameClock::Phase)`
  `FrameClock::Phase& operator|=(FrameClock::Phase&, FrameClock::Phase)`
  `FrameClock::Phase& operator&=(FrameClock::Phase&, FrameClock::Phase)`
  `FrameClock::Phase& operator^=(FrameClock::Phase&, FrameClock::Phase)`

Enumerator
NONE | No phase.
FLUSH_EVENTS | Corresponds to GdkFrameClock::flush-events. Should not be handled by applications.
BEFORE_PAINT | Corresponds to GdkFrameClock::before-paint. Should not be handled by applications.
UPDATE | Corresponds to GdkFrameClock::update.
LAYOUT | Corresponds to GdkFrameClock::layout. Should not be handled by applications.
PAINT | Corresponds to GdkFrameClock::paint.
RESUME_EVENTS | Corresponds to GdkFrameClock::resume-events. Should not be handled by applications.
AFTER_PAINT | Corresponds to GdkFrameClock::after-paint. Should not be handled by applications.

## ◆ Rotation

enum class Gdk::Pixbuf::Rotation
| strong

The possible rotations which can be passed to Gdk::Pixbuf::rotate_simple().

To make them easier to use, their numerical values are the actual degrees.

Enumerator
NONE | No rotation.
COUNTERCLOCKWISE | Rotate by 90 degrees.
UPSIDEDOWN | Rotate by 180 degrees.
CLOCKWISE | Rotate by 270 degrees.

## ◆ ScrollDirection

enum class Gdk::ScrollDirection
| strong

Specifies the direction for scroll events.

Enumerator
UP | The surface is scrolled up.
DOWN | The surface is scrolled down.
LEFT | The surface is scrolled to the left.
RIGHT | The surface is scrolled to the right.
SMOOTH | The scrolling is determined by the delta values in scroll events. See gdk_scroll_event_get_deltas().

## ◆ ScrollUnit

enum class Gdk::ScrollUnit
| strong

Specifies the unit of scroll deltas.

When you get Gdk::ScrollUnit::WHEEL, a delta of 1.0 means 1 wheel detent click in the south direction, 2.0 means 2 wheel detent clicks in the south direction... This is the same logic for negative values but in the north direction.

If you get Gdk::ScrollUnit::SURFACE, are managing a scrollable view and get a value of 123, you have to scroll 123 surface logical pixels right if it's delta_x or down if it's delta_y. This is the same logic for negative values but you have to scroll left instead of right if it's delta_x and up instead of down if it's delta_y.

1 surface logical pixel is equal to 1 real screen pixel multiplied by the final scale factor of your graphical interface (the product of the desktop scale factor and eventually a custom scale factor in your app).

Since gtkmm 4.8

Enumerator
WHEEL |
SURFACE | The delta is in surface pixels to scroll directly on screen.

## ◆ State

enum class Gdk::Toplevel::State
| strong

Specifies the state of a toplevel surface.

On platforms that support information about individual edges, the Gdk::Toplevel::State::TILED state will be set whenever any of the individual tiled states is set. On platforms that lack that support, the tiled state will give an indication of tiledness without any of the per-edge states being set.

Bitwise operators:
  `Toplevel::State operator|(Toplevel::State, Toplevel::State)`
  `Toplevel::State operator&(Toplevel::State, Toplevel::State)`
  `Toplevel::State operator^(Toplevel::State, Toplevel::State)`
  `Toplevel::State operator~(Toplevel::State)`
  `Toplevel::State& operator|=(Toplevel::State&, Toplevel::State)`
  `Toplevel::State& operator&=(Toplevel::State&, Toplevel::State)`
  `Toplevel::State& operator^=(Toplevel::State&, Toplevel::State)`

Enumerator
MINIMIZED | The surface is minimized.
MAXIMIZED | The surface is maximized.
STICKY | The surface is sticky.
FULLSCREEN | The surface is maximized without decorations.
ABOVE | The surface is kept above other surfaces.
BELOW | The surface is kept below other surfaces.
FOCUSED | The surface is presented as focused (with active decorations).
TILED | The surface is in a tiled state.
TOP_TILED | Whether the top edge is tiled.
TOP_RESIZABLE | Whether the top edge is resizable.
RIGHT_TILED | Whether the right edge is tiled.
RIGHT_RESIZABLE | Whether the right edge is resizable.
BOTTOM_TILED | Whether the bottom edge is tiled.
BOTTOM_RESIZABLE | Whether the bottom edge is resizable.
LEFT_TILED | Whether the left edge is tiled.
LEFT_RESIZABLE | Whether the left edge is resizable.
SUSPENDED | The surface is not visible to the user.

## ◆ SubpixelLayout

enum class Gdk::SubpixelLayout
| strong

This enumeration describes how the red, green and blue components of physical pixels on an output device are laid out.

Enumerator
UNKNOWN |
NONE |
HORIZONTAL_RGB | The layout is horizontal, the order is RGB.
HORIZONTAL_BGR | The layout is horizontal, the order is BGR.
VERTICAL_RGB | The layout is vertical, the order is RGB.
VERTICAL_BGR | The layout is vertical, the order is BGR.

## ◆ SurfaceEdge

enum class Gdk::SurfaceEdge
| strong

Determines a surface edge or corner.

Enumerator
NORTH_WEST |
NORTH |
NORTH_EAST |
WEST |
EAST |
SOUTH_WEST |
SOUTH |
SOUTH_EAST |

## ◆ TouchpadGesturePhase

enum class Gdk::TouchpadGesturePhase
| strong

Specifies the current state of a touchpad gesture.

All gestures are guaranteed to begin with an event with phase Gdk::TouchpadGesturePhase::BEGIN, followed by 0 or several events with phase Gdk::TouchpadGesturePhase::UPDATE.

A finished gesture may have 2 possible outcomes, an event with phase Gdk::TouchpadGesturePhase::END will be emitted when the gesture is considered successful, this should be used as the hint to perform any permanent changes.

Cancelled gestures may be so for a variety of reasons, due to hardware or the compositor, or due to the gesture recognition layers hinting the gesture did not finish resolutely (eg. a 3rd finger being added during a pinch gesture). In these cases, the last event will report the phase Gdk::TouchpadGesturePhase::CANCEL, this should be used as a hint to undo any visible/permanent changes that were done throughout the progress of the gesture.

Enumerator
BEGIN | The gesture has begun.
UPDATE | The gesture has been updated.
END | The gesture was finished, changes should be permanently applied.
CANCEL | The gesture was cancelled, all changes should be undone.

## ◆ Type

enum class Gdk::DeviceTool::Type
| strong

Indicates the specific type of tool being used being a tablet.

Specifies the type of the event.

Such as an airbrush, pencil, etc.

Enumerator
UNKNOWN | Tool is of an unknown type.
PEN | Tool is a standard tablet stylus.
ERASER | Tool is standard tablet eraser.
BRUSH | Tool is a brush stylus.
PENCIL | Tool is a pencil stylus.
AIRBRUSH | Tool is an airbrush stylus.
MOUSE | Tool is a mouse.
LENS | Tool is a lens cursor.

## Function Documentation

## ◆ operator&() [1/10]

constexpr AnchorHints Gdk::operator& | ( | AnchorHints | lhs,
|  | AnchorHints | rhs )
| inlineconstexpr

## ◆ operator&() [2/10]

constexpr AxisFlags Gdk::operator& | ( | AxisFlags | lhs,
|  | AxisFlags | rhs )
| inlineconstexpr

## ◆ operator&() [3/10]

constexpr DragAction Gdk::operator& | ( | DragAction | lhs,
|  | DragAction | rhs )
| inlineconstexpr

## ◆ operator&() [4/10]

constexpr FrameClock::Phase Gdk::operator& | ( | FrameClock::Phase | lhs,
|  | FrameClock::Phase | rhs )
| inlineconstexpr

## ◆ operator&() [5/10]

constexpr GLApi Gdk::operator& | ( | GLApi | lhs,
|  | GLApi | rhs )
| inlineconstexpr

## ◆ operator&() [6/10]

constexpr GLAPI Gdk::operator& | ( | GLAPI | lhs,
|  | GLAPI | rhs )
| inlineconstexpr

## ◆ operator&() [7/10]

constexpr ModifierType Gdk::operator& | ( | ModifierType | lhs,
|  | ModifierType | rhs )
| inlineconstexpr

## ◆ operator&() [8/10]

constexpr Paintable::Flags Gdk::operator& | ( | Paintable::Flags | lhs,
|  | Paintable::Flags | rhs )
| inlineconstexpr

## ◆ operator&() [9/10]

constexpr Seat::Capabilities Gdk::operator& | ( | Seat::Capabilities | lhs,
|  | Seat::Capabilities | rhs )
| inlineconstexpr

## ◆ operator&() [10/10]

constexpr Toplevel::State Gdk::operator& | ( | Toplevel::State | lhs,
|  | Toplevel::State | rhs )
| inlineconstexpr

## ◆ operator&=() [1/10]

AnchorHints & Gdk::operator&= | ( | AnchorHints & | lhs,
|  | AnchorHints | rhs )
| inline

## ◆ operator&=() [2/10]

AxisFlags & Gdk::operator&= | ( | AxisFlags & | lhs,
|  | AxisFlags | rhs )
| inline

## ◆ operator&=() [3/10]

DragAction & Gdk::operator&= | ( | DragAction & | lhs,
|  | DragAction | rhs )
| inline

## ◆ operator&=() [4/10]

FrameClock::Phase & Gdk::operator&= | ( | FrameClock::Phase & | lhs,
|  | FrameClock::Phase | rhs )
| inline

## ◆ operator&=() [5/10]

GLApi & Gdk::operator&= | ( | GLApi & | lhs,
|  | GLApi | rhs )
| inline

## ◆ operator&=() [6/10]

GLAPI & Gdk::operator&= | ( | GLAPI & | lhs,
|  | GLAPI | rhs )
| inline

## ◆ operator&=() [7/10]

ModifierType & Gdk::operator&= | ( | ModifierType & | lhs,
|  | ModifierType | rhs )
| inline

## ◆ operator&=() [8/10]

Paintable::Flags & Gdk::operator&= | ( | Paintable::Flags & | lhs,
|  | Paintable::Flags | rhs )
| inline

## ◆ operator&=() [9/10]

Seat::Capabilities & Gdk::operator&= | ( | Seat::Capabilities & | lhs,
|  | Seat::Capabilities | rhs )
| inline

## ◆ operator&=() [10/10]

Toplevel::State & Gdk::operator&= | ( | Toplevel::State & | lhs,
|  | Toplevel::State | rhs )
| inline

## ◆ operator^() [1/10]

constexpr AnchorHints Gdk::operator^ | ( | AnchorHints | lhs,
|  | AnchorHints | rhs )
| inlineconstexpr

## ◆ operator^() [2/10]

constexpr AxisFlags Gdk::operator^ | ( | AxisFlags | lhs,
|  | AxisFlags | rhs )
| inlineconstexpr

## ◆ operator^() [3/10]

constexpr DragAction Gdk::operator^ | ( | DragAction | lhs,
|  | DragAction | rhs )
| inlineconstexpr

## ◆ operator^() [4/10]

constexpr FrameClock::Phase Gdk::operator^ | ( | FrameClock::Phase | lhs,
|  | FrameClock::Phase | rhs )
| inlineconstexpr

## ◆ operator^() [5/10]

constexpr GLApi Gdk::operator^ | ( | GLApi | lhs,
|  | GLApi | rhs )
| inlineconstexpr

## ◆ operator^() [6/10]

constexpr GLAPI Gdk::operator^ | ( | GLAPI | lhs,
|  | GLAPI | rhs )
| inlineconstexpr

## ◆ operator^() [7/10]

constexpr ModifierType Gdk::operator^ | ( | ModifierType | lhs,
|  | ModifierType | rhs )
| inlineconstexpr

## ◆ operator^() [8/10]

constexpr Paintable::Flags Gdk::operator^ | ( | Paintable::Flags | lhs,
|  | Paintable::Flags | rhs )
| inlineconstexpr

## ◆ operator^() [9/10]

constexpr Seat::Capabilities Gdk::operator^ | ( | Seat::Capabilities | lhs,
|  | Seat::Capabilities | rhs )
| inlineconstexpr

## ◆ operator^() [10/10]

constexpr Toplevel::State Gdk::operator^ | ( | Toplevel::State | lhs,
|  | Toplevel::State | rhs )
| inlineconstexpr

## ◆ operator^=() [1/10]

AnchorHints & Gdk::operator^= | ( | AnchorHints & | lhs,
|  | AnchorHints | rhs )
| inline

## ◆ operator^=() [2/10]

AxisFlags & Gdk::operator^= | ( | AxisFlags & | lhs,
|  | AxisFlags | rhs )
| inline

## ◆ operator^=() [3/10]

DragAction & Gdk::operator^= | ( | DragAction & | lhs,
|  | DragAction | rhs )
| inline

## ◆ operator^=() [4/10]

FrameClock::Phase & Gdk::operator^= | ( | FrameClock::Phase & | lhs,
|  | FrameClock::Phase | rhs )
| inline

## ◆ operator^=() [5/10]

GLApi & Gdk::operator^= | ( | GLApi & | lhs,
|  | GLApi | rhs )
| inline

## ◆ operator^=() [6/10]

GLAPI & Gdk::operator^= | ( | GLAPI & | lhs,
|  | GLAPI | rhs )
| inline

## ◆ operator^=() [7/10]

ModifierType & Gdk::operator^= | ( | ModifierType & | lhs,
|  | ModifierType | rhs )
| inline

## ◆ operator^=() [8/10]

Paintable::Flags & Gdk::operator^= | ( | Paintable::Flags & | lhs,
|  | Paintable::Flags | rhs )
| inline

## ◆ operator^=() [9/10]

Seat::Capabilities & Gdk::operator^= | ( | Seat::Capabilities & | lhs,
|  | Seat::Capabilities | rhs )
| inline

## ◆ operator^=() [10/10]

Toplevel::State & Gdk::operator^= | ( | Toplevel::State & | lhs,
|  | Toplevel::State | rhs )
| inline

## ◆ operator|() [1/10]

constexpr AnchorHints Gdk::operator| | ( | AnchorHints | lhs,
|  | AnchorHints | rhs )
| inlineconstexpr

## ◆ operator|() [2/10]

constexpr AxisFlags Gdk::operator| | ( | AxisFlags | lhs,
|  | AxisFlags | rhs )
| inlineconstexpr

## ◆ operator|() [3/10]

constexpr DragAction Gdk::operator| | ( | DragAction | lhs,
|  | DragAction | rhs )
| inlineconstexpr

## ◆ operator|() [4/10]

constexpr FrameClock::Phase Gdk::operator| | ( | FrameClock::Phase | lhs,
|  | FrameClock::Phase | rhs )
| inlineconstexpr

## ◆ operator|() [5/10]

constexpr GLApi Gdk::operator| | ( | GLApi | lhs,
|  | GLApi | rhs )
| inlineconstexpr

## ◆ operator|() [6/10]

constexpr GLAPI Gdk::operator| | ( | GLAPI | lhs,
|  | GLAPI | rhs )
| inlineconstexpr

## ◆ operator|() [7/10]

constexpr ModifierType Gdk::operator| | ( | ModifierType | lhs,
|  | ModifierType | rhs )
| inlineconstexpr

## ◆ operator|() [8/10]

constexpr Paintable::Flags Gdk::operator| | ( | Paintable::Flags | lhs,
|  | Paintable::Flags | rhs )
| inlineconstexpr

## ◆ operator|() [9/10]

constexpr Seat::Capabilities Gdk::operator| | ( | Seat::Capabilities | lhs,
|  | Seat::Capabilities | rhs )
| inlineconstexpr

## ◆ operator|() [10/10]

constexpr Toplevel::State Gdk::operator| | ( | Toplevel::State | lhs,
|  | Toplevel::State | rhs )
| inlineconstexpr

## ◆ operator|=() [1/10]

AnchorHints & Gdk::operator|= | ( | AnchorHints & | lhs,
|  | AnchorHints | rhs )
| inline

## ◆ operator|=() [2/10]

AxisFlags & Gdk::operator|= | ( | AxisFlags & | lhs,
|  | AxisFlags | rhs )
| inline

## ◆ operator|=() [3/10]

DragAction & Gdk::operator|= | ( | DragAction & | lhs,
|  | DragAction | rhs )
| inline

## ◆ operator|=() [4/10]

FrameClock::Phase & Gdk::operator|= | ( | FrameClock::Phase & | lhs,
|  | FrameClock::Phase | rhs )
| inline

## ◆ operator|=() [5/10]

GLApi & Gdk::operator|= | ( | GLApi & | lhs,
|  | GLApi | rhs )
| inline

## ◆ operator|=() [6/10]

GLAPI & Gdk::operator|= | ( | GLAPI & | lhs,
|  | GLAPI | rhs )
| inline

## ◆ operator|=() [7/10]

ModifierType & Gdk::operator|= | ( | ModifierType & | lhs,
|  | ModifierType | rhs )
| inline

## ◆ operator|=() [8/10]

Paintable::Flags & Gdk::operator|= | ( | Paintable::Flags & | lhs,
|  | Paintable::Flags | rhs )
| inline

## ◆ operator|=() [9/10]

Seat::Capabilities & Gdk::operator|= | ( | Seat::Capabilities & | lhs,
|  | Seat::Capabilities | rhs )
| inline

## ◆ operator|=() [10/10]

Toplevel::State & Gdk::operator|= | ( | Toplevel::State & | lhs,
|  | Toplevel::State | rhs )
| inline

## ◆ operator~() [1/10]

constexpr AnchorHints Gdk::operator~ | ( | AnchorHints | flags | ) |
| inlineconstexpr

## ◆ operator~() [2/10]

constexpr AxisFlags Gdk::operator~ | ( | AxisFlags | flags | ) |
| inlineconstexpr

## ◆ operator~() [3/10]

constexpr DragAction Gdk::operator~ | ( | DragAction | flags | ) |
| inlineconstexpr

## ◆ operator~() [4/10]

constexpr FrameClock::Phase Gdk::operator~ | ( | FrameClock::Phase | flags | ) |
| inlineconstexpr

## ◆ operator~() [5/10]

constexpr GLApi Gdk::operator~ | ( | GLApi | flags | ) |
| inlineconstexpr

## ◆ operator~() [6/10]

constexpr GLAPI Gdk::operator~ | ( | GLAPI | flags | ) |
| inlineconstexpr

## ◆ operator~() [7/10]

constexpr ModifierType Gdk::operator~ | ( | ModifierType | flags | ) |
| inlineconstexpr

## ◆ operator~() [8/10]

constexpr Paintable::Flags Gdk::operator~ | ( | Paintable::Flags | flags | ) |
| inlineconstexpr

## ◆ operator~() [9/10]

constexpr Seat::Capabilities Gdk::operator~ | ( | Seat::Capabilities | flags | ) |
| inlineconstexpr

## ◆ operator~() [10/10]

constexpr Toplevel::State Gdk::operator~ | ( | Toplevel::State | flags | ) |
| inlineconstexpr