Update the documentation.

This commit is contained in:
Sophia Hadash 2021-08-22 18:14:45 +02:00 committed by SophiaHadash
parent 20704446ec
commit 59161618f2

View file

@ -52,7 +52,7 @@ Here is a very simple theme that changes the description text's color:
```xml ```xml
<theme> <theme>
<formatVersion>6</formatVersion> <formatVersion>7</formatVersion>
<view name="detailed"> <view name="detailed">
<text name="description"> <text name="description">
<color>00FF00</color> <color>00FF00</color>
@ -71,11 +71,10 @@ Here is a very simple theme that changes the description text's color:
Everything must be inside a `<theme>` tag. Everything must be inside a `<theme>` tag.
**The `<formatVersion>` tag *must* be specified**. This is the version of the theming system the theme was designed for. The current version is 6. **The `<formatVersion>` tag *must* be specified**. This is the version of the theming system the theme was designed for.
The current version is 7.
A *view* can be thought of as a particular "screen" within EmulationStation. Views are defined like this:
A *view* can be thought of as a particular "screen" within EmulationStation. Views are defined like this:
```xml ```xml
<view name="ViewNameHere"> <view name="ViewNameHere">
@ -122,8 +121,9 @@ You can include theme files within theme files, similar to `#include` in C (thou
`~/.emulationstation/all_themes.xml`: `~/.emulationstation/all_themes.xml`:
```xml ```xml
<theme> <theme>
<formatVersion>6</formatVersion> <formatVersion>7</formatVersion>
<view name="detailed"> <view name="detailed">
<text name="description"> <text name="description">
<fontPath>./all_themes/myfont.ttf</fontPath> <fontPath>./all_themes/myfont.ttf</fontPath>
@ -135,8 +135,9 @@ You can include theme files within theme files, similar to `#include` in C (thou
`~/.emulationstation/snes/theme.xml`: `~/.emulationstation/snes/theme.xml`:
```xml ```xml
<theme> <theme>
<formatVersion>6</formatVersion> <formatVersion>7</formatVersion>
<include>./../all_themes.xml</include> <include>./../all_themes.xml</include>
<view name="detailed"> <view name="detailed">
<text name="description"> <text name="description">
@ -148,8 +149,9 @@ You can include theme files within theme files, similar to `#include` in C (thou
Is equivalent to this `snes/theme.xml`: Is equivalent to this `snes/theme.xml`:
```xml ```xml
<theme> <theme>
<formatVersion>6</formatVersion> <formatVersion>7</formatVersion>
<view name="detailed"> <view name="detailed">
<text name="description"> <text name="description">
<fontPath>./all_themes/myfont.ttf</fontPath> <fontPath>./all_themes/myfont.ttf</fontPath>
@ -167,8 +169,9 @@ Notice that properties that were not specified got merged (`<fontPath>`) and the
Sometimes you want to apply the same properties to the same elements across multiple views. The `name` attribute actually works as a list (delimited by any characters of `\t\r\n ,` - that is, whitespace and commas). So, for example, to easily apply the same header to the basic, grid, and system views: Sometimes you want to apply the same properties to the same elements across multiple views. The `name` attribute actually works as a list (delimited by any characters of `\t\r\n ,` - that is, whitespace and commas). So, for example, to easily apply the same header to the basic, grid, and system views:
```xml ```xml
<theme> <theme>
<formatVersion>6</formatVersion> <formatVersion>7</formatVersion>
<view name="basic, grid, system"> <view name="basic, grid, system">
<image name="logo"> <image name="logo">
<path>./snes_art/snes_header.png</path> <path>./snes_art/snes_header.png</path>
@ -184,8 +187,9 @@ Sometimes you want to apply the same properties to the same elements across mult
This is equivalent to: This is equivalent to:
```xml ```xml
<theme> <theme>
<formatVersion>6</formatVersion> <formatVersion>7</formatVersion>
<view name="basic"> <view name="basic">
<image name="logo"> <image name="logo">
<path>./snes_art/snes_header.png</path> <path>./snes_art/snes_header.png</path>
@ -216,8 +220,9 @@ This is equivalent to:
You can theme multiple elements *of the same type* simultaneously. The `name` attribute actually works as a list (delimited by any characters of `\t\r\n ,` - that is, whitespace and commas), just like it does for views, as long as the elements have the same type. This is useful if you want to, say, apply the same color to all the metadata labels: You can theme multiple elements *of the same type* simultaneously. The `name` attribute actually works as a list (delimited by any characters of `\t\r\n ,` - that is, whitespace and commas), just like it does for views, as long as the elements have the same type. This is useful if you want to, say, apply the same color to all the metadata labels:
```xml ```xml
<theme> <theme>
<formatVersion>6</formatVersion> <formatVersion>7</formatVersion>
<view name="detailed"> <view name="detailed">
<!-- Weird spaces/newline on purpose! --> <!-- Weird spaces/newline on purpose! -->
<text name="md_lbl_rating, md_lbl_releasedate, md_lbl_developer, md_lbl_publisher, <text name="md_lbl_rating, md_lbl_releasedate, md_lbl_developer, md_lbl_publisher,
@ -230,8 +235,9 @@ You can theme multiple elements *of the same type* simultaneously. The `name` a
Which is equivalent to: Which is equivalent to:
```xml ```xml
<theme> <theme>
<formatVersion>6</formatVersion> <formatVersion>7</formatVersion>
<view name="detailed"> <view name="detailed">
<text name="md_lbl_rating"> <text name="md_lbl_rating">
<color>48474D</color> <color>48474D</color>
@ -288,8 +294,9 @@ Jul 12 11:28:58 Debug: Sound::getFromTheme(): Tag not found, using fallback sou
Example `navigationsounds.xml`, to be included from the main theme file: Example `navigationsounds.xml`, to be included from the main theme file:
```xml ```xml
<theme> <theme>
<formatVersion>6</formatVersion> <formatVersion>7</formatVersion>
<feature supported="navigationsounds"> <feature supported="navigationsounds">
<view name="all"> <view name="all">
<sound name="systembrowse"> <sound name="systembrowse">
@ -849,13 +856,52 @@ EmulationStation borrows the concept of "nine patches" from Android (or "9-Slice
#### helpsystem #### helpsystem
* `pos` - type: NORMALIZED_PAIR. Default is "0.012 0.9515" * `pos` - type: NORMALIZED_PAIR. Default is "0.012 0.9515"
* `origin` - type: NORMALIZED_PAIR. * `origin` - type: NORMALIZED_PAIR.
- Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the component exactly in the middle of the screen. - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place
* `textColor` - type: COLOR. Default is 777777FF. the component exactly in the middle of the screen.
* `iconColor` - type: COLOR. Default is 777777FF. * `textColor` - type: COLOR. Default is 777777FF.
* `textColorDimmed` - type: COLOR. Default is 777777FF.
* `iconColor` - type: COLOR. Default is 777777FF.
* `iconColorDimmed` - type: COLOR. Default is 777777FF.
* `fontPath` - type: PATH. * `fontPath` - type: PATH.
* `fontSize` - type: FLOAT. * `fontSize` - type: FLOAT.
* `entrySpacing` - type: FLOAT. Default is 16.0f.
- Spacing in pixels between the help system components.
* `iconTextSpacing` - type: FLOAT. Default is 8.0f.
- Spacing in pixels within a help system component between it's icon and text.
* `textStyle` - type: STRING. Default is `uppercase`.
- The style of the text. Options: `uppercase`, `lowercase`, `camelcase`.
* `dpad_updown` - type: PATH.
* `dpad_leftright` - type: PATH.
* `dpad_all` - type: PATH.
* `thumbstick_click` - type: PATH.
* `button_l` - type: PATH.
* `button_r` - type: PATH.
* `button_lr` - type: PATH.
* `button_a_SNES` - type: PATH.
* `button_b_SNES` - type: PATH.
* `button_x_SNEs` - type: PATH.
* `button_y_SNES` - type: PATH.
* `button_back_SNES` - type: PATH.
* `button_start_SNES` - type: PATH.
* `button_a_PS` - type: PATH.
* `button_b_PS` - type: PATH.
* `button_x_PS` - type: PATH.
* `button_y_PS` - type: PATH.
* `button_back_PS4` - type: PATH.
* `button_start_PS4` - type: PATH.
* `button_back_PS5` - type: PATH.
* `button_start_PS5` - type: PATH.
* `button_a_XBOX` - type: PATH.
* `button_b_XBOX` - type: PATH.
* `button_x_XBOX` - type: PATH.
* `button_y_XBOX` - type: PATH.
* `button_back_XBOX` - type: PATH.
* `button_start_XBOX` - type: PATH.
* `button_back_XBOX360` - type: PATH.
* `button_start_XBOX360` - type: PATH.
- All options starting with `button_`: Path to custom button icon.
#### carousel #### carousel