======================================================================== Skin information for the Palm OS Emulator Copyright (c) 1998-2000 Palm, Inc. or its subsidiaries. All rights reserved. Please send bug reports, comments, suggestions, etc. to devsupp@palm.com ======================================================================== Version History --------------- v1.4 - 8/9/00 Added Palm VIIx skins. Moved the LCD area in the m100 skin down a little bit so that the entire 220 vertical range of the touchscreen reaches to the keyboard silkscreen buttons. v1.3 - 8/7/00 Added m100 skins. Rolled in latest skins from Handspring. Added more explanatory text and clarifications to this file. v1.2 - 4/28/00 Added Visor Japanese skins. Changed Visor skin names to more closely match those used by the Palm skins. v1.1 - 4/17/00 Changed names from "Standard - English", etc., to "Standard-English", etc. The spaces were removed to make specifying them on command lines easier. v1.0 - 3/6/00 Initial release. Includes skins for Pilot, PalmPilot, Palm III, Palm IIIc, Palm IIIe, Palm IIIx (English and Japanese), Palm V (English and Japanese), Palm Vx, Palm VII, Palm VIIEZ, Symbol 1700, and Visor (Blue and Graphite). About Skins ----------- A "skin" is something that defines the appearance of an application. For the Palm OS Emulator, skins are images of the devices that the Emulator supports and emulates. To use the skins included in this archive with the Palm OS Emulator, all of the files (all the *.skin and *.jpg file) need to be in a directory starting with with the text "Skins" (e.g., "Skins", "Skins 1.3", "Skins Palm", etc.). This directory must be in the same directory as the Emulator (on Mac and Windows), or in the $POSER_DIR or $HOME directories (on Unix). When starting up, the Emulator scans these directories for *all* directories starting with "Skins". It then looks inside these directories for files ending in ".skin". Note that it performs only a 1-level search inside the "Skins*" directories, so make sure that you don't put the .skins or .jpg files in sub-directories in the "Skins*" directories. Creating Skins -------------- Skins are defined by a pair of files: an image file and a .skin file that describes the image file. The image file is just a plain old graphic. Currently, only JPEG format is supported. Support for more formats may be added in the future (hint: this is a good area for a 3rd party contribution...). The associated .skin file is a text file that describes the image. The text file is made up of a series of lines, each line defining an attribute of the image. Each definition is of the form: = This is similar to the way .ini files are stored on Windows, and how the emulator saves its own preferences. In .skin files: * The attribute is case-senstive. Thus, "Name" and "name" are not equivalent. * There can be only one definition of each attribute. For instance, if the skin can be used with multiple devices, do NOT say: Devices = Pilot1000 Devices = Pilot5000 Instead, say: Devices = Pilot1000, Pilot5000 * White space is optional, both around the equal sign and in the specification of the value. Thus, "color=1,2,3" is the same as "color = 1, 2, 3". The file can include comments, which are ignored when the file is parsed. Comments appear on their own lines, and start with "#" or ';'. Invalid files are detected and silently ignored. There is currently no error reporting when invalid values are encountered. Your only indication that something is wrong is that your skin won't show up in the Skins menu or dialog (hint: this is a good area for a 3rd party contribution...). Following is a definition of the attributes and how their values are specified: Name ---- This is the name of the skin. It's what appears in the Skin menu in the New Configuration dialog and in the Skin preferences dialog. Example: Name = Keith's Cool Skin File1x File2x ------ These are the names of the image files. Two image files must be specified: one used for single-scale and one used for double-scale. Image files are expected to be in the same directory as the .skin file, though a relative path may be specified. Currently, both image files must exist and be specified. In the future, it may be possible to specify just one and have it scaled (hint: this is a good area for a 3rd party contribution...). Examples: File1x = MySkin1.jpg File2x = MySkin2.jpg # Macintosh relative-path format File1x = :Small Images:MySkin.jpg File2x = :Large Images:MySkin.jpg # Windows relative-path format File1x = Small Images\MySkin.jpg File2x = Large Images\MySkin.jpg BackgroundColor HighlightColor --------------- These fields define the color used when displaying the LCD area of the emulator's display. BackgroundColor specifies the normal background color; Highlightcolor specifies the color used when backlighting is turned on (that is, the user holds down the power button). The value is specified as an r,g,b tuple. The three components are provided as hexadecimal or decimal values in the range 0..255, seperated by commas. Examples: BackgroundColor = 0x7B, 0x8C, 0x5A HighlightColor = 132, 240, 220 Devices ------- Provides the list of devices with which this skin can be used. One or more devices can be provided, seperated by commas. The current list of devices is: Pilot1000, Pilot5000 PalmPilotPersonal, PalmPilotProfessional PalmIII, PalmIIIc, PalmIIIe, PalmIIIx PalmV, PalmVx PalmVII, PalmVIIEZ, Palm VIIx m100 Symbol1700, Visor Examples: Devices = Pilot1000, Pilot5000 Devices = PalmIIIc Element# -------- A class of attributes that describes the layout of the image. There is one attribute for each item in the image that can be clicked on. There are also attributes for the LCD and touchscreen areas. The value for each attribute is a list of 5 items: the name of the element and its coordinates on the screen. The current set of valid element names is: PowerButton UpButton DownButton App1Button App2Button App3Button App4Button CradleButton Antenna ContrastButton # Symbol-specific TriggerLeft TriggerCenter TriggerRight UpButtonLeft UpButtonRight DownButtonLeft DownButtonRight Touchscreen LCD All elements except for the last two are optional. The coordinates of each element are provided by specifying the left coordinate, the top coordinate, the element width, and the element height. Only single-scale coordinates can be provided; double-scale coordinates are derived from these. Coordinate values can be specified in hexadecimal or decimal. Each attribute name must start with the text "Element", and must be suffixed with characters that make it unique from all the other Element-related attributes. Example: # x y w h # ---- ---- ---- ---- Element1 = PowerButton, 10, 295, 16, 24 Element2 = UpButton, 110, 292, 20, 21 Element3 = DownButton, 110, 313, 20, 21 Element4 = App1Button, 37, 295, 23, 25 Element5 = App2Button, 76, 297, 23, 25 Element6 = App3Button, 141, 297, 23, 25 Element7 = App4Button, 180, 294, 23, 25 Element8 = Touchscreen, 39, 44, 160, 220 Element9 = LCD, 39, 44, 160, 160