Repository URL to install this package:
Version:
3.0.0 ▾
|
{$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
*
*****************************************************************************)
unit graffiti;
interface
uses palmos, coretraps, rect, errorbase;
(*------------------------------------------------------------------------------
* 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!
*-----------------------------------------------------------------------------*)
// Char 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: PChar; var macroDataP: UInt8; var dataLenP: UInt16): Err; syscall sysTrapGrfGetMacro;
function GrfGetAndExpandMacro(nameP: PChar; 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: PChar): Err; syscall sysTrapGrfGetMacroName;
function GrfDeleteMacro(index: UInt16): Err; syscall sysTrapGrfDeleteMacro;
function GrfAddMacro(const nameP: PChar; var macroDataP: UInt8; dataLen: UInt16): Err; syscall sysTrapGrfAddMacro;
implementation
end.