|Type||Topic||Plugin||Version||macOS||Windows||Linux||Console & Web||iOS|
|class||Windows||MBS Win Plugin||16.2||No||Yes||No||Yes, Windows only||No|
// make a config for accepting pan/rotate gestures
dim c1 as new WinGestureConfigMBS
c1.ID = c1.kGestureIDPan
c1.Want = c1.kPan
c1.Block = 0
dim c2 as new WinGestureConfigMBS
c2.ID = c2.kGestureIDRotate
c2.Want = c2.kRotate
c2.Block = 0
dim configs() as WinGestureConfigMBS
// and add to window
if WinPointerEventsMBS.SetGestureConfig(window1, configs) then
It is impossible to disable two-finger panning and keep single finger panning. You must set the want bits for GC_PAN before you can set them for GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY or GC_PAN_WITH_SINGLE_FINGER_VERTICALLY.
An inertia vector is included in the GID_PAN message with the GF_END flag if inertia was disabled by a call to SetGestureConfig.
When you pass this structure, the dwID member contains information for a set of gestures. This determines what the other flags will mean. If you set flags for pan messages, they will be different from those flags that are set for rotation messages.
The following table indicates the various identifiers for gestures that are supported by the dwID member of the GESTURECONFIG structure. Note that setting dwID to 0 indicates that global gesture configuration flags are set.
|GID_ZOOM||3||Indicates configuration settings for the zoom gesture.|
|GID_PAN||4||Indicates the pan gesture.|
|GID_ROTATE||5||Indicates the rotation gesture.|
|GID_TWOFINGERTAP||6||Indicates the two-finger tap gesture.|
|GID_PRESSANDTAP||7||Indicates the press and tap gesture.|
The following flags are used when dwID is set to 0.
|GC_ALLGESTURES||0x00000001||Indicates all of the gestures.|
The following flags are used when dwID is set to GID_ZOOM.
|GC_ZOOM||0x00000001||Indicates the zoom gesture.|
The following flags are used when dwID is set to GID_PAN.
|GC_PAN||0x00000001||Indicates all pan gestures.|
|GC_PAN_WITH_SINGLE_FINGER_VERTICALLY||0x00000002||Indicates vertical pans with one finger.|
|GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY||0x00000004||Indicates horizontal pans with one finger.|
|GC_PAN_WITH_GUTTER||0x00000008||Limits perpendicular movement to primary direction until a threshold is reached to break out of the gutter.|
|GC_PAN_WITH_INERTIA||0x00000010||Indicates panning with inertia to smoothly slow when pan gestures stop.|
Note Setting the GID_PAN flags in SetGestureConfig will affect the default gesture handler for panning. You should not have both dwWant and dwBlock set for the same flags; this will result in unexpected behavior. See Windows Touch Gestures for more information on panning and legacy panning support; see SetGestureConfig for examples of enabling and blocking gestures.
The following flags are used when dwID is set to GID_ROTATE.
|GC_ROTATE||0x00000001||Indicates the rotation gesture.|
The following flags are used when dwID is set to GID_TWOFINGERTAP.
|GC_TWOFINGERTAP||0x00000001||Indicates the two-finger tap gesture.|
The following flags are used when dwID is set to GID_PRESSANDTAP.
|GC_PRESSANDTAP||0x00000001||Indicates the press and tap gesture.|
Indicates all of the gestures. (for ID = 0)
Indicates all pan gestures.
Limits perpendicular movement to primary direction until a threshold is reached to break out of the gutter.
Indicates panning with inertia to smoothly slow when pan gestures stop.
Indicates horizontal pans with one finger.
Indicates vertical pans with one finger.
Indicates the press and tap gesture.
Indicates the rotation gesture.
Indicates the two-finger tap gesture.
Indicates the zoom gesture. (for ID = kGestureIDZoom)
Begin of gesture.
End of a gesture
Press and Tap gesture
This class has no sub classes.
Some methods using this class:
- WinPointerEventsMBS.GetGestureConfig(Control as RectControl, config() as WinGestureConfigMBS, flags as Integer = 0) as Integer
- WinPointerEventsMBS.GetGestureConfig(win as window, config() as WinGestureConfigMBS, flags as Integer = 0) as Integer
- WinPointerEventsMBS.SetGestureConfig(Control as RectControl, config() as WinGestureConfigMBS = nil) as boolean
- WinPointerEventsMBS.SetGestureConfig(win as window, config() as WinGestureConfigMBS = nil) as boolean
Some examples using this class:
The items on this page are in the following plugins: MBS Win Plugin.
MBS Xojo tutorial videos