fpc/packages/extra/palmunits/chars.pp
2005-02-14 17:13:06 +00:00

449 lines
18 KiB
ObjectPascal

(******************************************************************************
*
* Copyright (c) 1994-2000 Palm, Inc. or its subsidiaries.
* All rights reserved.
*
* File: Chars.h
*
* Release: Palm OS SDK 4.0 (63220)
*
* Description:
* This file defines the characters in fonts.
*
* History:
* November 3, 1994 Created by Roger Flores
* 11/03/94 rsf Created by Roger Flores.
* 04/21/99 JFS Added list of virtual command key ranges reserved
* for use by licensees.
* 09/13/99 kwk Added vchrTsmMode.
* 10/28/99 kwk Defined vchrPageUp and vchrPageDown.
* 2001-02-10 jwm Added symbol11Help and corrected values of *ArrowDisabled
*
*****************************************************************************)
unit chars;
interface
uses palmos;
// Standard Unicode 2.0 names for the ascii characters. These exist in
// all of the text fonts, no matter what character encoding is being
// used by PalmOS.
const
chrNull = $0000;
chrStartOfHeading = $0001;
chrStartOfText = $0002;
chrEndOfText = $0003;
chrEndOfTransmission = $0004;
chrEnquiry = $0005;
chrAcknowledge = $0006;
chrBell = $0007;
chrBackspace = $0008;
chrHorizontalTabulation = $0009;
chrLineFeed = $000A;
chrVerticalTabulation = $000B;
chrFormFeed = $000C;
chrCarriageReturn = $000D;
chrShiftOut = $000E;
chrShiftIn = $000F;
chrDataLinkEscape = $0010;
chrDeviceControlOne = $0011;
chrDeviceControlTwo = $0012;
chrDeviceControlThree = $0013;
chrDeviceControlFour = $0014;
chrNegativeAcknowledge = $0015;
chrSynchronousIdle = $0016;
chrEndOfTransmissionBlock = $0017;
chrCancel = $0018;
chrEndOfMedium = $0019;
chrSubstitute = $001A;
chrEscape = $001B;
chrFileSeparator = $001C;
chrGroupSeparator = $001D;
chrRecordSeparator = $001E;
chrUnitSeparator = $001F;
chrSpace = $0020;
chrExclamationMark = $0021;
chrQuotationMark = $0022;
chrNumberSign = $0023;
chrDollarSign = $0024;
chrPercentSign = $0025;
chrAmpersand = $0026;
chrApostrophe = $0027;
chrLeftParenthesis = $0028;
chrRightParenthesis = $0029;
chrAsterisk = $002A;
chrPlusSign = $002B;
chrComma = $002C;
chrHyphenMinus = $002D;
chrFullStop = $002E;
chrSolidus = $002F;
chrDigitZero = $0030;
chrDigitOne = $0031;
chrDigitTwo = $0032;
chrDigitThree = $0033;
chrDigitFour = $0034;
chrDigitFive = $0035;
chrDigitSix = $0036;
chrDigitSeven = $0037;
chrDigitEight = $0038;
chrDigitNine = $0039;
chrColon = $003A;
chrSemicolon = $003B;
chrLessThanSign = $003C;
chrEqualsSign = $003D;
chrGreaterThanSign = $003E;
chrQuestionMark = $003F;
chrCommercialAt = $0040;
chrCapital_A = $0041;
chrCapital_B = $0042;
chrCapital_C = $0043;
chrCapital_D = $0044;
chrCapital_E = $0045;
chrCapital_F = $0046;
chrCapital_G = $0047;
chrCapital_H = $0048;
chrCapital_I = $0049;
chrCapital_J = $004A;
chrCapital_K = $004B;
chrCapital_L = $004C;
chrCapital_M = $004D;
chrCapital_N = $004E;
chrCapital_O = $004F;
chrCapital_P = $0050;
chrCapital_Q = $0051;
chrCapital_R = $0052;
chrCapital_S = $0053;
chrCapital_T = $0054;
chrCapital_U = $0055;
chrCapital_V = $0056;
chrCapital_W = $0057;
chrCapital_X = $0058;
chrCapital_Y = $0059;
chrCapital_Z = $005A;
chrLeftSquareBracket = $005B;
// chrReverseSolidus $005C (not in Japanese fonts)
chrRightSquareBracket = $005D;
chrCircumflexAccent = $005E;
chrLowLine = $005F;
chrGraveAccent = $0060;
chrSmall_A = $0061;
chrSmall_B = $0062;
chrSmall_C = $0063;
chrSmall_D = $0064;
chrSmall_E = $0065;
chrSmall_F = $0066;
chrSmall_G = $0067;
chrSmall_H = $0068;
chrSmall_I = $0069;
chrSmall_J = $006A;
chrSmall_K = $006B;
chrSmall_L = $006C;
chrSmall_M = $006D;
chrSmall_N = $006E;
chrSmall_O = $006F;
chrSmall_P = $0070;
chrSmall_Q = $0071;
chrSmall_R = $0072;
chrSmall_S = $0073;
chrSmall_T = $0074;
chrSmall_U = $0075;
chrSmall_V = $0076;
chrSmall_W = $0077;
chrSmall_X = $0078;
chrSmall_Y = $0079;
chrSmall_Z = $007A;
chrLeftCurlyBracket = $007B;
chrVerticalLine = $007C;
chrRightCurlyBracket = $007D;
chrTilde = $007E;
chrDelete = $007F;
// Special meanings given to characters by the PalmOS
chrTab = chrHorizontalTabulation; // $0009
vchrPageUp = chrVerticalTabulation; // $000B
vchrPageDown = chrFormFeed; // $000C
chrOtaSecure = chrDeviceControlFour; // $0014
chrOta = chrNegativeAcknowledge; // $0015
chrCommandStroke = chrSynchronousIdle; // $0016
chrShortcutStroke = chrEndOfTransmissionBlock; // $0017
chrEllipsis = chrCancel; // $0018
chrNumericSpace = chrEndOfMedium; // $0019
chrCardIcon = chrSubstitute; // $001A Card Icon glyph, added in PalmOS 4.0
chrLeftArrow = chrFileSeparator; // $001C
chrRightArrow = chrGroupSeparator; // $001D
chrUpArrow = chrRecordSeparator; // $001E
chrDownArrow = chrUnitSeparator; // $001F
// The following are key codes used for virtual events, like
// low battery warnings, etc. These keyboard events MUST
// have the commandKeyMask bit set in the modifiers in order
// to be recognized.
vchrLowBattery = $0101; // Display low battery dialog
vchrEnterDebugger = $0102; // Enter Debugger
vchrNextField = $0103; // Go to next field in form
vchrStartConsole = $0104; // Startup console task
vchrMenu = $0105; // Ctl-A
vchrCommand = $0106; // Ctl-C
vchrConfirm = $0107; // Ctl-D
vchrLaunch = $0108; // Ctl-E
vchrKeyboard = $0109; // Ctl-F popup the keyboard in appropriate mode
vchrFind = $010A;
vchrCalc = $010B;
vchrPrevField = $010C;
vchrAlarm = $010D; // sent before displaying an alarm
vchrRonamatic = $010E; // stroke from graffiti area to top half of screen
vchrGraffitiReference = $010F; // popup the Graffiti reference
vchrKeyboardAlpha = $0110; // popup the keyboard in alpha mode
vchrKeyboardNumeric = $0111; // popup the keyboard in number mode
vchrLock = $0112; // switch to the Security app and lock the device
vchrBacklight = $0113; // toggle state of backlight
vchrAutoOff = $0114; // power off due to inactivity timer
// Added for PalmOS 3.0
vchrExgTest = $0115; // put exchange Manager into test mode (&.t)
vchrSendData = $0116; // Send data if possible
vchrIrReceive = $0117; // Initiate an Ir receive manually (&.i)
// Added for PalmOS 3.1
vchrTsm1 = $0118; // Text Services silk-screen button
vchrTsm2 = $0119; // Text Services silk-screen button
vchrTsm3 = $011A; // Text Services silk-screen button
vchrTsm4 = $011B; // Text Services silk-screen button
// Added for PalmOS 3.2
vchrRadioCoverageOK = $011C; // Radio coverage check successful
vchrRadioCoverageFail = $011D; // Radio coverage check failure
vchrPowerOff = $011E; // Posted after autoOffChr or hardPowerChr
// to put system to sleep with SysSleep.
// Added for PalmOS 3.5
vchrResumeSleep = $011F; // Posted by NotifyMgr clients after they
// have deferred a sleep request in order
// to resume it.
vchrLateWakeup = $0120; // Posted by the system after waking up
// to broadcast a late wakeup notification.
// FOR SYSTEM USE ONLY
vchrTsmMode = $0121; // Posted by TSM to trigger mode change.
vchrBrightness = $0122; // Activates brightness adjust dialog
vchrContrast = $0123; // Activates contrast adjust dialog
vchrExpCardInserted = $0124; // ExpansionMgr card inserted & removed.
vchrExpCardRemoved = $0125; // NOTE: these keys will never show up in an
// app's event loop (they are caught inside
// EvtGetEvent()), and will probably be
// deprecated soon (see comments in ExpansionMgr.c).
vchrExgIntData = $01FF; // Exchange Manager wakeup event
// Added for PalmOS 4.0 NOTE: 0x1FF is used above - not in numeric order!
vchrAttnStateChanged = $0126; // Posted by AttentionMgr API to open or update dialog
vchrAttnUnsnooze = $0127; // Posted when AttentionMgr snooze timer expires
vchrAttnIndicatorTapped = $0128; // Posted when AttentionIndicator is tapped
vchrAttnAllowClose = $0129; // Posted when AttnAllowClose is called
vchrAttnReopen = $012A; // Posted when AttnReopen is called
vchrCardCloseMenu = $012B; // Posted when a card is inserted
vchrIrGotData = $012C; // Posted when IR Receive initiated
// and copying of an app is imminent
// The application launching buttons generate the following
// key codes and will also set the commandKeyMask bit in the
// modifiers field
vchrHardKeyMin = $0200;
vchrHardKeyMax = $02FF; // 256 hard keys
vchrHard1 = $0204;
vchrHard2 = $0205;
vchrHard3 = $0206;
vchrHard4 = $0207;
vchrHardPower = $0208;
vchrHardCradle = $0209; // Button on cradle pressed
vchrHardCradle2 = $020A; // Button on cradle pressed and hwrDockInGeneric1
// input on dock asserted (low).
vchrHardContrast = $020B; // Sumo's Contrast button
vchrHardAntenna = $020C; // Eleven's Antenna switch
vchrHardBrightness = $020D; // Hypothetical Brightness button
vchrPageUpWhenOff = $020E; // The m100 device's page-up clock button
vchrHardEarbud = $020F; // Hypothetical Earbud button
// The following keycode RANGES are reserved for use by licensees.
// All have the commandKeyMask bit set in the event's modifiers field.
// Note that ranges include the Min and Max values themselves (i.e. key
// codes >= min and <= max are assigned to the following licensees).
//
// Qualcomm
vchrThumperMin = $0300;
vchrThumperMax = $03FF; // 256 command keys
// Motorola
vchrCessnaMin = $14CD;
vchrCessnaMax = $14CD; // 1 command key
// TRG
vchrCFlashMin = $1500;
vchrCFlashMax = $150F; // 16 command keys
// Symbol
vchrSPTMin = $15A0;
vchrSPTMax = $15AF; // 16 command keys
// Handspring
vchrSlinkyMin = $1600;
vchrSlinkyMax = $16FF; // 256 command keys
// Palm
vchrPalmMin = $1700; // 256 command keys
vchrPalmMax = $17ff;
// Old names for some of the characters.
nullChr = chrNull; // $0000
backspaceChr = chrBackspace; // $0008
tabChr = chrHorizontalTabulation; // $0009
linefeedChr = chrLineFeed; // $000A
pageUpChr = vchrPageUp; // $000B
chrPageUp = vchrPageUp; // $000B
pageDownChr = vchrPageDown; // $000C
chrPageDown = vchrPageDown; // $000C
crChr = chrCarriageReturn; // $000D
returnChr = chrCarriageReturn; // $000D
otaSecureChr = chrOtaSecure; // $0014
otaChr = chrOta; // $0015
escapeChr = chrEscape; // $001B
leftArrowChr = chrLeftArrow; // $001C
rightArrowChr = chrRightArrow; // $001D
upArrowChr = chrUpArrow; // $001E
downArrowChr = chrDownArrow; // $001F
spaceChr = chrSpace; // $0020
quoteChr = chrQuotationMark; // $0022 '"'
commaChr = chrComma; // $002C ','
periodChr = chrFullStop; // $002E '.'
colonChr = chrColon; // $003A ':'
lowBatteryChr = vchrLowBattery; // $0101
enterDebuggerChr = vchrEnterDebugger; // $0102
nextFieldChr = vchrNextField; // $0103
startConsoleChr = vchrStartConsole; // $0104
menuChr = vchrMenu; // $0105
commandChr = vchrCommand; // $0106
confirmChr = vchrConfirm; // $0107
launchChr = vchrLaunch; // $0108
keyboardChr = vchrKeyboard; // $0109
findChr = vchrFind; // $010A
calcChr = vchrCalc; // $010B
prevFieldChr = vchrPrevField; // $010C
alarmChr = vchrAlarm; // $010D
ronamaticChr = vchrRonamatic; // $010E
graffitiReferenceChr = vchrGraffitiReference; // $010F
keyboardAlphaChr = vchrKeyboardAlpha; // $0110
keyboardNumericChr = vchrKeyboardNumeric; // $0111
lockChr = vchrLock; // $0112
backlightChr = vchrBacklight; // $0113
autoOffChr = vchrAutoOff; // $0114
exgTestChr = vchrExgTest; // $0115
sendDataChr = vchrSendData; // $0116
irReceiveChr = vchrIrReceive; // $0117
radioCoverageOKChr = vchrRadioCoverageOK; // $011C
radioCoverageFailChr = vchrRadioCoverageFail; // $011D
powerOffChr = vchrPowerOff; // $011E
resumeSleepChr = vchrResumeSleep; // $011F
lateWakeupChr = vchrLateWakeup; // $0120
brightnessChr = vchrBrightness; // $0121
contrastChr = vchrContrast; // $0122
hardKeyMin = vchrHardKeyMin; // $0200
hardKeyMax = vchrHardKeyMax; // $02FF
hard1Chr = vchrHard1; // $0204
hard2Chr = vchrHard2; // $0205
hard3Chr = vchrHard3; // $0206
hard4Chr = vchrHard4; // $0207
hardPowerChr = vchrHardPower; // $0208
hardCradleChr = vchrHardCradle; // $0209
hardCradle2Chr = vchrHardCradle2; // $020A
hardContrastChr = vchrHardContrast; // $020B
hardAntennaChr = vchrHardAntenna; // $020C
hardBrightnessChr = vchrHardBrightness; // $020D
hardEarbudChr = vchrHardEarbud; // 0x020F
// Macros to determine correct character code to use for drawing numeric space
// and horizontal ellipsis.
(*
#define ChrNumericSpace(chP)
do {
UInt32 attribute;
if ((FtrGet(sysFtrCreator, sysFtrNumROMVersion, &attribute) == 0)
&& (attribute >= sysMakeROMVersion(3, 1, 0, 0, 0))) {
*(chP) = chrNumericSpace;
} else {
*(chP) = 0x80;
}
} while (0)
#define ChrHorizEllipsis(chP)
do {
UInt32 attribute;
if ((FtrGet(sysFtrCreator, sysFtrNumROMVersion, &attribute) == 0)
&& (attribute >= sysMakeROMVersion(3, 1, 0, 0, 0))) {
*(chP) = chrEllipsis;
} else {
*(chP) = 0x85;
}
} while (0)
*)
// Characters in the 9 point symbol font. Resource ID 9003
type
symbolChars = Enum;
const
symbolLeftArrow = 3;
symbolRightArrow = Succ(symbolLeftArrow);
symbolUpArrow = Succ(symbolRightArrow);
symbolDownArrow = Succ(symbolUpArrow);
symbolSmallDownArrow = Succ(symbolDownArrow);
symbolSmallUpArrow = Succ(symbolSmallDownArrow);
symbolMemo = 9;
symbolHelp = Succ(symbolMemo);
symbolNote = Succ(symbolHelp);
symbolNoteSelected = Succ(symbolNote);
symbolCapsLock = Succ(symbolNoteSelected);
symbolNumLock = Succ(symbolCapsLock);
symbolShiftUpper = Succ(symbolNumLock);
symbolShiftPunc = Succ(symbolShiftUpper);
symbolShiftExt = Succ(symbolShiftPunc);
symbolShiftNone = Succ(symbolShiftExt);
symbolNoTime = Succ(symbolShiftNone);
symbolAlarm = Succ(symbolNoTime);
symbolRepeat = Succ(symbolAlarm);
symbolCheckMark = Succ(symbolRepeat);
// These next four characters were moved from the 0x8D..0x90
// range in the main fonts to the 9pt Symbol font in PalmOS 3.1
symbolDiamondChr = Succ(symbolCheckMark);
symbolClubChr = Succ(symbolDiamondChr);
symbolHeartChr = Succ(symbolClubChr);
symbolSpadeCh = Succ(symbolHeartChr);
// Character in the 7 point symbol font. Resource ID 9005
type
symbol7Chars = Enum;
const
symbol7ScrollUp = 1;
symbol7ScrollDown = Succ(symbol7ScrollUp);
symbol7ScrollUpDisabled = Succ(symbol7ScrollDown);
symbol7ScrollDownDisabled = Succ(symbol7ScrollUpDisabled);
// Characters in the 11 point symbol font. Resource ID 9004
type
symbol11Chars = Enum;
const
symbolCheckboxOff = 0;
symbolCheckboxOn = Succ(symbolCheckboxOff);
symbol11LeftArrow = Succ(symbolCheckboxOn);
symbol11RightArrow = Succ(symbol11LeftArrow);
symbol11Help = Succ(symbol11RightArrow);
symbol11LeftArrowDisabled = Succ(symbol11Help); // New for Palm OS v3.2
symbol11RightArrowDisabled = Succ(symbol11LeftArrowDisabled); // New for Palm OS v3.2
implementation
end.