summaryrefslogtreecommitdiff
path: root/packages/palmunits/src/chars.pp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/palmunits/src/chars.pp')
-rw-r--r--packages/palmunits/src/chars.pp448
1 files changed, 448 insertions, 0 deletions
diff --git a/packages/palmunits/src/chars.pp b/packages/palmunits/src/chars.pp
new file mode 100644
index 0000000000..aba603c025
--- /dev/null
+++ b/packages/palmunits/src/chars.pp
@@ -0,0 +1,448 @@
+(******************************************************************************
+ *
+ * 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.