InkApplicationGesture enumeration (msinkaut.h)

Defines values that set the interest in a set of application-specific gesture.

Application gestures are gestures that you can choose to have your application support. Applications that are specifically designed to work with a pen are more likely to use these gestures than applications designed for mouse and keyboard.

The Tap and DoubleTap gestures are supported as application gestures and system gestures (system gestures are defined in the InkSystemGesture enumeration type). This means you can incorporate an application gesture that has a component that may be construed as a Tap or DoubleTap (such as the Exclamation gesture). In this case, enable the Tap application gesture and disable the Tap system gesture in your application. When a user taps, the application gesture is recognized. This allows your application to listen for a single component that can both identify and distinguish a system gesture Tap from a Tap within the application gesture.

In addition to the following list of gestures, Microsoft intends to support many gesture glyphs as part of the Microsoft gesture recognizer. For more information about these unimplemented gesture glyphs, see Unimplemented Glyphs.

For more information about application gestures and system gestures, see Using Gestures and Pen Input, Ink, and Recognition.

Syntax

typedef enum InkApplicationGesture {
  IAG_AllGestures = 0,
  IAG_NoGesture = 0xf000,
  IAG_Scratchout = 0xf001,
  IAG_Triangle = 0xf002,
  IAG_Square = 0xf003,
  IAG_Star = 0xf004,
  IAG_Check = 0xf005,
  IAG_Curlicue = 0xf010,
  IAG_DoubleCurlicue = 0xf011,
  IAG_Circle = 0xf020,
  IAG_DoubleCircle = 0xf021,
  IAG_SemiCircleLeft = 0xf028,
  IAG_SemiCircleRight = 0xf029,
  IAG_ChevronUp = 0xf030,
  IAG_ChevronDown = 0xf031,
  IAG_ChevronLeft = 0xf032,
  IAG_ChevronRight = 0xf033,
  IAG_ArrowUp = 0xf038,
  IAG_ArrowDown = 0xf039,
  IAG_ArrowLeft = 0xf03a,
  IAG_ArrowRight = 0xf03b,
  IAG_Up = 0xf058,
  IAG_Down = 0xf059,
  IAG_Left = 0xf05a,
  IAG_Right = 0xf05b,
  IAG_UpDown = 0xf060,
  IAG_DownUp = 0xf061,
  IAG_LeftRight = 0xf062,
  IAG_RightLeft = 0xf063,
  IAG_UpLeftLong = 0xf064,
  IAG_UpRightLong = 0xf065,
  IAG_DownLeftLong = 0xf066,
  IAG_DownRightLong = 0xf067,
  IAG_UpLeft = 0xf068,
  IAG_UpRight = 0xf069,
  IAG_DownLeft = 0xf06a,
  IAG_DownRight = 0xf06b,
  IAG_LeftUp = 0xf06c,
  IAG_LeftDown = 0xf06d,
  IAG_RightUp = 0xf06e,
  IAG_RightDown = 0xf06f,
  IAG_Exclamation = 0xf0a4,
  IAG_Tap = 0xf0f0,
  IAG_DoubleTap = 0xf0f1
} ;

Constants

 
IAG_AllGestures
Value: 0
All application-specific gestures.
IAG_NoGesture
Value: 0xf000
No application-specific gestures. See the following "Remarks" section for more details on this member.

This is the default value.
IAG_Scratchout
Value: 0xf001
This gesture must be drawn as a single stroke that has at least three back-and-forth motions.
IAG_Triangle
Value: 0xf002
The triangle must be drawn in a single stroke, without lifting the pen.
IAG_Square
Value: 0xf003
The square can be drawn in one or two strokes. In one stroke, draw the entire square without lifting the pen. In two strokes, draw three sides of the square and use another stroke to draw the remaining side. Do not use more than two strokes to draw the square.
IAG_Star
Value: 0xf004
The star must have exactly five points and be drawn in a single stroke without lifting the pen.
IAG_Check
Value: 0xf005
The upward stroke must be twice as long as the smaller downward stroke.
IAG_Curlicue
Value: 0xf010
Start the curlicue on the ink on which you intend to take action.
IAG_DoubleCurlicue
Value: 0xf011
Start the double-curlicue on the ink on which you intend to take action.
IAG_Circle
Value: 0xf020
The circle must be drawn in a single stroke without lifting the pen.
IAG_DoubleCircle
Value: 0xf021
The two circles must overlap each other and be drawn in a single stroke without lifting the pen.
IAG_SemiCircleLeft
Value: 0xf028
The semicircle must be drawn from left to right. Horizontally, the two ends of the semicircle should be as even as possible.
IAG_SemiCircleRight
Value: 0xf029
The semicircle must be drawn from right to left. Horizontally, the two ends of the semicircle should be as even as possible.
IAG_ChevronUp
Value: 0xf030
Both sides of the chevron must be drawn as equal as possible. The angle must be sharp and end in a point.
IAG_ChevronDown
Value: 0xf031
Both sides of the chevron must be drawn as equal as possible. The angle must be sharp and end in a point.
IAG_ChevronLeft
Value: 0xf032
Both sides of the chevron must be drawn as equal as possible. The angle must be sharp and end in a point.
IAG_ChevronRight
Value: 0xf033
Both sides of the chevron must be drawn as equal as possible. The angle must be sharp and end in a point.
IAG_ArrowUp
Value: 0xf038
The arrow can be drawn in single stroke or in two strokes in which one stroke is the line and the other is the arrow head. Do not use more than two strokes to draw the arrow.
IAG_ArrowDown
Value: 0xf039
The arrow can be drawn in a single stroke or in two strokes in which one stroke is the line and the other is the arrow head. Do not use more than two strokes to draw the arrow.
IAG_ArrowLeft
Value: 0xf03a
The arrow can be drawn in a single stroke or in two strokes in which one stroke is the line and the other is the arrow head. Do not use more than two strokes to draw the arrow.
IAG_ArrowRight
Value: 0xf03b
The arrow can be drawn in a single stroke or in two strokes in which one stroke is the line and the other is the arrow head. Do not use more than two strokes to draw the arrow.
IAG_Up
Value: 0xf058
This gesture must be drawn as a single fast flick in the upward direction.

This gesture is used by Flicks Gestures.
IAG_Down
Value: 0xf059
This gesture must be drawn as a single fast flick in the downward direction.

This gesture is used by Flicks Gestures.
IAG_Left
Value: 0xf05a
This gesture must be drawn as a single fast flick to the left.

This gesture is used by Flicks Gestures.
IAG_Right
Value: 0xf05b
This gesture must be drawn as a single fast flick to the right.

This gesture is used by Flicks Gestures.
IAG_UpDown
Value: 0xf060
This gesture must be drawn in a single stroke starting with the up stroke. The two strokes must be as close to each other as possible.
IAG_DownUp
Value: 0xf061
This gesture must be drawn in a single stroke starting with the down stroke. The two strokes must be as close to each other as possible.
IAG_LeftRight
Value: 0xf062
This gesture must be drawn in a single stroke starting with the left stroke. The two strokes must be as close to each other as possible.
IAG_RightLeft
Value: 0xf063
This gesture must be drawn in a single stroke starting with the right stroke. The two strokes must be as close to each other as possible.
IAG_UpLeftLong
Value: 0xf064
This gesture must be drawn in a single stroke starting with the up stroke. The left stroke must be about twice as long as the up stroke, and the two strokes must be at a right angle.
IAG_UpRightLong
Value: 0xf065
This gesture must be drawn in a single stroke starting with the up stroke. The right stroke must be about twice as long as the up stroke, and the two strokes must be at a right angle.
IAG_DownLeftLong
Value: 0xf066
This gesture must be drawn in a single stroke starting with the down stroke. The left stroke is about twice as long as the up stroke, and the two strokes must be at a right angle.
IAG_DownRightLong
Value: 0xf067
This gesture must be drawn in a single stroke starting with the down stroke. The right stroke must be about twice as long as the up stroke, and the two strokes must be at a right angle.
IAG_UpLeft
Value: 0xf068
This gesture must be drawn in a single stroke starting with the up stroke. The two sides must be as equal in length as possible and at a right angle.
IAG_UpRight
Value: 0xf069
This gesture must be drawn in a single stroke starting with the up stroke. The two sides must be as equal in length as possible and at a right angle.
IAG_DownLeft
Value: 0xf06a
This gesture must be drawn in a single stroke starting with the down stroke. The two sides must be as equal in length as possible and at a right angle.
IAG_DownRight
Value: 0xf06b
This gesture must be drawn in a single stroke starting with the down stroke. The two sides must be as equal in length as possible and at a right angle.
IAG_LeftUp
Value: 0xf06c
This gesture must be drawn in a single stroke starting with the left stroke. The two sides must be as equal in length as possible and at a right angle.
IAG_LeftDown
Value: 0xf06d
This gesture must be drawn in a single stroke starting with the left stroke. The two sides are as equal in length as possible and at a right angle.
IAG_RightUp
Value: 0xf06e
This gesture must be drawn in a single stroke starting with the right stroke. The two sides must be as equal in length as possible and at a right angle.
IAG_RightDown
Value: 0xf06f
This gesture must be drawn in a single stroke starting with the right stroke. The two sides must be as equal in length as possible and at a right angle.
IAG_Exclamation
Value: 0xf0a4
The line must be drawn first and then the dot drawn quickly and as close to the line as possible.
IAG_Tap
Value: 0xf0f0
A mouse click.

For the least amount of slipping across the digitizer surface, tap quickly.
IAG_DoubleTap
Value: 0xf0f1
A mouse double-click.

Tap quickly and in as close to the same place for best results.

Remarks

The default value is NoGesture, which is actually a cutoff line that represents the Microsoft gesture recognizer minimum suggested confidence. It does not actually represent a gesture or lack of gesture, just the point at which the gesture recognizer lacks enough confidence in the result accuracy to recommend anything following that point.

For example, assume that a gesture array consists of the following values: Circle, LeftRight, NoGesture, RightLeft, and Triangle. In this case, the gesture recognizer has a great degree of confidence in Circle and less confidence in LeftRight. The recognizer has very low confidence in RightLeft and Triangle because they come after NoGesture in the array order.

The confidence level at which the gesture recognizer returns NoGesture cannot be changed.

If NoGesture is the first element in the array (which means that every recognized gesture is below the suggested confidence threshold), then the platform alters the default value of the Cancel parameter in the Gesture event handler from FALSE to TRUE. This causes the ink to be considered a stroke and not be deleted from the InkDisp object by default.

Requirements

Requirement Value
Minimum supported client Windows XP Tablet PC Edition [desktop apps only]
Minimum supported server None supported
Header msinkaut.h

See also

CollectionMode Property [InkPicture Class]

Gesture Event [InkPicture Control]

GetGestureStatus Method [InkPicture Control]

GetHotPoint Method

InkSystemGesture Enumeration

Integrating Application Gestures

SetGestureStatus Method [InkPicture Control]

SystemGesture Event [InkPicture Class]

Using Gestures