EventButtonProtocol

public protocol EventButtonProtocol

The EventButtonProtocol protocol exposes the methods and properties of an underlying GdkEventButton instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, see EventButton. Alternatively, use EventButtonRef as a lighweight, unowned reference if you already have an instance you just want to use.

Used for button press and button release events. The type field will be one of GDK_BUTTON_PRESS, GDK_2BUTTON_PRESS, GDK_3BUTTON_PRESS or GDK_BUTTON_RELEASE,

Double and triple-clicks result in a sequence of events being received. For double-clicks the order of events will be:

  • GDK_BUTTON_PRESS
  • GDK_BUTTON_RELEASE
  • GDK_BUTTON_PRESS
  • GDK_2BUTTON_PRESS
  • GDK_BUTTON_RELEASE

Note that the first click is received just like a normal button press, while the second click results in a GDK_2BUTTON_PRESS being received just after the GDK_BUTTON_PRESS.

Triple-clicks are very similar to double-clicks, except that GDK_3BUTTON_PRESS is inserted after the third click. The order of the events is:

  • GDK_BUTTON_PRESS
  • GDK_BUTTON_RELEASE
  • GDK_BUTTON_PRESS
  • GDK_2BUTTON_PRESS
  • GDK_BUTTON_RELEASE
  • GDK_BUTTON_PRESS
  • GDK_3BUTTON_PRESS
  • GDK_BUTTON_RELEASE

For a double click to occur, the second button press must occur within ¼ of a second of the first. For a triple click to occur, the third button press must also occur within ½ second of the first button press.

  • ptr

    Untyped pointer to the underlying GdkEventButton instance.

    Declaration

    Swift

    var ptr: UnsafeMutableRawPointer! { get }
  • _ptr Default implementation

    Typed pointer to the underlying GdkEventButton instance.

    Default Implementation

    Return the stored, untyped pointer as a typed pointer to the GdkEventButton instance.

    Declaration

    Swift

    var _ptr: UnsafeMutablePointer<GdkEventButton>! { get }
  • Required Initialiser for types conforming to EventButtonProtocol

    Declaration

    Swift

    init(raw: UnsafeMutableRawPointer)

EventButton Record: EventButtonProtocol extension (methods and fields)

  • type Extension method

    the type of the event (GDK_BUTTON_PRESS, GDK_2BUTTON_PRESS, GDK_3BUTTON_PRESS or GDK_BUTTON_RELEASE).

    Declaration

    Swift

    @inlinable
    var type: GdkEventType { get set }
  • window Extension method

    the window which received the event.

    Declaration

    Swift

    @inlinable
    var window: WindowRef! { get set }
  • sendEvent Extension method

    true if the event was sent explicitly.

    Declaration

    Swift

    @inlinable
    var sendEvent: gint8 { get set }
  • time Extension method

    the time of the event in milliseconds.

    Declaration

    Swift

    @inlinable
    var time: guint32 { get set }
  • x Extension method

    the x coordinate of the pointer relative to the window.

    Declaration

    Swift

    @inlinable
    var x: gdouble { get set }
  • y Extension method

    the y coordinate of the pointer relative to the window.

    Declaration

    Swift

    @inlinable
    var y: gdouble { get set }
  • axes Extension method

    x, y translated to the axes of device, or nil if device is the mouse.

    Declaration

    Swift

    @inlinable
    var axes: UnsafeMutablePointer<gdouble>! { get set }
  • state Extension method

    a bit-mask representing the state of the modifier keys (e.g. Control, Shift and Alt) and the pointer buttons. See GdkModifierType.

    Declaration

    Swift

    @inlinable
    var state: ModifierType { get set }
  • button Extension method

    the button which was pressed or released, numbered from 1 to 5. Normally button 1 is the left mouse button, 2 is the middle button, and 3 is the right button. On 2-button mice, the middle button can often be simulated by pressing both mouse buttons together.

    Declaration

    Swift

    @inlinable
    var button: guint { get set }
  • device Extension method

    the master device that the event originated from. Use gdk_event_get_source_device() to get the slave device.

    Declaration

    Swift

    @inlinable
    var device: DeviceRef! { get set }
  • xRoot Extension method

    the x coordinate of the pointer relative to the root of the screen.

    Declaration

    Swift

    @inlinable
    var xRoot: gdouble { get set }
  • yRoot Extension method

    the y coordinate of the pointer relative to the root of the screen.

    Declaration

    Swift

    @inlinable
    var yRoot: gdouble { get set }