|
Support us!
RSS
|
|
|
This page will attempt to describe syntax and keywords used in skin descriptor file (.dsc) for FryingPan 0.4.
Since the skin is not an extensive nor complex file and does not allow much to be done at the moment - don't expect too much of it :).
| v0.4 Skin Descriptor File |
|
Groups, Elements, SubItems |
FryingPan skin is a hierarchical object built of simple components, such as items. Each subitem represents a basic information about location of skin element in picture (using absolute x, y coordinates) and information about the state in which it should be displayed.
Elements are built of subitems and carry out the information about allowed states and subitems it contains. In this case we can clearly see which elements are displayed on user click, which are shown when item is disabled etc.
Finally, groups contain set of associated elements; this way we can declare elements within various sets with same names that do not collide.
A hierarchy of skin image for fryingpan is as follows:
1. Main
2. Group (as a child of Main)
3. Item (as a child of Group)
4. SubItem (as a child of Item)
Each group and item should end with "End" keyword.
|
|
|
|
Main |
Main group contains keywords that provide global information about the skin itself, common settings for all groups and groups themselves.
|
|
|
|
Groups |
This element contains per group settings (for all items within a group) and items.
|
|
|
|
Item |
Basically built of subitems; declares common size for all subitems present inside it and lists subitems themselves.
|
|
|
|
SubItem |
Defines state (by name) of element and absolute coordinates within skin image.
|
|
|
|
Skin image |
Except for skin descriptor file, a skin image should be present as well inside the same directory, under the name "skin.img". Skin image is a single picture with all elements in it. Why so? because remapping a single file does better results on lower end machines than remapping multiple small files.
|
|
|
|
Comments |
Pretty important thing for everyone. Comments may be declared with "#" sign, which should be the first character in line. The whole line is treated as a comment then, and not parsed.
|
| Main keywords |
|
VERSION id |
Defines a version number - a version for which the skin has been designed. Use 0.4 for now.
|
|
|
|
AUTHOR "name" |
Name (and possibly also email address) of the author who designed the skin. Not required, but suggested.
|
|
|
|
DESCRIPTION "desc" |
A few words about the skin itself. When a skin selector shows up, this will be shown in description field.
|
|
|
|
BGCOLOR #rr #gg #bb |
Skin default color, consists of three decimal values (red, green and blue) in range 0 to 255. This can be replaced with BGTEXTURE.
|
|
|
|
BGTEXTURE "filename" |
Name of texture file to be loaded from the skin directory. This texture should be applied to all pages of FryingPan. Can be replaced with BGCOLOR.
|
|
|
|
GROUP "name" |
Starts a set of elements in the "name" subtree. Note that "name" is a concrete word and items within an unknown group will not be displayed (although parsed).
|
| Group keywords |
|
HSPACING #space |
Defines horizontal spacing between image objects. 0 means no spacing at all; this is measured in pixels.
|
|
|
|
VSPACING #space |
Vertical spacing between image objects. 0 = no spacing.
|
|
|
|
ITEM "name" |
Begins an image item with the given name. Note that the "name" is a concrete word, also, and despite parsed, will not be displayed, if unknown.
|
| Item keywords |
|
SIZE #w #h |
Defines width and height of an object; this is measured in pixels and is common to all subitems declared within an item group.
|
|
|
|
NORMAL #x #y |
A subitem that will be displayed when a gui element is not selected nor disabled. Parameters x and y define absolute position within skin image file, from which the element will be copied. Size of the element is defined with SIZE keyword.
|
|
|
|
SELECTED #x #y |
Subitem definig absolute position of image that will be displayed once element is clicked on, or when it is enabled. Size of this image is defined with SIZE keyword.
|
|
|
|
DISABLED #x #y |
Defines where the disabled image for gui element is lain within the image file. Absolute coordinates x and y define left top corner of an element, whose size is defined with SIZE keyword.
|
| Groups and items recognised |
|
"Main" |
"Tracks", "Media", "Contents", "Player", "Drive", "Settings", "Write".
These buttons are shown at the top of FryingPan main window, used to select display pages.
|
|
|
|
"Control" |
A set of elements displayed in top right corner of the window. Contains following items:
"TestMode" - a circle where user can select test mode writing,
"Abort" - an "X" button that aborts current operation,
"Eject" - a horizontal dash with a triangle above, meaning "tray out",
"Load" - a triangle with horizontal dash above, meaning "tray in".
|
|
|
|
"PlayBoard" |
Track numbers to be displayed in player window (gosh, this seems to be the mostly skinned and least working sub page for now, I have to get things up and running). Numbers "01" to "25" mean track number. Items are organised in an array of 5x5 buttons.
|
|
|
|
"Player" |
A small control bar on player page. This group includes the following buttons:
"SkipBack" - go to previous track,
"Rewind" - fast reverse current track (with audio playback),
"Pause" - pause current playback,
"Play" - begin playback from current laser position or beginning of disc,
"Rec" - start recording track (currently useless),
"Stop" - stop playback,
"FastFwd" - fast forward current track with audio playback,
"SkipFwd" - skip to next track.
|
|
|
|
"Lamp" |
A set of lamps indicating current drive status, shown in bottom right corner of the window. Currently five types of lamps are implemented:
"Idle" - this means that drive is currently free, doing nothing (now: green),
"Busy" - a lamp indicating that there is an operation in progress (now: yellow),
"Write" - telling that a drive is currently writing a disc (now: red),
"Read" - a drive is reading tracks from the disc (now: blue),
"None" - there is no drive configured at the moment (now: gray).
|
| Example |
|
Example configuration file |
Version 0.4
Author "Tomasz Wiszkowski"
Description "My dumb attempts to draw a gui"
BGColor 100 100 100
Group "Main"
HSpacing 0
Item "Tracks"
Size 78 48
Normal 0 0
Selected 0 48
End
Item "Media"
Size 75 48
Normal 78 0
Selected 78 48
End
Item "Contents"
Size 101 48
Normal 153 0
Selected 153 48
End
Item "Player"
Size 77 48
Normal 254 0
Selected 254 48
End
Item "Drive"
Size 67 48
Normal 331 0
Selected 331 48
End
Item "Settings"
Size 92 48
Normal 398 0
Selected 398 48
End
Item "Write"
Size 70 48
Normal 490 0
Selected 490 48
End
End
Group "Control"
HSpacing 0
VSpacing 0
Item "TestMode"
Size 24 24
Normal 0 96
Selected 48 96
Disabled 96 96
End
Item "Abort"
Size 24 24
Normal 24 96
Selected 72 96
Disabled 120 96
End
Item "Eject"
Size 24 24
Normal 0 120
Selected 48 120
Disabled 96 120
End
Item "Load"
Size 24 24
Normal 24 120
Selected 72 120
Disabled 120 120
End
End
Group "PlayBoard"
HSpacing 0
VSpacing 0
Item "01"
Size 31 31
Normal 0 144
Selected 136 144
Disabled 272 144
End
Item "06"
Size 31 25
Normal 0 175
Selected 136 175
Disabled 272 175
End
Item "11"
Size 31 25
Normal 0 200
Selected 136 200
Disabled 272 200
End
Item "16"
Size 31 25
Normal 0 225
Selected 136 225
Disabled 272 225
End
Item "21"
Size 31 29
Normal 0 250
Selected 136 250
Disabled 272 250
End
Item "02"
Size 25 31
Normal 31 144
Selected 167 144
Disabled 303 144
End
Item "07"
Size 25 25
Normal 31 175
Selected 167 175
Disabled 303 175
End
Item "12"
Size 25 25
Normal 31 200
Selected 167 200
Disabled 303 200
End
Item "17"
Size 25 25
Normal 31 225
Selected 167 225
Disabled 303 225
End
Item "22"
Size 25 29
Normal 31 250
Selected 167 250
Disabled 303 250
End
Item "03"
Size 25 31
Normal 56 144
Selected 192 144
Disabled 328 144
End
Item "08"
Size 25 25
Normal 56 175
Selected 192 175
Disabled 328 175
End
Item "13"
Size 25 25
Normal 56 200
Selected 192 200
Disabled 328 200
End
Item "18"
Size 25 25
Normal 56 225
Selected 192 225
Disabled 328 225
End
Item "23"
Size 25 29
Normal 56 250
Selected 192 250
Disabled 328 250
End
Item "04"
Size 25 31
Normal 81 144
Selected 217 144
Disabled 353 144
End
Item "09"
Size 25 25
Normal 81 175
Selected 217 175
Disabled 353 175
End
Item "14"
Size 25 25
Normal 81 200
Selected 217 200
Disabled 353 200
End
Item "19"
Size 25 25
Normal 81 225
Selected 217 225
Disabled 353 225
End
Item "24"
Size 25 29
Normal 81 250
Selected 217 250
Disabled 353 250
End
Item "05"
Size 25 31
Normal 106 144
Selected 242 144
Disabled 378 144
End
Item "10"
Size 25 25
Normal 106 175
Selected 242 175
Disabled 378 175
End
Item "15"
Size 25 25
Normal 106 200
Selected 242 200
Disabled 378 200
End
Item "20"
Size 25 25
Normal 106 225
Selected 242 225
Disabled 378 225
End
Item "25"
Size 25 29
Normal 106 250
Selected 242 250
Disabled 378 250
End
End
Group "Player"
HSpacing 0
Item "SkipBack"
Size 34 32
Normal 144 96
Selected 0 280
Disabled 256 280
End
Item "Rewind"
Size 32 32
Normal 178 96
Selected 34 280
Disabled 290 280
End
Item "Pause"
Size 32 32
Normal 210 96
Selected 66 280
Disabled 322 280
End
Item "Play"
Size 30 32
Normal 242 96
Selected 98 280
Disabled 354 280
End
Item "Rec"
Size 32 32
Normal 272 96
Selected 128 280
Disabled 384 280
End
Item "Stop"
Size 32 32
Normal 304 96
Selected 160 280
Disabled 416 280
End
Item "FastFwd"
Size 32 32
Normal 336 96
Selected 192 280
Disabled 448 280
End
Item "SkipFwd"
Size 32 32
Normal 368 96
Selected 224 280
Disabled 480 280
End
End
Group "Lamp"
Item "Idle"
Size 16 16
Normal 144 128
End
Item "Busy"
Size 16 16
Normal 160 128
End
Item "Write"
Size 16 16
Normal 176 128
End
Item "Read"
Size 16 16
Normal 192 128
End
Item "None"
Size 16 16
Normal 208 128
End
End
|
|
|
|
Skin image file |
Can be downloaded here.
|
|