#IF NOT %DEF(PBX_TabFlicks_PBI)
#DEFINE PBX_TabFlicks_PBI
%EQUATE `TABFLICKS_INC = 1
%EQUATE `FLICK_WM_HANDLED_MASK = &H1
%EQUATE `NUM_FLICK_DIRECTIONS = 8
' enum FLICKDIRECTION
%EQUATE `FLICKDIRECTION_MIN = 0
%EQUATE `FLICKDIRECTION_RIGHT = 0
%EQUATE `FLICKDIRECTION_UPRIGHT = 1
%EQUATE `FLICKDIRECTION_UP = 2
%EQUATE `FLICKDIRECTION_UPLEFT = 3
%EQUATE `FLICKDIRECTION_LEFT = 4
%EQUATE `FLICKDIRECTION_DOWNLEFT = 5
%EQUATE `FLICKDIRECTION_DOWN = 6
%EQUATE `FLICKDIRECTION_DOWNRIGHT = 7
%EQUATE `FLICKDIRECTION_INVALID = 8
' enum FLICKMODE
%EQUATE `FLICKMODE_MIN = 0
%EQUATE `FLICKMODE_OFF = 0
%EQUATE `FLICKMODE_ON = 1
%EQUATE `FLICKMODE_LEARNING = 2
%EQUATE `FLICKMODE_MAX = 2
%EQUATE `FLICKMODE_DEFAULT = 2
' enum %FLICKACTION_COMMANDCODE
%EQUATE `FLICKACTION_COMMANDCODE_NULL = 0
%EQUATE `FLICKACTION_COMMANDCODE_SCROLL = 1
%EQUATE `FLICKACTION_COMMANDCODE_APPCOMMAND = 2
%EQUATE `FLICKACTION_COMMANDCODE_CUSTOMKEY = 3
%EQUATE `FLICKACTION_COMMANDCODE_KEYMODIFIER = 4
' // Size = 4 bytes
TYPE FLICK_POINT WORD
 x AS BIT * 16 IN WORD ' INT x:16
 y AS BIT * 16 IN WORD ' INT y:16
END TYPE
' // Size = 4 bytes
TYPE FLICK_DATA DWORD
 iFlickActionCommandCode AS BIT * 5 IN DWORD ' FLICKACTION_COMMANDCODE iFlickActionCommandCode:5
 iFlickDirection AS BIT * 3 ' FLICKDIRECTION iFlickDirection:3
 fControlModifier AS BIT * 1 ' BOOL fControlModifier:1
 fMenuModifier AS BIT * 1 ' BOOL fMenuModifier:1
 fAltGRModifier AS BIT * 1 ' BOOL fAltGRModifier:1
 fWinModifier AS BIT * 1 ' BOOL fWinModifier:1
 fShiftModifier AS BIT * 1 ' BOOL fShiftModifier:1
 iReserved AS BIT * 2 ' INT ' iReserved:2
 fOnInkingSurface AS BIT * 1 ' BOOL fOnInkingSurface:1
 iActionArgument AS BIT * 16 ' INT iActionArgument:16
END TYPE
' enum SCROLLDIRECTION
%EQUATE `SCROLLDIRECTION_UP = 0
%EQUATE `SCROLLDIRECTION_DOWN = 1
' enum KEYMODIFIER
%EQUATE `KEYMODIFIER_CONTROL = 1
%EQUATE `KEYMODIFIER_MENU = 2
%EQUATE `KEYMODIFIER_SHIFT = 4
%EQUATE `KEYMODIFIER_WIN = 8
%EQUATE `KEYMODIFIER_ALTGR = 16
%EQUATE `KEYMODIFIER_EXT = 32
#ENDIF
