Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Used for button press and button release events. The
type
field will be one of EventTypeButtonPress
,
EventType2buttonPress
, EventType3buttonPress
or EventTypeButtonRelease
,
Double and triple-clicks result in a sequence of events being received. For double-clicks the order of events will be:
EventTypeButtonPress
EventTypeButtonRelease
EventTypeButtonPress
EventType2buttonPress
EventTypeButtonRelease
Note that the first click is received just like a normal
button press, while the second click results in a EventType2buttonPress
being received just after the EventTypeButtonPress
.
Triple-clicks are very similar to double-clicks, except that
EventType3buttonPress
is inserted after the third click. The order of the
events is:
EventTypeButtonPress
EventTypeButtonRelease
EventTypeButtonPress
EventType2buttonPress
EventTypeButtonRelease
EventTypeButtonPress
EventType3buttonPress
EventTypeButtonRelease
For a double click to occur, the second button press must occur within 1/4 of a second of the first. For a triple click to occur, the third button press must also occur within 1/2 second of the first button press.
- newtype EventButton = EventButton (ManagedPtr EventButton)
- newZeroEventButton :: MonadIO m => m EventButton
- noEventButton :: Maybe EventButton
- eventButton_axes :: AttrLabelProxy "axes"
- getEventButtonAxes :: MonadIO m => EventButton -> m Double
- setEventButtonAxes :: MonadIO m => EventButton -> Double -> m ()
- eventButton_button :: AttrLabelProxy "button"
- getEventButtonButton :: MonadIO m => EventButton -> m Word32
- setEventButtonButton :: MonadIO m => EventButton -> Word32 -> m ()
- clearEventButtonDevice :: MonadIO m => EventButton -> m ()
- eventButton_device :: AttrLabelProxy "device"
- getEventButtonDevice :: MonadIO m => EventButton -> m (Maybe Device)
- setEventButtonDevice :: MonadIO m => EventButton -> Ptr Device -> m ()
- eventButton_sendEvent :: AttrLabelProxy "sendEvent"
- getEventButtonSendEvent :: MonadIO m => EventButton -> m Int8
- setEventButtonSendEvent :: MonadIO m => EventButton -> Int8 -> m ()
- eventButton_state :: AttrLabelProxy "state"
- getEventButtonState :: MonadIO m => EventButton -> m [ModifierType]
- setEventButtonState :: MonadIO m => EventButton -> [ModifierType] -> m ()
- eventButton_time :: AttrLabelProxy "time"
- getEventButtonTime :: MonadIO m => EventButton -> m Word32
- setEventButtonTime :: MonadIO m => EventButton -> Word32 -> m ()
- eventButton_type :: AttrLabelProxy "type"
- getEventButtonType :: MonadIO m => EventButton -> m EventType
- setEventButtonType :: MonadIO m => EventButton -> EventType -> m ()
- clearEventButtonWindow :: MonadIO m => EventButton -> m ()
- eventButton_window :: AttrLabelProxy "window"
- getEventButtonWindow :: MonadIO m => EventButton -> m (Maybe Window)
- setEventButtonWindow :: MonadIO m => EventButton -> Ptr Window -> m ()
- eventButton_x :: AttrLabelProxy "x"
- getEventButtonX :: MonadIO m => EventButton -> m Double
- setEventButtonX :: MonadIO m => EventButton -> Double -> m ()
- eventButton_xRoot :: AttrLabelProxy "xRoot"
- getEventButtonXRoot :: MonadIO m => EventButton -> m Double
- setEventButtonXRoot :: MonadIO m => EventButton -> Double -> m ()
- eventButton_y :: AttrLabelProxy "y"
- getEventButtonY :: MonadIO m => EventButton -> m Double
- setEventButtonY :: MonadIO m => EventButton -> Double -> m ()
- eventButton_yRoot :: AttrLabelProxy "yRoot"
- getEventButtonYRoot :: MonadIO m => EventButton -> m Double
- setEventButtonYRoot :: MonadIO m => EventButton -> Double -> m ()
Exported types
newtype EventButton Source #
WrappedPtr EventButton Source # | |
(~) AttrOpTag tag AttrSet => Constructible EventButton tag Source # | |
((~) * info (ResolveEventButtonMethod t EventButton), MethodInfo * info EventButton p) => IsLabel t (EventButton -> p) Source # | |
((~) * info (ResolveEventButtonMethod t EventButton), MethodInfo * info EventButton p) => IsLabelProxy t (EventButton -> p) Source # | |
HasAttributeList * EventButton Source # | |
type AttributeList EventButton Source # | |
newZeroEventButton :: MonadIO m => m EventButton Source #
Construct a EventButton
struct initialized to zero.
Properties
axes
eventButton_axes :: AttrLabelProxy "axes" Source #
getEventButtonAxes :: MonadIO m => EventButton -> m Double Source #
setEventButtonAxes :: MonadIO m => EventButton -> Double -> m () Source #
button
eventButton_button :: AttrLabelProxy "button" Source #
getEventButtonButton :: MonadIO m => EventButton -> m Word32 Source #
setEventButtonButton :: MonadIO m => EventButton -> Word32 -> m () Source #
device
clearEventButtonDevice :: MonadIO m => EventButton -> m () Source #
eventButton_device :: AttrLabelProxy "device" Source #
getEventButtonDevice :: MonadIO m => EventButton -> m (Maybe Device) Source #
setEventButtonDevice :: MonadIO m => EventButton -> Ptr Device -> m () Source #
sendEvent
eventButton_sendEvent :: AttrLabelProxy "sendEvent" Source #
getEventButtonSendEvent :: MonadIO m => EventButton -> m Int8 Source #
setEventButtonSendEvent :: MonadIO m => EventButton -> Int8 -> m () Source #
state
eventButton_state :: AttrLabelProxy "state" Source #
getEventButtonState :: MonadIO m => EventButton -> m [ModifierType] Source #
setEventButtonState :: MonadIO m => EventButton -> [ModifierType] -> m () Source #
time
eventButton_time :: AttrLabelProxy "time" Source #
getEventButtonTime :: MonadIO m => EventButton -> m Word32 Source #
setEventButtonTime :: MonadIO m => EventButton -> Word32 -> m () Source #
type
eventButton_type :: AttrLabelProxy "type" Source #
getEventButtonType :: MonadIO m => EventButton -> m EventType Source #
setEventButtonType :: MonadIO m => EventButton -> EventType -> m () Source #
window
clearEventButtonWindow :: MonadIO m => EventButton -> m () Source #
eventButton_window :: AttrLabelProxy "window" Source #
getEventButtonWindow :: MonadIO m => EventButton -> m (Maybe Window) Source #
setEventButtonWindow :: MonadIO m => EventButton -> Ptr Window -> m () Source #
x
eventButton_x :: AttrLabelProxy "x" Source #
getEventButtonX :: MonadIO m => EventButton -> m Double Source #
setEventButtonX :: MonadIO m => EventButton -> Double -> m () Source #
xRoot
eventButton_xRoot :: AttrLabelProxy "xRoot" Source #
getEventButtonXRoot :: MonadIO m => EventButton -> m Double Source #
setEventButtonXRoot :: MonadIO m => EventButton -> Double -> m () Source #
y
eventButton_y :: AttrLabelProxy "y" Source #
getEventButtonY :: MonadIO m => EventButton -> m Double Source #
setEventButtonY :: MonadIO m => EventButton -> Double -> m () Source #
yRoot
eventButton_yRoot :: AttrLabelProxy "yRoot" Source #
getEventButtonYRoot :: MonadIO m => EventButton -> m Double Source #
setEventButtonYRoot :: MonadIO m => EventButton -> Double -> m () Source #