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 line, each line defining an attribute of the
image.

Each definition is of the form:

	<attribute>=<value>

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.

*	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
				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 attributes except for the last two are optional.

	The coordinates of each element is 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
