windows-nt/Source/XPSP1/NT/multimedia/media/avi/inc.16/penapi.txt
2020-09-26 16:20:57 +08:00

511 lines
23 KiB
Plaintext

'====================================================================='
'= PENAPI.TXT Windows for Pens - Visual Basic Declarations ='
'= ='
'= Copyright (c) 1992-94, Microsoft Corp. ='
'= All rights reserved. ='
'= ='
'====================================================================='
'====================================================================='
'= Register Pen Applications ='
'====================================================================='
Declare Function RegisterPenApps Lib "penwin.dll" (ByVal wFlags As Integer, ByVal fRegister As Integer) As Integer
Declare Function IsPenAware Lib "penwin.dll" () As Integer
Declare Function GetVersionPenWin Lib "penwin.dll" () As Integer
'====================================================================='
'= ALC CODES ='
'====================================================================='
' These constants are used when defining the
' CharSet property of HEdits and BEdits
Global Const ALC_ALL = &H43FF
Global Const ALC_DEFAULT = &H0
Global Const ALC_LCALPHA = &H1
Global Const ALC_UCALPHA = &H2
Global Const ALC_ALPHA = &H3
Global Const ALC_NUMERIC = &H4
Global Const ALC_ALPHANUMERIC = &H7
Global Const ALC_PUNC = &H8
Global Const ALC_MATH = &H10
Global Const ALC_MONETARY = &H20
Global Const ALC_OTHER = &H40
Global Const ALC_WHITE = &H100
Global Const ALC_NONPRINT = &H200
Global Const ALC_GESTURE = &H4000
Global Const ALC_USEBITMAP = &H8000
Global Const ALC_DBCS = &H400
Global Const ALC_HIRAGANA = &H100000
Global Const ALC_KATAKANA = &H200000
Global Const ALC_KANJI = &H40000
Global Const ALC_OEM = &HFF80000
Global Const ALC_RESERVED = &H43FF
Global Const ALC_NONPRIORITY = &H0
Global Const ALC_SYSMINIMUM = (ALC_ALPHANUMERIC Or ALC_WHITE Or ALC_GESTURE)
'====================================================================='
'= Point and Rectangle Structures ='
'====================================================================='
Type POINTSHORT
x As Integer
y As Integer
End Type
Type RECTSHORT
left As Integer
top As Integer
right As Integer
bottom As Integer
End Type
'====================================================================='
'= Maniplating Pen Data ='
'====================================================================='
Type PENDATAHEADER
wVersion As Integer ' Pen Data format Version
cbSizeUsed As Integer ' Size of Pen data memory block
cStrokes As Integer ' Number of strokes
cPnt As Integer ' Total number of points
cPntStrokeMax As Integer ' Length of longest stroke in points
rectBound As RECTSHORT ' Coordinates of bounding rectangle
wPndts As Integer ' State of various PDTS_??? bits
nInkWidth As Integer ' Ink Width
rgbInk As Long ' Ink Color
End Type
Global Const PDTS_LOMETRIC = &H0 ' Each logical unit is mapped to 0.01mm. Positive X to right; Positive Y down.
Global Const PDTS_HIMETRIC = &H1 ' Logical mapped to 0.001mm. X+ to right; Y+ down
Global Const PDTS_HIENGLISH = &H2 ' Logical mapped to 0.001 inch. X+ to right; y+ is down
Global Const PDTS_SCALEMAX = &H3 ' Maximum scaling allowed
Global Const PDTS_DISPLAY = &H4 ' Logical mapped to display pixel. X+ to right; Y+ is down
Global Const PDTS_ARBITRARY = &H5 ' Arbitrary scale, application dependent
Global Const PDTS_SCALEMASK = &HF ' Mask for bits of scale
Global Const PDTS_STANDARDSCALE = PDTS_HIENGLISH
Global Const PDTS_NOPENINFO = &H100 ' No PENINFO structure
Global Const PDTS_NOUPPOINTS = &H200 ' The data points on pen up have been removed
Global Const PDTS_NOOEMDATA = &H400 ' No OEM data present
Global Const PDTS_NOCOLINEAR = &H800
Global Const PDTS_COMPRESSED = &H8000 ' The data is compressed
Global Const PDTS_COMPRESSMETHOD = &HF0 ' Bits have been saved to encode which compression scheme was used
Global Const PDTS_COMPRESS2NDDERIV = &H10 ' The second derivative betwen points is stored
Global Const PDTT_DEFAULT = &H0 ' reallocates memory block to fit data. Should be run before GlobalSize(hpendata) is taken
Global Const PDTT_PENINFO = PDTS_NOPENINFO ' removes PenInfo from the header
Global Const PDTT_UPPOINTS = PDTS_NOUPPOINTS ' Throws away all data from points collected when pen is not in contact with the tablet.
Global Const PDTT_OEMDATA = PDTS_NOOEMDATA ' Removes All OEM Data that is not x,y (such as presure and angle)
Global Const PDTT_COLINEAR = PDTS_NOCOLINEAR ' Removes successive idetical points and colinear points from pendata
Global Const PDTT_COMPRESS = PDTS_COMPRESSED ' Compresses data without loss of any information.
Global Const PDTT_DECOMPRESS = &H4000 ' Decompresses Data. Cannot be used in conjunction with other timing options.
Global Const PDTT_ALL = (PDTT_PENINFO Or PDTT_UPPOINTS Or PDTT_OEMDATA Or PDTT_COLINEAR)
Global Const MAXOEMDATAWORDS = 6
Type STROKEINFO
cPnts As Integer ' Count of points in stroke
cbPnts As Integer ' Count of bytes used for stroke
wPdk As Integer ' State of stroke
dwTick As Long ' Time of stroke
End Type
Type OEMPENINFO
wPdts As Integer
wValMax As Integer
wDistinct As Integer
End Type
Type PENINFO
cxRawWidth As Integer ' Max x & width of tablet in 0.01 of inch
cyRawHeight As Integer ' Max y & height of tablet " " " "
wDistinctWidth As Integer ' Num of distinct X values returned by tablet
wDistinctHieght As Integer ' Num of distinct Y values returned by tablet
nSamplingRate As Integer ' Samples/second
nSamplingDist As Integer ' Minimum distance moved in either direction
lPdc As Long ' Pen Device capabilities
cbOemData As Integer ' Width of OEM Packet
rgoempeninfo(1 To MAXOEMDATAWORDS) As OEMPENINFO
rgwReserved(1 To 8) As Integer
End Type
Global Const PDT_NULL = 0
Global Const PDT_PRESSURE = 1
Global Const PDT_HEIGHT = 2
Global Const PDT_ANGLEXY = 3
Global Const PDT_ANGLEZ = 4
Global Const PDT_BARRELROTATION = 5
Global Const PDT_OEMSPECIFIC = 16
Global Const PDC_INTEGRATED = &H1
Global Const PDC_PROXIMITY = &H2
Global Const PDC_RANGE = &H4
Global Const PDC_INVERT = &H8
Global Const PDC_RELATIVE = &H10
Global Const PDC_BARREL1 = &H20
Global Const PDC_BARREL2 = &H40
Global Const PDC_BARREL3 = &H80
Declare Function DuplicatePenData Lib "penwin.dll" (ByVal hPenData As Integer, ByVal gMemFlags As Integer) As Integer
Declare Function CompactPenData Lib "penwin.dll" (ByVal hPenData As Integer, ByVal wTrimOptions As Integer) As Integer
Declare Function BeginEnumStrokes Lib "penwin.dll" (ByVal hPenData As Integer) As Long
Declare Function GetPenDataInfo Lib "penwin.dll" (ByVal hPenData As Integer, lppendataheader As PENDATAHEADER, lppeninfo As Any, ByVal dwReserve As Long) As Integer
Declare Function GetPenDataStroke Lib "penwin.dll" (ByVal lppendata As Long, ByVal wStroke As Integer, lplpPoint As Any, lplpvOem As Any, lpsi As STROKEINFO) As Integer
Declare Function GetPointsFromPenData Lib "penwin.dll" (ByVal hPenData As Integer, ByVal wStroke As Integer, ByVal wPnts As Integer, ByVal cPnts As Integer, lppoint As Any) As Integer
Declare Function AddPointsPenData Lib "penwin.dll" (ByVal hPenData As Integer, lpPnt As Any, lpvOemData As Any, lpsiNew As Any) As Integer
'====================================================================='
'= Symbol Graph Structures ='
'====================================================================='
Global Const MAXHOTSPOT = 8
'=== Symbol Character array =========================================='
Type SYC
wStrokeFirst As Integer
wPntFirst As Integer
wStrokeLast As Integer
wPntLast As Integer
fLastSyc As Integer
End Type
'=== Symbol Graph element ============================================'
Type SYG
rgpntHotSpotsArray(1 To MAXHOTSPOT) As POINTSHORT
cHotSpot As Integer
nFirstBox As Integer
lRecogVal As Long
lpSye As Long
cSye As Integer
lpSyc As Long
cSyc As Integer
End Type
'=== Symbol Element =================================================='
Type SYE
Syv As Long
lRecogVal As Long
cl As Integer
iSyc As Integer
End Type
'=== SYV values with special meanings to Windows For Pens
Global Const SYV_NULL = &H0
Global Const SYV_UNKNOWN = &H1
Global Const SYV_EMPTY = &H3
Global Const SYV_BEGINOR = &H10
Global Const SYV_ENDOR = &H11
Global Const SYV_OR = &H12
Global Const SYV_SOFTNEWLINE = &H20
Global Const SYV_SPACENULL = &H10000
'=== SYV values for gestures
Global Const SYV_CLEAR = &H2FFD5
Global Const SYV_EXTENDSELECT = &H2FFD8
Global Const SYV_UNDO = &H2FFD9
Global Const SYV_COPY = &H2FFDA
Global Const SYV_CUT = &H2FFDB
Global Const SYV_PASTE = &H2FFDC
Global Const SYV_CLEARWORD = &H2FFDD
Global Const SYV_USER = &H2FFDE
Global Const SYV_CORRECT = &H2FFDF
Global Const SYV_BACKSPACE = &H20008
Global Const SYV_TAB = &H20009
Global Const SYV_RETURN = &H2000D
Global Const SYV_SPACE = &H20020
'=== Application Specific gestures circle a-z and circle A-Z
Global Const SYV_APPGESTUREMASK = &H20000
Global Const SYV_CIRCLEUPA = &H224B6
Global Const SYV_CIRCLEUPZ = &H224CF
Global Const SYV_CIRCLELOA = &H224D0
Global Const SYV_CIRCLELOZ = &H224E9
'=== SYV for Shapes (if recognizer installed)
Global Const SYV_SHAPELINE = &H40001
Global Const SYV_SHAPEELLIPSE = &H40002
Global Const SYV_SHAPERECT = &H40003
Global Const SYV_SHAPEMIN = SYV_SHAPELINE
Global Const SYV_SHAPEMAX = SYV_SHAPERECT
'=== To detect if SYV is a particular type, let SyvHi=(syv\&H10000)
'=== Compare SyvHi with below
Global Const SYVHI_SPECIAL = 0
Global Const SYVHI_ANSI = 1
Global Const SYVHI_GESTURE = 2
Global Const SYVHI_KANJI = 3
Global Const SYVHI_SHAPE = 4
Global Const SYVHI_UNICODE = 5
Global Const SYVHI_VKEY = 6
'====================================================================='
'= RcResult Structures ='
'====================================================================='
Type RCRESULT
SYGraph As SYG
wResultsType As Integer
cSyv As Integer
lpsyv As Long
hSyv As Integer
nBaseLine As Integer
nMidLine As Integer
hPenData As Integer
rectboundink As RECTSHORT
pntEnd As POINTSHORT
lprc As Long
End Type
Global Const RCRT_DEFAULT = &H0
Global Const RCRT_UNIDENTIFIED = &H1
Global Const RCRT_GESTURE = &H2
Global Const RCRT_NOSYMBOLMATCH = &H3
Global Const RCRT_PRIVATE = &H4000
Global Const RCRT_NORECOG = &H8000
Global Const RCRT_ALREADYPROCESSED = &H8
Global Const RCRT_GESTURETRANSLATED = &H10
Global Const RCRT_GESTURETOKEYS = &H20
Declare Function GetSymbolMaxLength Lib "penwin.dll" (lpsyg As Any) As Integer
Declare Function GetSymbolCount Lib "penwin.dll" (lpsyg As Any) As Integer
Declare Function SymbolToCharacter Lib "penwin.dll" (lpsyv As Any, ByVal cSyv As Any, ByVal lpstr As String, lpnCnvt As Any)
'====================================================================='
'= RC (Recognition Context) Definitions ='
'====================================================================='
Global Const CL_NULL = 0
Global Const CL_MINIMUM = 1
Global Const CL_MAXIMUM = 100
Global Const INKWIDTH_MINIMUM = 0
Global Const INKWIDTH_MAXIMUM = 15
Global Const ENUM_MINIMUM = 1
Global Const ENUM_MAXIMUM = 4096
Global Const MAXDICTIONARIES = 16
Type GUIDE
xOrigin As Integer
yOrigin As Integer
cxBox As Integer
cyBox As Integer
cxBase As Integer
cyBase As Integer
cHorzBox As Integer
cVertBox As Integer
cyMid As Integer
End Type
Global Const cbRcLanguageMax = 44
Global Const cbRcUserMax = 32
Global Const cbRcrgbfAlcMax = 32
Global Const cwRcReservedMax = 8
Type RC ' Provided for Backward Compatibility Only
hRec As Integer
hWnd As Integer
wEventRef As Integer
wRcPreferences As Integer
lRcOptions As Long
lpfnYield As Long
lpUser As String * cbRcUserMax
wCountry As Integer
wIntlPreferences As Integer
lpLanguage As String * cbRcLanguageMax
rglpdf(1 To MAXDICTIONARIES) As Long
wTryDictinary As Integer
clErrorLevel As Integer
alc As Long
alcPriority As Long
rgbfAlc As String * cbRcrgbfAlcMax
wResultMode As Integer
wTimeOut As Integer
lPcm As Long
rectBound As RECTSHORT
rectExclude As RECTSHORT
guid As GUIDE
wRcOrient As Integer
wRcDirect As Integer
nInkWidth As Integer
rgbInk As Long
dwAppParam As Long
dwDictParam As Long
dwRecognizer As Long
rgwReserved(1 To cwRcReservedMax) As Integer
End Type
Declare Function InitRc Lib "penwin.dll" (ByVal hWnd As Integer, lpSrc As RC) As Integer
Declare Function InstallRecognizer Lib "penwin.dll" (ByVal lpszRecogName As String) As Integer
Declare Function UnInstallRecognizer Lib "penwin.dll" (ByVal hRec As Integer) As Integer
Declare Function GetGlobalRC Lib "penwin.dll" (lprc As Any, ByVal lpDefRecog As String, ByVal lpDefRecog As String, ByVal cbDefDictMax As Integer) As Integer
Declare Function SetGlobalRC Lib "penwin.dll" (lprc As Any, ByVal lpDefRecog As String, ByVal lpDefDict As String) As Integer
Global Const GGRC_OK = 0
Global Const GGRC_DICTBUFTOOSMALL = 1
Global Const GGRC_PARAMERROR = 2
Global Const SGRC_OK = &H0
Global Const SGRC_USER = &H1
Global Const SGRC_PARAMERROR = &H2
Global Const SGRC_RC = &H4
Global Const SGRC_RECOGNIZER = &H8
Global Const SGRC_DICTIONARY = &H10
Global Const SGRC_INIFILE = &H20
'====================================================================='
'= Training And Correcting ='
'====================================================================='
Declare Function TrainInk Lib "penwin.dll" (lprc As RC, ByVal hPenData As Integer, lpsyv As Any) As Integer
Declare Function TrainContext Lib "penwin.dll" (lprcResult As RC, lpSye As Any, ByVal cSye As Integer, lpSyc As Any, ByVal cSyc As Integer) As Integer
Declare Function CorrectWriting Lib "penwin.dll" (ByVal hWnd As Integer, ByVal lpstr As String, ByVal cBuf As Integer, lprc As RC, ByVal dwCwrFlags As Any, ByVal dwReserved As Any) As Integer
Global Const CWR_STRIPCR = &H1
Global Const CWR_STRIPLF = &H2
Global Const CWR_STRIPTAB = &H4
Global Const CWR_SINGLELINEEDIT = &H7
Global Const CWR_TITLE = &H10
'====================================================================='
'= Other Windows For Pens API's ='
'====================================================================='
Declare Function BoundingRectFromPoints Lib "penwin.dll" (lpPnt As Any, ByVal cPnt, lprectBound As RECTSHORT) As Integer
Declare Function TPtoDP Lib "penwin.dll" (lpPnts As Any, ByVal cPnts As Integer) As Integer
Declare Function DPtoTP Lib "penwin.dll" (lpPnts As Any, ByVal cPnts As Integer) As Integer
Declare Function DrawPenData Lib "penwin.dll" (ByVal hDC As Integer, lpRect As RECTSHORT, ByVal hPenData As Integer) As Integer
Declare Function MetricScalePenData Lib "penwin.dll" (ByVal hPenData As Integer, ByVal wPdts) As Integer
Declare Function OffsetPenData Lib "penwin.dll" (ByVal hPenData As Integer, ByVal dx As Integer, ByVal dy As Integer) As Integer
Declare Function RecognizePenData Lib "penwin.dll" (lprc As RC, ByVal hPenData As Integer) As Integer
Declare Function CreatePenData Lib "penwin.dll" (lppenifo As PENINFO, ByVal cbOemData As Integer, ByVal wPdtScal As Integer, ByVal gMemFlags As Integer) As Integer
Declare Function ExecuteGesture Lib "penwin.dll" (ByVal hWnd As Integer, ByVal Syv As Long, lprcResult As RC)
'=== Message Routines Constants ======================================'
Global Const WM_PENWINFIRST = &H380 'Main Offset for Pen messages
Global Const WM_RCRESULT = WM_PENWINFIRST + 1
Global Const WM_HOOKRCRESULT = WM_PENWINFIRST + 2
Global Const WM_GLOBALRCCHANGE = WM_PENWINFIRST + 3
Global Const WM_SKB = WM_PENWINFIRST + 4
Global Const WM_HEDITCTL = WM_PENWINFIRST + 5 'Configures HEdits and BEdits
'== The constants below are used as wParam with WM_HEDITCTL message
Global Const HE_GETRC = 3
Global Const HE_SETRC = 4
Global Const HE_GETINFLATE = 5
Global Const HE_SETINFLATE = 6
Global Const HE_GETUNDERLINE = 7
Global Const HE_SETUNDERLINE = 8
Global Const HE_GETINKHANDLE = 9
Global Const HE_SETINKMODE = 10
Global Const HE_STOPINKMODE = 11
Global Const HE_GETRCRESULTCODE = 12
Global Const HE_DEFAULTFONT = 13
Global Const HE_CHARPOSITION = 14
Global Const HE_CHAROFFSET = 15
Global Const HE_GETRCRESULT = 22
'====================================================================='
'= END WINDOWS FOR PENS API ='
'====================================================================='
'====================================================================='
'= PENCNTRL.VBX Constants and Function Declarations ='
'====================================================================='
'== Property Settings =============================================='
' AutoSize Property: IEdit control
Global Const PEN_AUTOSIZE_NONE = 0 ' No AutoSizing occurs
Global Const PEN_AUTOSIZE_STRETCHBITMAP = 1 ' Stretch Bitmap to fit Window
Global Const PEN_AUTOSIZE_SIZEWINDOW = 2 ' Size Window to fit Bitmap
Global Const PEN_AUTOSIZE_TILE = 3 ' Tile Bitmap
Global Const PEN_AUTOSIZE_CENTER = 4 ' Center Bitmap
' BorderStyle Property: BEdit, HEdit, and IEdit controls
Global Const PEN_BORDERSTYLE_NONE = 0 ' No Border
Global Const PEN_BORDERSTYLE_SINGLE = 1 ' Single Line Border
Global Const PEN_BORDERSTYLE_UNDERLINE = 2 ' Underline: Valid for HEdit only
' BoxCross Property: BEdit control only
Global Const PEN_BOXCROSS_OFF = 0 ' BoxCross not displayed
Global Const PEN_BOXCROSS_ON = 1 ' BoxCross displayed
' CombStyle Property: BEdit control only
Global Const PEN_COMBSTYLE_COMB = 0 ' Comb Style
Global Const PEN_COMBSTYLE_BOX = 1 ' Box Style
' FormatAttrb Property: IEdit control only
Global Const PEN_FORMATATTRB_COLOR = 0 ' Set Stroke Color
Global Const PEN_FORMATATTRB_WIDTH = 1 ' Set Stroke Width
Global Const PEN_FORMATATTRB_BOTH = 2 ' Set both Stroke Color & Width
' FormatItem Property: IEdit control only
Global Const PEN_FORMATITEM_ALL = 0 ' Set Attributes for All Strokes
Global Const PEN_FORMATITEM_SELECTION = 1 ' Set Attributes for Selected Strokes
Global Const PEN_FORMATITEM_INDEX = 2 ' Set Attributes for Stroke specified by StrokeIndex
' GestureSet Property: BEdit and HEdit controls
Global Const PEN_GESTURESET_SELECTION = &H1 ' Selection and Lasso
Global Const PEN_GESTURESET_CLIPBOARD = &H2 ' Cut, Copy, Paste
Global Const PEN_GESTURESET_WHITECHARS = &H4 ' Space, Tab, Return
Global Const PEN_GESTURESET_EDIT = &H10 ' Insert, Correct, Undo
Global Const PEN_GESTURESET_CIRCLELOWER = &H100 ' Lowercase Circle Gestures
Global Const PEN_GESTURESET_CIRCLEUPPER = &H200 ' Uppercase Circle Gestures
' hInkGet/hInkSet Properties: IEdit control only
Global Const PEN_HINKGET_ALL = 0 ' Get all the Ink in the IEdit
Global Const PEN_HINKGET_SELECTION = 1 ' Get only the selected Ink
' InkDataMode Property: BEdit, HEdit, and IEdit controls
Global Const PEN_INKDATAMODE_REPLACE = 0 ' Existing Ink is replaced when new Ink is assigned to InkDataString
Global Const PEN_INKDATAMODE_APPEND = 1 ' New ink is appended to existing Ink
' InkingMode Property: IEdit control only
Global Const PEN_INKINGMODE_READY = 0 ' Ready Mode
Global Const PEN_INKINGMODE_ERASE = 1 ' Erasing Mode for erasing Ink
Global Const PEN_INKINGMODE_LASSO = 2 ' Lasso Selection Mode
' InkInput Property: IEdit control only
Global Const PEN_INKINPUT_MOVE = 1 ' Ink will be Moved into IEdit
Global Const PEN_INKINPUT_RESIZE = 2 ' Ink will be Resized to fit in IEdit
Global Const PEN_INKINPUT_CROP = 4 ' Ink drawn outside IEdit will be cropped
Global Const PEN_INKINPUT_DISCARD = 8 ' Ink will be discarded if any part of stroke is outside of IEdit
' InkWidth Property: BEdit, HEdit, and IEdit controls
Global Const PEN_INKWIDTH_DEFAULT = -1 ' Use system default Ink Width
Global Const PEN_INKWIDTH_MIN = 0 ' Minimum Valid size; no Ink is displayed
Global Const PEN_INKWIDTH_MAX = 15 ' Maximum Valid Ink Width (in Pixels)
' Recog Property: IEdit control only
Global Const PEN_RECOG_NONE = 0 ' No Recognition
Global Const PEN_RECOG_GESTURES = 1 ' Recognize Gestures Only
Global Const PEN_RECOG_ALL = 2 ' Recognize All
' ScrollBars Property: BEdit and HEdit controls
Global Const PEN_SCROLLBARS_NONE = 0 ' No ScrollBars
Global Const PEN_SCROLLBARS_HORIZONTAL = 1 ' Horizontal ScrollBar: Not Valid for BEdit
Global Const PEN_SCROLLBARS_VERTICAL = 2 ' Vertical ScrollBar
Global Const PEN_SCROLLBARS_BOTH = 3 ' Both ScrollBars: Valid for HEdit only
' Security Property: IEdit control only
Global Const PEN_SECURITY_NOCOPY = &H1 ' Disable Copying Ink
Global Const PEN_SECURITY_NOCUT = &H2 ' Disable Cutting Ink
Global Const PEN_SECURITY_NOPASTE = &H4 ' Disable Pasting Ink
Global Const PEN_SECURITY_NOUNDO = &H8 ' Disable Undo action
Global Const PEN_SECURITY_NOINK = &H10 ' Disable Inking
Global Const PEN_SECURITY_NOERASE = &H20 ' Disable Erasing Ink
Global Const PEN_SECURITY_NOGET = &H40 ' Disable reading hInk property
Global Const PEN_SECURITY_NOSET = &H80 ' Disable writing hInk property
'== Trappable Error Strings ========================================'
Global Const PENERR_INKWIDTH = 32001 ' InkWidth must be in range 0-15 or -1 for default
Global Const PENERR_NEGCELLWIDTH = 32002 ' CellWidth must be greater than 0
Global Const PENERR_CELLWIDTH = 32003 ' CellWidth must be greater than or equal to CombSpacing*2
Global Const PENERR_NEGCELLHEIGHT = 32004 ' CellHeight must be greater than 0
Global Const PENERR_CELLHEIGHT = 32005 ' CellHeight must be greater than or equal to CombBaseLine
Global Const PENERR_COMBSPACING = 32006 ' CombSpacing out of range (0 - CellWidth/2)
Global Const PENERR_COMBBASELINE = 32007 ' CombBaseLine out of range (0 - CellHeight)
Global Const PENERR_BIGCOMBBASELINE = 32008 ' CombBaseLine must be greater than or equal to CombHeight and CombEndHeight
Global Const PENERR_COMBHEIGHT = 32009 ' CombHeight out of range (0 - CombBaseLine)
Global Const PENERR_COMBENDHEIGHT = 32010 ' CombEndHeight our of range (0 - CombBaseLine)
Global Const PENERR_INFLATE = 32011 ' Inflate value must be greater than or equal to 0
Global Const PENERR_INVALIDPICTURE = 32012 ' Picture format not supported
Global Const PENERR_DISPLAYFAILED = 32013 ' Unable to display bitmap
Global Const PENERR_AUTOSIZEHW = 32014 ' Cannot change Height or Width while AutoSize equals 2
Global Const PENERR_MERGEFAILED = 32015 ' Unable to merge ink data
Global Const PENERR_INVALIDINKDATA = 32016 ' Invalid InkDataString format
'== Functions Declarations ========================================='
Declare Sub VBTypeToCPointer Lib "pencntrl.vbx" (lpSrc As Any, ByVal lpDest As Long, ByVal cb As Integer)
Declare Sub CPointerToVBType Lib "pencntrl.vbx" (ByVal lpSrc As Long, lpDest As Any, ByVal cb As Integer)
'====================================================================='