3GX Software Logo

3GX Software. Games and Utilities for Palm OS


http://3gxsoft.com
PalmRevolt Skin Specification (ver. 1.5)

Screenshots

Here you can see some screenshots to help you to be oriented in table below. The red numbers corresponds to the "Group" column in the table.

Skin's name

The database name is name of the skin (first 32 characters for null-terminated string).

Skin's database

The skin is standard Palm resource database with Creator ID equal to '3GXs' and Type equal to '_Skn'.

Strings

The string resource ID 6000 is used for comments from the skin creator and copyright information.

Bitmaps

All bitmaps should be high density bitmaps (version 3) and must not have odd(1,3,5...) width and height (except the bitmaps for defining the colors, which should be 1x1 size). The "Filename" column shows which .BMP file is used for the skin element in this example. All bitmaps are located in "bmp" folder.

Group Filename Bitmap Resource ID Size/Restrictions Comment
  icon.bmp 6000 Width = 26
Height = 26
Skin icon. Used in the skin list.
      0...30 1 Width = 1
Height = 1
These images defines standard Palm color table for various elements of the user interface. If some of these images omitted, default colors will be used instead.
      0 Width = 1, Height = 1 UIObjectFrame. Not used.
1 ffffff.bmp   1 Width = 1, Height = 1 UIObjectFill. Used in lists.
1 000000.bmp   2 Width = 1, Height = 1 UIObjectForeground. Used in lists.
1 3088e0.bmp   3 Width = 1, Height = 1 UIObjectSelectedFill. Used in lists.
1 ffffff.bmp   4 Width = 1, Height = 1 UIObjectSelectedForeground. Used in lists.
      5 Width = 1, Height = 1 UIMenuFrame. Used in menu separators.
2 ffffff.bmp   6 Width = 1, Height = 1 UIMenuFill
2 000000.bmp   7 Width = 1, Height = 1 UIMenuForeground
2 3088e0.bmp   8 Width = 1, Height = 1 UIMenuSelectedFill
2 ffffff.bmp   9 Width = 1, Height = 1 UIMenuSelectedForeground
3 ffffff.bmp   10 Width = 1, Height = 1 UIFieldBackground
3 000000.bmp   11 Width = 1, Height = 1 UIFieldText
3 field_dots.bmp   12 Width = 1, Height = 1 UIFieldTextLines. Underline color.
3 c_fore.bmp   13 Width = 1, Height = 1 UIFieldCaret
3 oo6cd8.bmp   14 Width = 1, Height = 1 UIFieldTextHighlightBackground
3 ffffff.bmp   15 Width = 1, Height = 1 UIFieldTextHighlightForeground
3     16 Width = 1, Height = 1 UIFieldFepRawText
3     17 Width = 1, Height = 1 UIFieldFepRawBackground
3     18 Width = 1, Height = 1 UIFieldFepConvertedText
3     19 Width = 1, Height = 1 UIFieldFepConvertedBackground
3     20 Width = 1, Height = 1 UIFieldFepUnderline
      21 Width = 1, Height = 1 UIFormFrame. Not used.
4 ffffff.bmp   22 Width = 1, Height = 1 UIFormFill
      23 Width = 1, Height = 1 UIDialogFrame. Used in forms with no title, like "Wait" form.
4 ffffff.bmp   24 Width = 1, Height = 1 UIDialogFill
      25 Width = 1, Height = 1 UIAlertFrame. Not used.
4 ffffff.bmp   26 Width = 1, Height = 1 UIAlertFill
3     30 Width = 1, Height = 1 UIFieldFepConvertedUnderline
      32-52 2 Width = 1, Height = 1 Corresponds to bitmaps with ID 0...20, used for highlighting in one-hand navigation.
  30c8ff.bmp   60 Width = 1, Height = 1 Highlighting color. Used in one-hand navigation.
  ffff00.bmp   61 Width = 1, Height = 1 Transparent color. The color which used in other skin elements to indication the transparency.
5 b_0.bmp   62 Width = 1, Height = 1 Button background.
5     63 2 Width = 1, Height = 1 Button background (highlighted).
5 000000.bmp   64 Width = 1, Height = 1 Button foreground.
5     65 2 Width = 1, Height = 1 Button foreground (highlighted).
5 b_1.bmp   66 Width = 1, Height = 1 Pressed button background.
5     67 2 Width = 1, Height = 1 Pressed button background (highlighted).
5 000000.bmp   68 Width = 1, Height = 1 Pressed button foreground.
5     69 2 Width = 1, Height = 1 Pressed button foreground (highlighted).
6 pb_0.bmp   70 Width = 1, Height = 1 PushButton background.
6     71 2 Width = 1, Height = 1 PushButton background (highlighted).
6 000000.bmp   72 Width = 1, Height = 1 PushButton foreground.
6     73 2 Width = 1, Height = 1 PushButton foreground (highlighted).
6 pb_1.bmp   74 Width = 1, Height = 1 Pressed PushButton background.
6     75 2 Width = 1, Height = 1 Pressed PushButton background (highlighted).
6 000000.bmp   76 Width = 1, Height = 1 Pressed PushButton foreground.
6     77 2 Width = 1, Height = 1 Pressed PushButton foreground (highlighted).
7 seltr_0.bmp   78 Width = 1, Height = 1 Selector Trigger background.
7     79 2 Width = 1, Height = 1 Selector Trigger background (highlighted).
7 000000.bmp   80 Width = 1, Height = 1 Selector Trigger foreground.
7     81 2 Width = 1, Height = 1 Selector Trigger foreground (highlighted).
7 seltr_1.bmp   82 Width = 1, Height = 1 Pressed Selector Trigger background.
7     83 2 Width = 1, Height = 1 Pressed Selector Trigger background (highlighted).
7 000000.bmp   84 Width = 1, Height = 1 Pressed Selector Trigger foreground.
7     85 2 Width = 1, Height = 1 Pressed Selector Trigger foreground (highlighted).
8 ffffff.bmp   86 Width = 1, Height = 1 TitleFore. Used in titles of the non-modal windows.
8     87 2 Width = 1, Height = 1 TitleFore (highlighted). Used in titles of the non-modal windows.
9 ffffff.bmp   88 Width = 1, Height = 1 ModalTitleFore. Used in titles of the modal windows.
9     89 2 Width = 1, Height = 1 ModalTitleFore (highlighted). Used in titles of the modal windows.
10 sym71up.bmp 5000 1 Width = 22, Height = 14 symbol7_pgup. Symbol which is used as "Page Up" button
10 sym72up.bmp 5001 1 Width = 22, Height = 14 symbol7_pgdn. Symbol which is used as "Page Down" button
10 sym73.bmp 5002 1 Width = 22, Height = 14 symbol7_pguploc. Symbol which is used as the locked "Page Up" button
10 sym74.bmp 5003 1 Width = 22, Height = 14 ssymbol7_pgdnloc. Symbol which is used as the locked "Page Down" button
10 sym71dn.bmp 5004 1 Width = 22, Height = 14 ssymbol7_pgup (pressed). Symbol which is used as the pressed "Page Up" button
10 sym72dn.bmp 5005 1 Width = 22, Height = 14 symbol7_pgdn (pressed). Symbol which is used as the pressed "Page Down" button
11 cb_off.bmp 5006 1 Width = 24, Height = 22 symbol11_cboff. Used in CheckBox control
11 cb_on.bmp 5007 1 Width = 24, Height = 22 symbol11_cbon. Used in CheckBox control(checked)
10 sym112.bmp 5008 1 Width = 16, Height = 22 symbol11_left. Symbol which is used as the "Left/Previous" button
10 sym113.bmp 5009 1 Width = 16, Height = 22 symbol11_right. Symbol which is used as the "Right/Next" button
      5010 1   symbol11_i
10 sym115.bmp 5011 1 Width = 16, Height = 22 symbol11_leftloc. Symbol which is used as the locked"Left/Previous" button
10 sym116.bmp 5012 1 Width = 16, Height = 22 symbol11_rightloc. Symbol which is used as the locked"Right/Next" button
11 cbgroup_off.bmp 5013 1 Width = 24, Height = 22 Radio button OFF. Used in the grouped CheckBox control
11 cbgroup_on.bmp 5014 1 Width = 24, Height = 22 Radio button ON. Used in the grouped CheckBox control
10 sym112dn.bmp 5015 1 Width = 16, Height = 22 symbol11_left (pressed). Symbol which is used as the pressed "Left/Previous" button
10 sym113dn.bmp 5016 1 Width = 16, Height = 22 symbol11_right (pressed). Symbol which is used as the pressed "Right/Next" button
      5017 1   symbol11_iDn
12 sym7.bmp 5022 1 Width = 22, Height = 20 symbol_lstdn. Down arrow. Used for the list scrolling
12 sym8.bmp 5023 1 Width = 22, Height = 20 symbol_lstup. Up arrow. Used for the list scrolling
12 sym7dn.bmp 5046 1 Width = 22, Height = 20 symbol_lstdn. Down arrow. Used for the list scrolling (pressed)
12 sym8dn.bmp 5047 1 Width = 22, Height = 20 symbol_lstup. Up arrow. Used for the list scrolling (pressed)
9 mframe_tl.bmp ... mframe_r.bmp   5066-5073 Width of the left side of the modal frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner Modal Frame
9 mframe_tl.bmp 5066 Width = 2...20, Height = 28 Modal frame, top-left corner
9 mframe_bl.bmp 5067 Width = Width of top-left corner, Height = Height of bottom-right corner Modal frame, bottom-left corner
9 mframe_t.bmp 5068 Width = 40...60, Height = 28 Modal frame, top side
9 mframe_b.bmp 5069 Width = Width of top side, Height = Height of bottom-right corner Modal frame, bottom side
9 mframe_tr.bmp 5070 Width = Width of bottom-right corner, Height = 28 Modal frame, top-right corner
9 mframe_br.bmp 5071 Width = 2...20, Height = 2...20 Modal frame, bottom-right corner
9 mframe_l.bmp 5072 Width = Width of top-left corner, Height = 40..60 Modal frame, left side
9 mframe_r.bmp 5073 Width = Width of bottom-right corner, Height = Height of left side Modal frame, right side
13 menu_tl.bmp ... menu_r.bmp   5074-5081 Width of the left side of the menu frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner Menu Frame
13 menu_tl.bmp 5074 Width = 4..8, Height = 4..8 Menu frame, top-left corner
13 menu_bl.bmp 5075 Width = Width of top-left corner, Height = Height of bottom-right corner Menu frame, bottom-left corner
13 menu_t.bmp 5076 Width = 40...60, Height = Height of top-left corner Menu frame, top side
13 menu_b.bmp 5077 Width = Width of top side, Height = Height of bottom-right corner Menu frame, bottom side
13 menu_tr.bmp 5078 Width = Width of bottom-right corner, Height = Height of top-left corner Menu frame, top-right corner
13 menu_br.bmp 5079 Width = 4...10, Height = 4...10 Menu frame, bottom-right corner
13 menu_l.bmp 5080 Width = Width of top-left corner, Height = 40..60 Menu frame, left side
13 menu_r.bmp 5081 Width = Width of bottom-right corner, Height = Height of left side Menu frame, right side
14 lstframe_tl.bmp ... lstframe_r.bmp   5082-5089 Width of the left side of the frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner (2..4 pixels recommended) List frame
5 b_0tl.bmp ... b_0r.bmp   5090-5097 Width of the left side of the frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner (2..12 pixels recommended) Button frame
5 b_1tl.bmp ... b_1r.bmp   5098-5105 Width of the left side of the frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner (2..12 pixels recommended) Pressed Button frame
6 pb_0tl.bmp ... pb_0r.bmp   5106-5113 Width of the left side of the frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner (2..12 pixels recommended) PushButton frame
6 pb_1tl.bmp ... pb_1r.bmp   5114-5121 Width of the left side of the frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner (2..12 pixels recommended) Pressed PushButton frame
7 seltr_0tl.bmp ... seltr_0r.bmp   5122-5129 Width of the left side of the frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner (2..12 pixels recommended) Selector Trigger frame
7 seltr_1tl.bmp ... seltr_1r.bmp   5130-5137 Width of the left side of the frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner (2..12 pixels recommended) Pressed Selector Trigger frame
  lstframe_tl.bmp ... lstframe_r.bmp   5138-5145 Width of the left side of the frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner (2..4 pixels recommended) Field Frame(reserved for future)
15 popTr_0.bmp 5146 Width = 14..16, Height = 16..20 PopUp Trigger
15 popTr_1.bmp 5147 Width = 14..16, Height = 16..20 Pressed PopUp Trigger
16 sym_10.bmp 5148 Width = 20, Height = 20 Help button
16 sym_10dn.bmp 5149 Width = 20, Height = 20 Pressed Help button
8 titl_l.bmp 5150 Width = 2..10, Height = 30 Title (left part)
8 titl_m.bmp 5151 Width = 40..60, Height = 30 Title (middle part)
8 titl_r.bmp 5152 Width = 2..10, Height = 30 Title (right part)
8 titl_rfull.bmp 5153 Width = 2..10, Height = 30 Title (right part, if title width = window width)
8 titl_line.bmp 5154 Width = 40..60, Height = 4 Title line
8 titl_liner.bmp 5155 Width = 2..8, Height = 4 Title line (right part)
17 scl_back.bmp   5156 Width = 14, Height = 480 Scroll Bar. Background.
17 scl_top.bmp 5157 Width = 14, Height = 12 Scroll Bar. Top arrow.
17 scl_bot.bmp 5158 Width = 14, Height = 12 Scroll Bar. Bottom arrow.
17 scl_cartop.bmp 5159 Width = 14, Height = 2..10 Scroll Bar. Car top.
17 scl_carbot.bmp 5160 Width = 14, Height = 2..10 Scroll Bar. Car bottom.
17 scl_car.bmp 5161 Width = 14, Height = 30..60 Scroll Bar. Car body.
17 scl_middle.bmp 5162 Width = 14, Height = 4..20 Scroll Bar. Car middle.
17 scl_top1.bmp 5163 Width = 14, Height = 12 Scroll Bar. Top arrow(pressed).
17 scl_bot1.bmp 5164 Width = 14, Height = 12 Scroll Bar. Bottom arrow(pressed).
17 scl_cartop1.bmp 5165 Width = 14, Height = 2..10 Scroll Bar. Car top(pressed).
17 scl_carbot1.bmp 5166 Width = 14, Height = 2..10 Scroll Bar. Car bottom(pressed).
17 scl_car1.bmp 5167 Width = 14, Height = 30..60 Scroll Bar. Car body(pressed).
17 scl_middle1.bmp 5168 Width = 14, Height = 4..20 Scroll Bar. Car middle(pressed).
18 popup_tl.bmp ... popup_r.bmp   5182-5189 Width of the left side of the frame and height of the top side should be equal to width and height of the top-left corner, same for bottom-right corner (2..4 pixels recommended) PopUp Frame. Used in menu bar
      7114 2 See description for ID-2048 Modal frame, top-left corner (highlighted)
      7116 2 See description for ID-2048 Modal frame, top side (highlighted)
      7118 2 See description for ID-2048 Modal frame, top-right corner (highlighted)
      7130-7201 2 See description for ID-2048 List frame, Button frame, Title and other highlighted elements of the interface used in one-hand navigation. If omitted bitmap ID 60 used for this purpose.
      7350 2 Width = 18, Height = 22 Slider Thumb (highlighted)
      7351 2 Width = 228, Height = 30 Slider Background (highlighted)
19 slider_thumb.bmp 13350 1 Width = 18, Height = 22 Slider Thumb
19 slider_back.bmp 13351 1 Width = 228, Height = 30 Slider Background
20 bmp_info.bmp 10004 1 Width = 32, Height = 32 Bitmap for Information Alert
20 bmp_confirm.bmp 10005 1 Width = 32, Height = 32 Bitmap for Confirmation Alert
20 bmp_warning.bmp 10006 1 Width = 30, Height = 30 Bitmap for Warning Alert
20 bmp_error.bmp 10007 1 Width = 30, Height = 30 Bitmap for Error Alert
21 bmp_cut.bmp 10030 1 Width = 32, Height = 26 Cut icon. Used in menu bar.
21 bmp_copy.bmp 10031 1 Width = 32, Height = 26 Copy icon
21 bmp_paste.bmp 10032 1 Width = 32, Height = 26 Paste icon
21 bmp_undo.bmp 10033 1 Width = 32, Height = 26 Back icon
21 bmp_beam.bmp 10034 1 Width = 32, Height = 26 Beam icon
21 bmp_lock.bmp 10035 1 Width = 32, Height = 26 Lock icon
21 bmp_trash.bmp 10036 1 Width = 32, Height = 26 Delete icon

   1 These elements are not obligatory and can be omitted.
   2 These elements are not obligatory. Used for highlighting; if omitted it will be recalculated using color from bitmap ID 60.

Note: If you have created a beautiful skin and will allow us to place it on our site (with your copyright), you can count on free-of-charge registration.

Instructions

First and simple way, using PFCD(The Palm File Compiler / Decompiler by Robert Eaton):

1) Download PFCD and Unzip it in any folder (for example "C:\PFCD\")
2) Copy "PFCD/_Skn-3GXs.dat" file into PFCD's folder to get more descriptive filenames after decompilation
3) Start PFCD.exe file
4) Point "Input file" to the skin you want to edit
5) Specify "Bitmap output directory" (for example "C:\PFCD\BMP")
6) Uncheck "Compress All Bitmaps in RCP" checkbox!
7) Check ON "Use bitmap Nametables" checkbox
8) Click on "Extract" button
9) Click on "Refresh Thumbnails" button. Right part of window will be filled with small thumbnails pictures. When you click on any thumbnail, you will see filename of this picture and its size on top.
10) Double-Click on Thumb picture to launch it in associated bitmap editor (probably Windows® Paint)
11) Edit it and save with same name
12) Repeat steps 10-11 for other bitmaps
13) Click on "Compile" button

Second way (using PilRC):

Please download PilRC ver.3.2 or later and unzip it into "C:\PalmDev\pilrc-3.2\" folder. Now you can simply start "makeskin.bat" file from "PilRCSample" folder to compile the skin. You may specify the name of skin when you run "makeskin.bat" (makeskin.bat "Windows XP "). The "skin.rcp" file describes the one-to-one correspondence between tBmp resources and .BMP files. The "skin.h" file is needed to replace the indentifiers in "skin.rcp" with numbers.

To create your own skin you have to replace files in "bmp" folder with your own ones and little edit the "skin.rcp" file to add your copyright information.

Please contact to support@3gxsoft.com if you have any questions.

Useful tools:


PFCD (The Palm File Compiler / Decompiler), a usefull, freeware for individual using Palm resource compiler/decompiler and skin editing program. You can download the latest version from http://www.festus440.happypalm.com/pfcd.php

PilRC, a freeware Palm resource compiler, by Wes Cherry & Aaron Ardiri. You can download the latest version from http://pilrc.sourceforge.net/

© Copyright 2003-2005 3GX Software.    All Rights Reserved.