Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- data AxisUse
- data ByteOrder
- data CrossingMode
- data DevicePadFeature
- data DeviceToolType
- data DeviceType
- data DragCancelReason
- data EventType
- = EventTypeDelete
- | EventTypeMotionNotify
- | EventTypeButtonPress
- | EventTypeButtonRelease
- | EventTypeKeyPress
- | EventTypeKeyRelease
- | EventTypeEnterNotify
- | EventTypeLeaveNotify
- | EventTypeFocusChange
- | EventTypeConfigure
- | EventTypeProximityIn
- | EventTypeProximityOut
- | EventTypeDragEnter
- | EventTypeDragLeave
- | EventTypeDragMotion
- | EventTypeDropStart
- | EventTypeScroll
- | EventTypeGrabBroken
- | EventTypeTouchBegin
- | EventTypeTouchUpdate
- | EventTypeTouchEnd
- | EventTypeTouchCancel
- | EventTypeTouchpadSwipe
- | EventTypeTouchpadPinch
- | EventTypePadButtonPress
- | EventTypePadButtonRelease
- | EventTypePadRing
- | EventTypePadStrip
- | EventTypePadGroupMode
- | EventTypeEventLast
- | AnotherEventType Int
- data FullscreenMode
- data GLError
- catchGLError :: IO a -> (GLError -> GErrorMessage -> IO a) -> IO a
- handleGLError :: (GLError -> GErrorMessage -> IO a) -> IO a -> IO a
- data Gravity
- data InputSource
- data KeyMatch
- data MemoryFormat
- data NotifyType
- data ScrollDirection
- data SubpixelLayout
- data SurfaceEdge
- data SurfaceTypeHint
- = SurfaceTypeHintNormal
- | SurfaceTypeHintDialog
- | SurfaceTypeHintMenu
- | SurfaceTypeHintToolbar
- | SurfaceTypeHintSplashscreen
- | SurfaceTypeHintUtility
- | SurfaceTypeHintDock
- | SurfaceTypeHintDesktop
- | SurfaceTypeHintDropdownMenu
- | SurfaceTypeHintPopupMenu
- | SurfaceTypeHintTooltip
- | SurfaceTypeHintNotification
- | SurfaceTypeHintCombo
- | SurfaceTypeHintDnd
- | AnotherSurfaceTypeHint Int
- data TouchpadGesturePhase
- data VulkanError
- catchVulkanError :: IO a -> (VulkanError -> GErrorMessage -> IO a) -> IO a
- handleVulkanError :: (VulkanError -> GErrorMessage -> IO a) -> IO a -> IO a
Enumerations
AxisUse
An enumeration describing the way in which a device axis (valuator) maps onto the predefined valuator types that GTK understands.
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.
AxisUseIgnore | the axis is ignored. |
AxisUseX | the axis is used as the x axis. |
AxisUseY | the axis is used as the y axis. |
AxisUsePressure | the axis is used for pressure information. |
AxisUseXtilt | the axis is used for x tilt information. |
AxisUseYtilt | the axis is used for y tilt information. |
AxisUseWheel | the axis is used for wheel information. |
AxisUseDistance | the axis is used for pen/tablet distance information |
AxisUseRotation | the axis is used for pen rotation information |
AxisUseSlider | the axis is used for pen slider information |
AxisUseLast | a constant equal to the numerically highest axis value. |
AnotherAxisUse Int | Catch-all for unknown values |
Instances
Enum AxisUse Source # | |
Defined in GI.Gdk.Enums | |
Eq AxisUse Source # | |
Ord AxisUse Source # | |
Show AxisUse Source # | |
TypedObject AxisUse Source # | |
Defined in GI.Gdk.Enums | |
BoxedEnum AxisUse Source # | |
Defined in GI.Gdk.Enums | |
HasParentTypes AxisUse Source # | |
Defined in GI.Gdk.Enums | |
type ParentTypes AxisUse Source # | |
Defined in GI.Gdk.Enums |
ByteOrder
A set of values describing the possible byte-orders for storing pixel values in memory.
ByteOrderLsbFirst | The values are stored with the least-significant byte first. For instance, the 32-bit value 0xffeecc would be stored in memory as 0xcc, 0xee, 0xff, 0x00. |
ByteOrderMsbFirst | The values are stored with the most-significant byte first. For instance, the 32-bit value 0xffeecc would be stored in memory as 0x00, 0xff, 0xee, 0xcc. |
AnotherByteOrder Int | Catch-all for unknown values |
Instances
Enum ByteOrder Source # | |
Defined in GI.Gdk.Enums | |
Eq ByteOrder Source # | |
Ord ByteOrder Source # | |
Defined in GI.Gdk.Enums | |
Show ByteOrder Source # | |
TypedObject ByteOrder Source # | |
Defined in GI.Gdk.Enums | |
BoxedEnum ByteOrder Source # | |
Defined in GI.Gdk.Enums | |
HasParentTypes ByteOrder Source # | |
Defined in GI.Gdk.Enums | |
type ParentTypes ByteOrder Source # | |
Defined in GI.Gdk.Enums |
CrossingMode
data CrossingMode Source #
Specifies the crossing mode for enter and leave events.
CrossingModeNormal | crossing because of pointer motion. |
CrossingModeGrab | crossing because a grab is activated. |
CrossingModeUngrab | crossing because a grab is deactivated. |
CrossingModeGtkGrab | crossing because a GTK+ grab is activated. |
CrossingModeGtkUngrab | crossing because a GTK+ grab is deactivated. |
CrossingModeStateChanged | crossing because a GTK+ widget changed state (e.g. sensitivity). |
CrossingModeTouchBegin | crossing because a touch sequence has begun, this event is synthetic as the pointer might have not left the surface. |
CrossingModeTouchEnd | crossing because a touch sequence has ended, this event is synthetic as the pointer might have not left the surface. |
CrossingModeDeviceSwitch | 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. |
AnotherCrossingMode Int | Catch-all for unknown values |
Instances
DevicePadFeature
data DevicePadFeature Source #
A pad feature.
DevicePadFeatureButton | a button |
DevicePadFeatureRing | a ring-shaped interactive area |
DevicePadFeatureStrip | a straight interactive area |
AnotherDevicePadFeature Int | Catch-all for unknown values |
Instances
DeviceToolType
data DeviceToolType Source #
Indicates the specific type of tool being used being a tablet. Such as an airbrush, pencil, etc.
DeviceToolTypeUnknown | Tool is of an unknown type. |
DeviceToolTypePen | Tool is a standard tablet stylus. |
DeviceToolTypeEraser | Tool is standard tablet eraser. |
DeviceToolTypeBrush | Tool is a brush stylus. |
DeviceToolTypePencil | Tool is a pencil stylus. |
DeviceToolTypeAirbrush | Tool is an airbrush stylus. |
DeviceToolTypeMouse | Tool is a mouse. |
DeviceToolTypeLens | Tool is a lens cursor. |
AnotherDeviceToolType Int | Catch-all for unknown values |
Instances
DeviceType
data DeviceType Source #
Indicates the device type.
DeviceTypeMaster | Device is a master (or virtual) device. There will be an associated focus indicator on the screen. |
DeviceTypeSlave | Device is a slave (or physical) device. |
DeviceTypeFloating | Device is a physical device, currently not attached to any seat. |
AnotherDeviceType Int | Catch-all for unknown values |
Instances
DragCancelReason
data DragCancelReason Source #
Used in Drag
to the reason of a cancelled DND operation.
DragCancelReasonNoTarget | There is no suitable drop target. |
DragCancelReasonUserCancelled | Drag cancelled by the user |
DragCancelReasonError | Unspecified error. |
AnotherDragCancelReason Int | Catch-all for unknown values |
Instances
EventType
Specifies the type of the event.
EventTypeDelete | the window manager has requested that the toplevel surface be hidden or destroyed, usually when the user clicks on a special icon in the title bar. |
EventTypeMotionNotify | the pointer (usually a mouse) has moved. |
EventTypeButtonPress | a mouse button has been pressed. |
EventTypeButtonRelease | a mouse button has been released. |
EventTypeKeyPress | a key has been pressed. |
EventTypeKeyRelease | a key has been released. |
EventTypeEnterNotify | the pointer has entered the surface. |
EventTypeLeaveNotify | the pointer has left the surface. |
EventTypeFocusChange | the keyboard focus has entered or left the surface. |
EventTypeConfigure | the size of the surface has changed. |
EventTypeProximityIn | an input device has moved into contact with a sensing surface (e.g. a touchscreen or graphics tablet). |
EventTypeProximityOut | an input device has moved out of contact with a sensing surface. |
EventTypeDragEnter | the mouse has entered the surface while a drag is in progress. |
EventTypeDragLeave | the mouse has left the surface while a drag is in progress. |
EventTypeDragMotion | the mouse has moved in the surface while a drag is in progress. |
EventTypeDropStart | a drop operation onto the surface has started. |
EventTypeScroll | the scroll wheel was turned |
EventTypeGrabBroken | a pointer or keyboard grab was broken. |
EventTypeTouchBegin | A new touch event sequence has just started. |
EventTypeTouchUpdate | A touch event sequence has been updated. |
EventTypeTouchEnd | A touch event sequence has finished. |
EventTypeTouchCancel | A touch event sequence has been canceled. |
EventTypeTouchpadSwipe | A touchpad swipe gesture event, the current state is determined by its phase field. |
EventTypeTouchpadPinch | A touchpad pinch gesture event, the current state is determined by its phase field. |
EventTypePadButtonPress | A tablet pad button press event. |
EventTypePadButtonRelease | A tablet pad button release event. |
EventTypePadRing | A tablet pad axis event from a "ring". |
EventTypePadStrip | A tablet pad axis event from a "strip". |
EventTypePadGroupMode | A tablet pad group mode change. |
EventTypeEventLast | marks the end of the GdkEventType enumeration. |
AnotherEventType Int | Catch-all for unknown values |
Instances
Enum EventType Source # | |
Defined in GI.Gdk.Enums | |
Eq EventType Source # | |
Ord EventType Source # | |
Defined in GI.Gdk.Enums | |
Show EventType Source # | |
TypedObject EventType Source # | |
Defined in GI.Gdk.Enums | |
BoxedEnum EventType Source # | |
Defined in GI.Gdk.Enums | |
HasParentTypes EventType Source # | |
Defined in GI.Gdk.Enums | |
type ParentTypes EventType Source # | |
Defined in GI.Gdk.Enums |
FullscreenMode
data FullscreenMode Source #
Indicates which monitor (in a multi-head setup) a surface should span over when in fullscreen mode.
FullscreenModeCurrentMonitor | Fullscreen on current monitor only. |
FullscreenModeAllMonitors | Span across all monitors when fullscreen. |
AnotherFullscreenMode Int | Catch-all for unknown values |
Instances
GLError
Error enumeration for GLContext
.
GLErrorNotAvailable | OpenGL support is not available |
GLErrorUnsupportedFormat | The requested visual format is not supported |
GLErrorUnsupportedProfile | The requested profile is not supported |
GLErrorCompilationFailed | The shader compilation failed |
GLErrorLinkFailed | The shader linking failed |
AnotherGLError Int | Catch-all for unknown values |
Instances
Enum GLError Source # | |
Defined in GI.Gdk.Enums | |
Eq GLError Source # | |
Ord GLError Source # | |
Show GLError Source # | |
GErrorClass GLError Source # | |
Defined in GI.Gdk.Enums gerrorClassDomain :: GLError -> Text # | |
TypedObject GLError Source # | |
Defined in GI.Gdk.Enums | |
BoxedEnum GLError Source # | |
Defined in GI.Gdk.Enums | |
HasParentTypes GLError Source # | |
Defined in GI.Gdk.Enums | |
type ParentTypes GLError Source # | |
Defined in GI.Gdk.Enums |
catchGLError :: IO a -> (GLError -> GErrorMessage -> IO a) -> IO a Source #
Catch exceptions of type GLError
. This is a specialized version of catchGErrorJustDomain
.
handleGLError :: (GLError -> GErrorMessage -> IO a) -> IO a -> IO a Source #
Handle exceptions of type GLError
. This is a specialized version of handleGErrorJustDomain
.
Gravity
Defines the reference point of a surface and the meaning of coordinates
passed to gtk_window_move()
. See gtk_window_move()
and the "implementation
notes" section of the
Extended Window Manager Hints
specification for more details.
GravityNorthWest | the reference point is at the top left corner. |
GravityNorth | the reference point is in the middle of the top edge. |
GravityNorthEast | the reference point is at the top right corner. |
GravityWest | the reference point is at the middle of the left edge. |
GravityCenter | the reference point is at the center of the surface. |
GravityEast | the reference point is at the middle of the right edge. |
GravitySouthWest | the reference point is at the lower left corner. |
GravitySouth | the reference point is at the middle of the lower edge. |
GravitySouthEast | the reference point is at the lower right corner. |
GravityStatic | the reference point is at the top left corner of the surface itself, ignoring window manager decorations. |
AnotherGravity Int | Catch-all for unknown values |
Instances
Enum Gravity Source # | |
Defined in GI.Gdk.Enums | |
Eq Gravity Source # | |
Ord Gravity Source # | |
Show Gravity Source # | |
TypedObject Gravity Source # | |
Defined in GI.Gdk.Enums | |
BoxedEnum Gravity Source # | |
Defined in GI.Gdk.Enums | |
HasParentTypes Gravity Source # | |
Defined in GI.Gdk.Enums | |
type ParentTypes Gravity Source # | |
Defined in GI.Gdk.Enums |
InputSource
data InputSource Source #
An enumeration describing the type of an input device in general terms.
InputSourceMouse | the device is a mouse. (This will be reported for the core pointer, even if it is something else, such as a trackball.) |
InputSourcePen | the device is a stylus of a graphics tablet or similar device. |
InputSourceEraser | the device is an eraser. Typically, this would be the other end of a stylus on a graphics tablet. |
InputSourceCursor | the device is a graphics tablet “puck” or similar device. |
InputSourceKeyboard | the device is a keyboard. |
InputSourceTouchscreen | the device is a direct-input touch device, such as a touchscreen or tablet. This device type has been added in 3.4. |
InputSourceTouchpad | the device is an indirect touch device, such as a touchpad. This device type has been added in 3.4. |
InputSourceTrackpoint | the device is a trackpoint. This device type has been added in 3.22 |
InputSourceTabletPad | the device is a "pad", a collection of buttons, rings and strips found in drawing tablets. This device type has been added in 3.22. |
AnotherInputSource Int | Catch-all for unknown values |
Instances
KeyMatch
The possible return values from keyEventMatches
describe how well an event matches a given keyval and modifiers.
KeyMatchNone | The key event does not match |
KeyMatchPartial | The key event matches if keyboard state (specifically, the currently active group) is ignored |
KeyMatchExact | The key event matches |
AnotherKeyMatch Int | Catch-all for unknown values |
Instances
Enum KeyMatch Source # | |
Defined in GI.Gdk.Enums | |
Eq KeyMatch Source # | |
Ord KeyMatch Source # | |
Show KeyMatch Source # | |
TypedObject KeyMatch Source # | |
Defined in GI.Gdk.Enums | |
BoxedEnum KeyMatch Source # | |
Defined in GI.Gdk.Enums | |
HasParentTypes KeyMatch Source # | |
Defined in GI.Gdk.Enums | |
type ParentTypes KeyMatch Source # | |
Defined in GI.Gdk.Enums |
MemoryFormat
data MemoryFormat Source #
MemoryFormat
describes a format that bytes can have in memory.
It describes formats by listing the contents of the memory passed to it.
So GDK_MEMORY_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_FORMAT_ARGB32 is represented by different GdkMemoryFormats
on
architectures with different endiannesses.
Its naming is modelled after VkFormat (see
https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.htmlVkFormat
for details).
MemoryFormatB8g8r8a8Premultiplied | 4 bytes; for blue, green, red, alpha. The color values are premultiplied with the alpha value. |
MemoryFormatA8r8g8b8Premultiplied | 4 bytes; for alpha, red, green, blue. The color values are premultiplied with the alpha value. |
MemoryFormatB8g8r8a8 | 4 bytes; for blue, green, red, alpha. |
MemoryFormatA8r8g8b8 | 4 bytes; for alpha, red, green, blue. |
MemoryFormatR8g8b8a8 | 4 bytes; for red, green, blue, alpha. |
MemoryFormatA8b8g8r8 | 4 bytes; for alpha, blue, green, red. |
MemoryFormatR8g8b8 | 3 bytes; for red, green, blue. The data is opaque. |
MemoryFormatB8g8r8 | 3 bytes; for blue, green, red. The data is opaque. |
MemoryFormatNFormats | The number of formats. This value will change as more formats get added, so do not rely on its concrete integer. |
AnotherMemoryFormat Int | Catch-all for unknown values |
Instances
NotifyType
data NotifyType Source #
Specifies the kind of crossing for enter and leave events.
See the X11 protocol specification of LeaveNotify for full details of crossing event generation.
NotifyTypeAncestor | the surface is entered from an ancestor or left towards an ancestor. |
NotifyTypeVirtual | the pointer moves between an ancestor and an inferior of the surface. |
NotifyTypeInferior | the surface is entered from an inferior or left towards an inferior. |
NotifyTypeNonlinear | the surface is entered from or left towards a surface which is neither an ancestor nor an inferior. |
NotifyTypeNonlinearVirtual | 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. |
NotifyTypeUnknown | an unknown type of enter/leave event occurred. |
AnotherNotifyType Int | Catch-all for unknown values |
Instances
ScrollDirection
data ScrollDirection Source #
Specifies the direction for scroll events.
ScrollDirectionUp | the surface is scrolled up. |
ScrollDirectionDown | the surface is scrolled down. |
ScrollDirectionLeft | the surface is scrolled to the left. |
ScrollDirectionRight | the surface is scrolled to the right. |
ScrollDirectionSmooth | the scrolling is determined by the delta values
in scroll events. See |
AnotherScrollDirection Int | Catch-all for unknown values |
Instances
SubpixelLayout
data SubpixelLayout Source #
This enumeration describes how the red, green and blue components of physical pixels on an output device are laid out.
SubpixelLayoutUnknown | The layout is not known |
SubpixelLayoutNone | Not organized in this way |
SubpixelLayoutHorizontalRgb | The layout is horizontal, the order is RGB |
SubpixelLayoutHorizontalBgr | The layout is horizontal, the order is BGR |
SubpixelLayoutVerticalRgb | The layout is vertical, the order is RGB |
SubpixelLayoutVerticalBgr | The layout is vertical, the order is BGR |
AnotherSubpixelLayout Int | Catch-all for unknown values |
Instances
SurfaceEdge
data SurfaceEdge Source #
Determines a surface edge or corner.
SurfaceEdgeNorthWest | the top left corner. |
SurfaceEdgeNorth | the top edge. |
SurfaceEdgeNorthEast | the top right corner. |
SurfaceEdgeWest | the left edge. |
SurfaceEdgeEast | the right edge. |
SurfaceEdgeSouthWest | the lower left corner. |
SurfaceEdgeSouth | the lower edge. |
SurfaceEdgeSouthEast | the lower right corner. |
AnotherSurfaceEdge Int | Catch-all for unknown values |
Instances
SurfaceTypeHint
data SurfaceTypeHint Source #
These are hints for the window manager that indicate what type of function the window has. The window manager can use this when determining decoration and behaviour of the window. The hint must be set before mapping the window.
See the Extended Window Manager Hints specification for more details about window types.
SurfaceTypeHintNormal | Normal toplevel window. |
SurfaceTypeHintDialog | Dialog window. |
SurfaceTypeHintMenu | Window used to implement a menu; GTK uses
this hint only for torn-off menus, see |
SurfaceTypeHintToolbar | Window used to implement toolbars. |
SurfaceTypeHintSplashscreen | Window used to display a splash screen during application startup. |
SurfaceTypeHintUtility | Utility windows which are not detached toolbars or dialogs. |
SurfaceTypeHintDock | Used for creating dock or panel windows. |
SurfaceTypeHintDesktop | Used for creating the desktop background window. |
SurfaceTypeHintDropdownMenu | A menu that belongs to a menubar. |
SurfaceTypeHintPopupMenu | A menu that does not belong to a menubar, e.g. a context menu. |
SurfaceTypeHintTooltip | A tooltip. |
SurfaceTypeHintNotification | A notification - typically a “bubble” that belongs to a status icon. |
SurfaceTypeHintCombo | A popup from a combo box. |
SurfaceTypeHintDnd | A window that is used to implement a DND cursor. |
AnotherSurfaceTypeHint Int | Catch-all for unknown values |
Instances
TouchpadGesturePhase
data TouchpadGesturePhase Source #
Specifies the current state of a touchpad gesture. All gestures are
guaranteed to begin with an event with phase TouchpadGesturePhaseBegin
,
followed by 0 or several events with phase TouchpadGesturePhaseUpdate
.
A finished gesture may have 2 possible outcomes, an event with phase
TouchpadGesturePhaseEnd
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
TouchpadGesturePhaseCancel
, this should be used as a hint
to undo any visible/permanent changes that were done throughout the
progress of the gesture.
TouchpadGesturePhaseBegin | The gesture has begun. |
TouchpadGesturePhaseUpdate | The gesture has been updated. |
TouchpadGesturePhaseEnd | The gesture was finished, changes should be permanently applied. |
TouchpadGesturePhaseCancel | The gesture was cancelled, all changes should be undone. |
AnotherTouchpadGesturePhase Int | Catch-all for unknown values |
Instances
VulkanError
data VulkanError Source #
Error enumeration for VulkanContext
.
VulkanErrorUnsupported | Vulkan is not supported on this backend or has not been compiled in. |
VulkanErrorNotAvailable | Vulkan support is not available on this Surface |
AnotherVulkanError Int | Catch-all for unknown values |
Instances
catchVulkanError :: IO a -> (VulkanError -> GErrorMessage -> IO a) -> IO a Source #
Catch exceptions of type VulkanError
. This is a specialized version of catchGErrorJustDomain
.
handleVulkanError :: (VulkanError -> GErrorMessage -> IO a) -> IO a -> IO a Source #
Handle exceptions of type VulkanError
. This is a specialized version of handleGErrorJustDomain
.