mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-01-12 07:21:35 +01:00
449 lines
18 KiB
ObjectPascal
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.
|