123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- {$MACRO ON}
- (******************************************************************************
- *
- * Copyright (c) 1994-2000 Palm, Inc. or its subsidiaries.
- * All rights reserved.
- *
- * File: Graffiti.h
- *
- * Release: Palm OS SDK 4.0 (63220)
- *
- * Description:
- * Header for the Graffiti interface
- *
- * History:
- * 6/30 RM - Created by Ron Marianetti
- *
- *****************************************************************************)
- {$IFNDEF FPC_DOTTEDUNITS}
- unit graffiti;
- {$ENDIF FPC_DOTTEDUNITS}
- interface
- {$IFDEF FPC_DOTTEDUNITS}
- uses PalmApi.Palmos, PalmApi.Coretraps, PalmApi.Rect, PalmApi.Errorbase;
- {$ELSE FPC_DOTTEDUNITS}
- uses palmos, coretraps, rect, errorbase;
- {$ENDIF FPC_DOTTEDUNITS}
- (*------------------------------------------------------------------------------
- * Match info structure. Returned by GrfMatch and GrfMatchGlyph
- *-----------------------------------------------------------------------------*)
- type
- GrfMatchType = record
- glyphID: UInt8; // glyph ID of this match
- unCertainty: UInt8; // unCertainty of this match (0 most certain)
- end;
- const
- grfMaxMatches = 4;
- type
- GrfMatchInfoType = record
- numMatches: UInt16; // number of matches returned in this structure
- match: array [0..grfMaxMatches-1] of GrfMatchType;
- end;
- GrfMatchInfoPtr = ^GrfMatchInfoType;
- //----------------------------------------------------------------------------
- // Escape codes preceding special sequences in the dictionary or macros
- //----------------------------------------------------------------------------
- // In dictionary or macros preceding virtual key event sequences. These are always
- // 13 byte sequences that have ASCII encoded values for the ascii code, keyCode,
- // and modifiers:
- // grfVirtualSequence, ascii, keyCode, modifiers.
- // 1 byte 4 bytes 4 bytes 4 bytes
- const
- grfVirtualSequence = $01;
- // In dictionary to tell us about temp shift state changes.
- grfShiftSequence = $02;
- // In dictionary/macros to hide special features
- grfSpecialSequence = $03;
- // Determine if a string has a sequence
- {
- HasVirtualSequence(s) (s[0] == grfVirtualSequence)
- HasSpecialSequence(s) (s[0] == grfSpecialSequence)
- }
- (*------------------------------------------------------------------------------
- * Temp shift states, returned by GrfGetState
- *-----------------------------------------------------------------------------*)
- grfTempShiftPunctuation = 1;
- grfTempShiftExtended = 2;
- grfTempShiftUpper = 3;
- grfTempShiftLower = 4;
- (*------------------------------------------------------------------------------
- * Macro (aka Shortcut) related constants/macros
- * Use the definitions in ShortcutLib.h instead!
- *-----------------------------------------------------------------------------*)
- // AnsiChar indicating a seqeunce of characters to expand.
- grfExpansionSequence = '@';
- // Chars indicating what to expand into
- expandDateChar = 'D';
- expandTimeChar = 'T';
- expandStampChar = 'S'; // This follows 'D' or 'T' for the sake
- // of the mnemonic name.
- // max shortcut name length
- grfNameLength = 8; // eight letters possible (don't forget CR)
- // index which is not a shortcut
- grfNoShortCut = $ffff;
- (************************************************************
- * Graffiti result codes
- *************************************************************)
- grfErrBadParam = grfErrorClass or 1;
- grfErrPointBufferFull = grfErrorClass or 2;
- grfErrNoGlyphTable = grfErrorClass or 3;
- grfErrNoDictionary = grfErrorClass or 4;
- grfErrNoMapping = grfErrorClass or 5;
- grfErrMacroNotFound = grfErrorClass or 6;
- grfErrDepthTooDeep = grfErrorClass or 7;
- grfErrMacroPtrTooSmall = grfErrorClass or 8;
- grfErrNoMacros = grfErrorClass or 9;
- grfErrMacroIncomplete = grfErrorClass or 129; // (grfWarningOffset+1)
- grfErrBranchNotFound = grfErrorClass or 130; // (grfWarningOffset+2)
- grfErrGenericHWRErrBase = grfErrorClass or 16;
- grfErrNoHWRInstalled = grfErrGenericHWRErrBase;
- (************************************************************
- * Graffiti interface procedures
- *************************************************************)
- //-----------------------------------------------------------------
- // High Level Calls
- //------------------------------------------------------------------
- function GrfInit: Err; syscall sysTrapGrfInit;
- function GrfFree: Err; syscall sysTrapGrfFree;
- function GrfProcessStroke(var startPtP, endPtP: PointType; upShift: Boolean): Err; syscall sysTrapGrfProcessStroke;
- function GrfFieldChange(resetState: Boolean; var characterToDelete: UInt16): Err; syscall sysTrapGrfFieldChange;
- function GrfGetState(var capsLockP, numLockP: Boolean; var tempShiftP: UInt16; var autoShiftedP: Boolean): Err; syscall sysTrapGrfGetState;
- function GrfSetState(capsLock, numLock, upperShift: Boolean): Err; syscall sysTrapGrfSetState;
- //-----------------------------------------------------------------
- // Mid Level Calls
- //------------------------------------------------------------------
- function GrfFlushPoints: Err; syscall sysTrapGrfFlushPoints;
- function GrfAddPoint(var pt: PointType): Err; syscall sysTrapGrfAddPoint;
- function GrfInitState: Err; syscall sysTrapGrfInitState;
- function GrfCleanState: Err; syscall sysTrapGrfCleanState;
- function GrfMatch(var flagsP: UInt16; dataPtrP: Pointer; var dataLenP, uncertainLenP: UInt16;
- matchInfoP: GrfMatchInfoPtr): Err; syscall sysTrapGrfMatch;
- function GrfGetMacro(nameP: PAnsiChar; var macroDataP: UInt8; var dataLenP: UInt16): Err; syscall sysTrapGrfGetMacro;
- function GrfGetAndExpandMacro(nameP: PAnsiChar; var macroDataP: UInt8; var dataLenP: UInt16): Err; syscall sysTrapGrfGetAndExpandMacro;
- //-----------------------------------------------------------------
- // Low Level Calls
- //------------------------------------------------------------------
- function GrfFilterPoints: Err; syscall sysTrapGrfFilterPoints;
- function GrfGetNumPoints(var numPtsP: UInt16): Err; syscall sysTrapGrfGetNumPoints;
- function GrfGetPoint(index: UInt16; var pointP: PointType): Err; syscall sysTrapGrfGetPoint;
- function GrfFindBranch(flags: UInt16): Err; syscall sysTrapGrfFindBranch;
- function GrfMatchGlyph(matchInfoP: GrfMatchInfoPtr; maxUnCertainty: Int16; maxMatches: UInt16): Err; syscall sysTrapGrfMatchGlyph;
- function GrfGetGlyphMapping(glyphID: UInt16; var flagsP: UInt16; dataPtrP: Pointer;
- var dataLenP, uncertainLenP: UInt16): Err; syscall sysTrapGrfGetGlyphMapping;
- function GrfGetMacroName(index: UInt16; nameP: PAnsiChar): Err; syscall sysTrapGrfGetMacroName;
- function GrfDeleteMacro(index: UInt16): Err; syscall sysTrapGrfDeleteMacro;
- function GrfAddMacro(const nameP: PAnsiChar; var macroDataP: UInt8; dataLen: UInt16): Err; syscall sysTrapGrfAddMacro;
- implementation
- end.
|