diff options
Diffstat (limited to 'packages/palmunits/src/chars.pp')
-rw-r--r-- | packages/palmunits/src/chars.pp | 448 |
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. |