Skin Package

A skin package has to contain a skin.xml file on root-level. This file is used to include other XML files inside the same package with the Include tag, or import other packages with the Import tag.

Example

Here is an example skin.xml file. Its basic structure consists of a <Skin> root element that parents the five main sections <Imports>, <Includes>, <Resources>, <Styles> and <Forms>:

<Skin>
  <Imports>
    <Import name="@package-to-import"/>
  </Imports>

  <Includes>
    <Include name="" url="path/to/file.xml"/>
  </Includes>

  <Resources>
    <Image name="InternalName" url="path/to/file.png"/>
  </Resources>

  <Styles>
    <Style name="MyStyle">
        <Color name="backcolor" color="black"/>
    </Style>
  </Styles>

  <Forms>
    <Form name="ApplicationWindow">
        <Button name="quit" title="Quit"/>
    </Form>
  </Forms>
</Skin>

Neutral Design

neutraldesign and neutralbase are packages that can be imported to provide “Standard” control styles for a neutral cross-platform design.

While neutraldesign defines the basic “Neutral” styles, neutralbase is used to customize the look by defining colors and fonts for these styles. Inside neutralbase you will also find the mapping of “Neutral” styles to the “Standard” ones that will eventually be used by the Framework. Through this separation, a vendor-specific base package can be used to customize the default style appearance, by overriding the neutraldesign styles.

<Skin>
  <Imports>
    <!-- neutralbase: colors and fonts for style definitions in neutraldesign
        defining "Standard" styles inheriting from these "Natural" styles -->
    <Import name="@neutralbase"/>
    <!-- neutraldesign: "Natural" parent style definitions using basecolors and fonts -->
    <Import name="@neutraldesign"/>
  </Imports>

    ...

</Skin>