InkApplicationGesture Enumeration

InkApplicationGesture Enumeration

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

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.

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 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 Microsoftgesture recognizer. For more information about these unimplemented gesture glyphs, see Unimplemented Glyphs.

For more information about application gestures and system gestures, see Making Windows Work with a Pen.

Declaration

[C++]

typedef enum InkApplicationGesture {
    IAG_AllGestures = 0x000,
    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
} InkApplicationGesture;

[Microsoft Visual Basic® 6.0]

Enum InkApplicationGesture
    IAG_AllGestures = 0
    IAG_NoGesture = &Hf000
    IAG_Scratchout = &Hf001
    IAG_Triangle = &Hf002
    IAG_Square = &Hf003
    IAG_Star = &Hf004
    IAG_Check = &Hf005
    IAG_Curlicue = &Hf010
    IAG_DoubleCurlicue = &Hf011
    IAG_Circle = &Hf020
    IAG_DoubleCircle = &Hf021
    IAG_SemiCircleLeft = &Hf028
    IAG_SemiCircleRight = &Hf029
    IAG_ChevronUp = &Hf030
    IAG_ChevronDown = &Hf031
    IAG_ChevronLeft = &Hf032
    IAG_ChevronRight = &Hf033
    IAG_ArrowUp = &Hf038
    IAG_ArrowDown = &Hf039
    IAG_ArrowLeft = &Hf03a
    IAG_ArrowRight = &Hf03b
    IAG_Up = &Hf058
    IAG_Down = &Hf059
    IAG_Left = &Hf05a
    IAG_Right = &Hf05b
    IAG_UpDown = &Hf060
    IAG_DownUp = &Hf061
    IAG_LeftRight = &Hf062
    IAG_RightLeft = &Hf063
    IAG_UpLeftLong = &Hf064
    IAG_UpRightLong = &Hf065
    IAG_DownLeftLong = &Hf066
    IAG_DownRightLong = &Hf0676
    IAG_UpLeft = &Hf068
    IAG_UpRight = &Hf069
    IAG_DownLeft = &Hf06a
    IAG_DownRight = &Hf06b
    IAG_LeftUp = &Hf06c
    IAG_LeftDown = &Hf06d
    IAG_RightUp = &Hf06e
    IAG_RightDown = &Hf06f
    IAG_Exclamation = &Hf0a4
    IAG_Tap = &Hf0f0
    IAG_DoubleTap = &Hf0f1
End Enum

Members

Name Description
AllGestures Recognizes all application-specific gestures.
NoGesture Recognizes no application-specific gestures. See the following "Remarks" section for more details on this member.

This is the default value.

Scratchout Erases content.

This gesture requires at least three strokes in a back-and-forth direction.

Triangle Inserts input.

The triangle must be drawn in a single stroke, without lifting the pen.

Square Marks an action item.

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.

Star Marks an action item.

The star must have exactly five points and be drawn in a single stroke without lifting the pen.

Check Denotes a check-off.

The upward stroke must be twice as long as the smaller downward stroke.

Curlicue Cuts a word.

Start the curlicue on the word that you intend to cut.

DoubleCurlicue Copies a word.

Start the double-curlicue on the word that you intend to copy.

Circle Has no suggested semantic behavior or action.

The circle must be drawn in a single stroke without lifting the pen.

DoubleCircle Pastes a selection.

The two circles must overlap each other and be drawn in a single stroke without lifting the pen.

SemiCircleLeft Undoes an action.

The semicircle must be drawn from left to right. Horizontally, the two ends of the semicircle should be as even as possible.

SemiCircleRight Redoes an action.

The semicircle must be drawn from right to left. Horizontally, the two ends of the semicircle should be as even as possible.

ChevronUp Has no suggested semantic behavior or action.

Both sides of the chevron must be drawn as equal as possible. The angle must be sharp and end in a point.

ChevronDown Has no suggested semantic behavior or action.

Both sides of the chevron must be drawn as equal as possible. The angle must be sharp and end in a point.

ChevronLeft Has no suggested semantic behavior or action.

Both sides of the chevron must be drawn as equal as possible. The angle must be sharp and end in a point.

ChevronRight Has no suggested semantic behavior or action.

Both sides of the chevron must be drawn as equal as possible. The angle must be sharp and end in a point.

ArrowUp Has no suggested semantic behavior or action.

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.

ArrowDown Has no suggested semantic behavior or action.

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.

ArrowLeft Has no suggested semantic behavior or action.

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.

ArrowRight Has no suggested semantic behavior or action.

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.

Up Has no suggested semantic behavior or action.

This gesture must be drawn as a single fast flick in the upward direction.

Down Has no suggested semantic behavior or action.

This gesture must be drawn as a single fast flick in the downward direction.

Left Specifies a backspace.

This gesture must be drawn as a single fast flick to the left.

Right Signifies a space.

This gesture must be drawn as a single fast flick to the right.

UpDown Undoes an action.

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.

DownUp Has no suggested semantic behavior or action.

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.

LeftRight Cuts a selection.

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.

RightLeft Copies a selection.

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.

UpLeftLong Decreases the indent.

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.

UpRightLong Signifies pressing a TAB key.

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.

DownLeftLong Signifies pressing an ENTER key.

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.

DownRightLong Signifies pressing the spacebar.

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.

UpLeft Has no suggested semantic behavior or action.

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.

UpRight Has no suggested semantic behavior or action.

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.

DownLeft Has no suggested semantic behavior or action.

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.

DownRight Has no suggested semantic behavior or action.

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.

LeftUp Has no suggested semantic behavior or action.

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.

LeftDown Has no suggested semantic behavior or action.

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.

RightUp Signifies an Input Method Editor (IME) convert.

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.

RightDown Has no suggested semantic behavior or action.

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.

Exclamation Has no suggested semantic behavior or action.

The line must be drawn first and then the dot drawn quickly and as close to the line as possible.

Tap Signifies a mouse click.

For the least amount of slippage, the tap must be made quickly.

DoubleTap Signifies a mouse double-click.

The two taps must be made quickly to result in the least amount of slippage and the least duration between taps. In addition, the taps must be as close to each other as possible.

Remarks

The default value is NoGesture, which is actually a cutoff line that represents the gesture recognizer's 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.