pRevolt Skin Specification ()  Download as .ZIP

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.

Version

The Integer ('tint') resource ID 6000 contains skin version (current is 1).

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
(from example)
Bitmap Resource ID Size/Restrictions Comment
  icon.png 6000 Width = 26
Height = 26
Skin icon. Used in the skin list.
      0...89 1 Width = 1
Height = 1
This is a skin's color table. Can be defined by LONGWORDLIST ('DLST') resource ID 6000 (which contains 90 elements in 0xRRGGBB format) instead of list of images.
      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.
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 but some programs can use this color to overwrite the standard title.
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
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.
      54-59 1 Width = 1, Height = 1 Colors to replace the standard 'Blue Halo' highlighting.
  30c8ff.bmp   60 Width = 1, Height = 1 Highlighting color. Used in one-hand navigation.
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. Used in menu and in popup lists.
Standard width and height for this frame are:
  • top-left corner - 4 pixels
  • bottom-right corner - 6 pixels
    so if you want to make more thin frame, you should use transparent pixels around it.
  • 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. Used in non-popup lists. Now only 2-pixel thickness is allowable. Probably will be extended in future.
    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-7137 2 See description for ID-2048 List frame (highlighted)
    5   7138-7145 2 See description for ID-2048 Button frame (highlighted)
    5   7146-7153 2 See description for ID-2048 Pressed Button frame (highlighted)
    6   7154-7161 2 See description for ID-2048 PushButton frame (highlighted)
    6   7162-7169 2 See description for ID-2048 Pressed PushButton frame (highlighted)
    7   7170-7177 2 See description for ID-2048 Selector Trigger frame (highlighted)
    7   7178-7185 2 See description for ID-2048 Pressed Selector Trigger frame (highlighted)
        7186-7193 2 See description for ID-2048 Field Frame (highlighted) (reserved for future)
    15 7194 2 See description for ID-2048 PopUp Trigger (highlighted)
    15 7195 2 See description for ID-2048 Pressed PopUp Trigger (highlighted)
    16 7196 2 See description for ID-2048 Help button (highlighted)
    16 7197 2 See description for ID-2048 Pressed Help button (highlighted)
    8 7198 2 See description for ID-2048 Title (highlighted) (left part)
    8 7199 2 See description for ID-2048 Title (highlighted) (middle part)
    8 7200 2 See description for ID-2048 Title (highlighted) (right part)
    8 7201 2 See description for ID-2048 Title (highlighted) (right part, if title width = window width)
    8 7202 2 See description for ID-2048 Title line (highlighted)
    8 7203 2 See description for ID-2048 Title line (highlighted) (right part)
          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
    21 10037 1 Width = 32, Height = 26 Information 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

    The first, most simple and comfortable way is using the HP Skin Studio (shareware).

    The second way is 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 existing skin, which 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 open it in associated image 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 and test your skin.

    The third, most difficult 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:


    HP Skin Studio (HPSS), a great and usefull tool (shareware) for creating the skins for many programs.
    http://www.ateliershp.com

    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/