skin engine: Add tags to display Quickscreen Items

A set of new tags for themes that allow them to display a quickscreen item's name or value like what is displayed on the default quickscreen.

There are 8 tags in total, 2 for each direction or "item".
One type of tag displays the setting name, while the other displays the setting's value.

All tags output an "ERR" string if no valid setting is found for that item.

Quickscreen Item name tags: %QT, %QR, %QB and %QL.
Quickscreen Item value tags: %Qt, %Qr, %Qb and %Ql.

Change-Id: Ia08ba5940e38065e051a0aefa2cff142c9e58684
This commit is contained in:
Evan Kenny 2024-07-01 15:19:17 +01:00 committed by Solomon Peachy
parent 3891bcf3b9
commit 96f42a5646
4 changed files with 74 additions and 0 deletions

View file

@ -210,6 +210,15 @@ static const struct tag_info legal_tags[] =
{ SKIN_TOKEN_VIEWPORT_CONDITIONAL, "Vl" , "S[IP][IP][ip][ip]i", 0 },
{ SKIN_TOKEN_UIVIEWPORT_LOAD, "Vi" , "s[IP][IP][ip][ip]i", 0 },
{ SKIN_TOKEN_VIEWPORT_LOAD, "V" , "[IP][IP][ip][ip]i", 0 },
{ SKIN_TOKEN_TOP_QUICKSETTING_NAME, "QT" , "", SKIN_REFRESH_DYNAMIC },
{ SKIN_TOKEN_TOP_QUICKSETTING_VALUE, "Qt" , "", SKIN_REFRESH_DYNAMIC },
{ SKIN_TOKEN_RIGHT_QUICKSETTING_NAME, "QR" , "", SKIN_REFRESH_DYNAMIC },
{ SKIN_TOKEN_RIGHT_QUICKSETTING_VALUE, "Qr" , "", SKIN_REFRESH_DYNAMIC },
{ SKIN_TOKEN_BOTTOM_QUICKSETTING_NAME, "QB" , "", SKIN_REFRESH_DYNAMIC },
{ SKIN_TOKEN_BOTTOM_QUICKSETTING_VALUE, "Qb" , "", SKIN_REFRESH_DYNAMIC },
{ SKIN_TOKEN_LEFT_QUICKSETTING_NAME, "QL" , "", SKIN_REFRESH_DYNAMIC },
{ SKIN_TOKEN_LEFT_QUICKSETTING_VALUE, "Ql" , "", SKIN_REFRESH_DYNAMIC },
{ SKIN_TOKEN_IMAGE_BACKDROP, "X" , "f", SKIN_REFRESH_STATIC|NOBREAK },
/* This uses the bar tag params also but the first item can be a string

View file

@ -245,6 +245,16 @@ enum skin_token_type {
SKIN_TOKEN_MAIN_HOLD,
SKIN_TOKEN_REMOTE_HOLD,
/* Quickscreen */
SKIN_TOKEN_TOP_QUICKSETTING_NAME,
SKIN_TOKEN_TOP_QUICKSETTING_VALUE,
SKIN_TOKEN_RIGHT_QUICKSETTING_NAME,
SKIN_TOKEN_RIGHT_QUICKSETTING_VALUE,
SKIN_TOKEN_BOTTOM_QUICKSETTING_NAME,
SKIN_TOKEN_BOTTOM_QUICKSETTING_VALUE,
SKIN_TOKEN_LEFT_QUICKSETTING_NAME,
SKIN_TOKEN_LEFT_QUICKSETTING_VALUE,
/* Setting option */
SKIN_TOKEN_SETTING,
SKIN_TOKEN_SETTINGBAR,