gi-gdk-4.0.1: Gdk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gdk.Interfaces.DevicePad

Description

DevicePad is an interface implemented by devices of type InputSourceTabletPad, it allows querying the features provided by the pad device.

Tablet pads may contain one or more groups, each containing a subset of the buttons/rings/strips available. devicePadGetNGroups can be used to obtain the number of groups, devicePadGetNFeatures and devicePadGetFeatureGroup can be combined to find out the number of buttons/rings/strips the device has, and how are they grouped.

Each of those groups have different modes, which may be used to map each individual pad feature to multiple actions. Only one mode is effective (current) for each given group, different groups may have different current modes. The number of available modes in a group can be found out through devicePadGetGroupNModes, and the current mode for a given group will be notified through the EventPadGroupMode event.

Synopsis

Exported types

newtype DevicePad Source #

Memory-managed wrapper type.

Instances

Instances details
Eq DevicePad Source # 
Instance details

Defined in GI.Gdk.Interfaces.DevicePad

GObject DevicePad Source # 
Instance details

Defined in GI.Gdk.Interfaces.DevicePad

Methods

gobjectType :: IO GType #

IsGValue DevicePad Source #

Convert DevicePad to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Gdk.Interfaces.DevicePad

HasParentTypes DevicePad Source # 
Instance details

Defined in GI.Gdk.Interfaces.DevicePad

type ParentTypes DevicePad Source # 
Instance details

Defined in GI.Gdk.Interfaces.DevicePad

noDevicePad :: Maybe DevicePad Source #

A convenience alias for Nothing :: Maybe DevicePad.

class (GObject o, IsDescendantOf DevicePad o) => IsDevicePad o Source #

Type class for types which can be safely cast to DevicePad, for instance with toDevicePad.

Instances

Instances details
(GObject o, IsDescendantOf DevicePad o) => IsDevicePad o Source # 
Instance details

Defined in GI.Gdk.Interfaces.DevicePad

toDevicePad :: (MonadIO m, IsDevicePad o) => o -> m DevicePad Source #

Cast to DevicePad, for types for which this is known to be safe. For general casts, use castTo.

Methods

Overloaded methods

getFeatureGroup

devicePadGetFeatureGroup Source #

Arguments

:: (HasCallStack, MonadIO m, IsDevicePad a) 
=> a

pad: a DevicePad

-> DevicePadFeature

feature: the feature type to get the group from

-> Int32

featureIdx: the index of the feature to get the group from

-> m Int32

Returns: The group number of the queried pad feature.

Returns the group the given feature and idx belong to, or -1 if feature/index do not exist in pad.

getGroupNModes

devicePadGetGroupNModes Source #

Arguments

:: (HasCallStack, MonadIO m, IsDevicePad a) 
=> a

pad: a DevicePad

-> Int32

groupIdx: group to get the number of available modes from

-> m Int32

Returns: The number of modes available in group.

Returns the number of modes that group may have.

getNFeatures

devicePadGetNFeatures Source #

Arguments

:: (HasCallStack, MonadIO m, IsDevicePad a) 
=> a

pad: a DevicePad

-> DevicePadFeature

feature: a pad feature

-> m Int32

Returns: The amount of elements of type feature that this pad has.

Returns the number of features a tablet pad has.

getNGroups

devicePadGetNGroups Source #

Arguments

:: (HasCallStack, MonadIO m, IsDevicePad a) 
=> a

pad: a DevicePad

-> m Int32

Returns: The number of button/ring/strip groups in the pad.

Returns the number of groups this pad device has. Pads have at least one group. A pad group is a subcollection of buttons/strip/rings that is affected collectively by a same current mode.