diff options
author | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2025-04-25 21:25:03 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2025-04-26 21:54:10 +0200 |
commit | 43786e9b5480c50e7d77467bd72dac875e5db908 (patch) | |
tree | b2dddc6023980a5b7c6f0d060aeba1b4e055fc86 | |
parent | 53e22afe92e7f360ce0de5cbb013f3257081bdb8 (diff) | |
download | mana-43786e9b5480c50e7d77467bd72dac875e5db908.tar.gz mana-43786e9b5480c50e7d77467bd72dac875e5db908.tar.bz2 mana-43786e9b5480c50e7d77467bd72dac875e5db908.tar.xz mana-43786e9b5480c50e7d77467bd72dac875e5db908.zip |
GUI: Added support for explicit outline color per palette entry
This enables customized outlines for each text color as well as adding
outlines for specific palettes, as done by the Jewelry theme.
Merged PARTY_CHAT_TAB and PARTY_SOCIAL_TAB into just PARTY_TAB since we
should probably be using the same color there anyway.
Split off WHISPER_TAB as separate color from WHISPER.
-rw-r--r-- | data/graphics/gui/jewelry/theme.xml | 303 | ||||
-rw-r--r-- | data/graphics/gui/theme.xml | 4 | ||||
-rw-r--r-- | src/gui/itempopup.cpp | 6 | ||||
-rw-r--r-- | src/gui/itempopup.h | 3 | ||||
-rw-r--r-- | src/gui/palette.cpp | 21 | ||||
-rw-r--r-- | src/gui/palette.h | 19 | ||||
-rw-r--r-- | src/gui/socialwindow.cpp | 2 | ||||
-rw-r--r-- | src/gui/widgets/browserbox.cpp | 80 | ||||
-rw-r--r-- | src/gui/widgets/browserbox.h | 1 | ||||
-rw-r--r-- | src/gui/widgets/popup.cpp | 14 | ||||
-rw-r--r-- | src/gui/widgets/textbox.cpp | 48 | ||||
-rw-r--r-- | src/gui/widgets/textbox.h | 12 | ||||
-rw-r--r-- | src/gui/widgets/whispertab.cpp | 2 | ||||
-rw-r--r-- | src/net/tmwa/gui/partytab.cpp | 3 | ||||
-rw-r--r-- | src/resources/theme.cpp | 45 | ||||
-rw-r--r-- | src/resources/theme.h | 5 |
16 files changed, 258 insertions, 310 deletions
diff --git a/data/graphics/gui/jewelry/theme.xml b/data/graphics/gui/jewelry/theme.xml index a20ba2d3..63694066 100644 --- a/data/graphics/gui/jewelry/theme.xml +++ b/data/graphics/gui/jewelry/theme.xml @@ -8,30 +8,22 @@ <color id="SHADOW" color="#000000" /> <color id="OUTLINE" color="#000000" /> <color id="BORDER" color="#000000" /> - <color id="CHECKBOX" color="#000000" /> <color id="DROPDOWN" color="#000000" /> <color id="LISTBOX" color="#000000" /> <color id="LISTBOX_SELECTED" color="#000000" /> - <color id="RADIOBUTTON" color="#000000" /> - <color id="POPUP" color="#f9eabc" /> - <color id="BATTLE_CHAT_TAB" color="#efd7a7" /> - <color id="BATTLE_CHAT_TAB_OUTLINE" color="#473005" /> - <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="BATTLE_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="BATTLE_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="CHANNEL_CHAT_TAB" color="#efd7a7" /> - <color id="CHANNEL_CHAT_TAB_OUTLINE" color="#473005" /> - <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="CHANNEL_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="CHANNEL_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> + <color id="CHANNEL_CHAT_TAB" color="#efd7a7" outlineColor="#473005" /> <color id="BACKGROUND" color="#ffffff" /> <color id="BACKGROUND_GRAY" color="#404040" /> <color id="DROPDOWN_SHADOW" color="#c0c0c0" /> <color id="HIGHLIGHT" color="#ebc873" /> <color id="TAB_FLASH" color="#fec4ff" effect="pulse" /> <color id="TAB_PLAYER_FLASH" color="#00ff00" effect="pulse" /> + <color id="PARTY_TAB" color="#efd7a7" outlineColor="#473005" /> + <color id="GUILD_TAB" color="#efd7a7" outlineColor="#473005" /> + <color id="WHISPER_TAB" color="#efd7a7" outlineColor="#473005" /> + <color id="WHISPER_TAB_OFFLINE" color="#444444" outlineColor="#000000" /> + <color id="WHISPER_TAB_OFFLINE_HIGHLIGHTED" color="#fffbed" outlineColor="#000000" /> + <color id="WHISPER_TAB_OFFLINE_SELECTED" color="#444444" outlineColor="#000000" /> <color id="SHOP_WARNING" color="#e07a7a" /> <color id="ITEM_EQUIPPED" color="#000091" /> <color id="ITEM_NOT_EQUIPPED" color="#000000" /> @@ -78,107 +70,33 @@ <color id="STATUSBAR_ON" color="#646464" /> <color id="STATUSBAR_OFF" color="#ffff00" /> <color id="TABLE_BACKGROUND" color="#bfbfbf" /> - <color id="SLOTS_BAR" color="#ffffff" /> - <color id="SLOTS_BAR_OUTLINE" color="#000000" /> - <color id="HP_BAR" color="#ffffff" /> - <color id="HP_BAR_OUTLINE" color="#000000" /> - <color id="MP_BAR" color="#ffffff" /> - <color id="MP_BAR_OUTLINE" color="#000000" /> - <color id="NO_MP_BAR" color="#ffffff" /> - <color id="NO_MP_BAR_OUTLINE" color="#000000" /> - <color id="XP_BAR" color="#ffffff" /> - <color id="XP_BAR_OUTLINE" color="#000000" /> - <color id="WEIGHT_BAR" color="#ffffff" /> - <color id="WEIGHT_BAR_OUTLINE" color="#000000" /> - <color id="MONEY_BAR" color="#ffffff" /> - <color id="MONEY_BAR_OUTLINE" color="#000000" /> - <color id="ARROWS_BAR" color="#ffffff" /> - <color id="ARROWS_BAR_OUTLINE" color="#000000" /> - <color id="STATUS_BAR" color="#ffffff" /> - <color id="STATUS_BAR_OUTLINE" color="#000000" /> - <color id="JOB_BAR" color="#ffffff" /> - <color id="JOB_BAR_OUTLINE" color="#000000" /> + <color id="SLOTS_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="HP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="MP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="NO_MP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="XP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="WEIGHT_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="MONEY_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="ARROWS_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="STATUS_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="JOB_BAR" color="#ffffff" outlineColor="#000000" /> <color id="SKILL_COOLDOWN" color="#5090ff" /> </palette> <palette id="1"> <color id="SELFNICK" color="#402600" /> - <color id="TEXT" color="#f9eabc" /> + <color id="TEXT" color="#fbf4c4" outlineColor="#42403a" /> <color id="TEXT_DISABLED" color="#f9eabc" /> <color id="CARET" color="#80561f" /> <color id="SHADOW" color="#000000" /> <color id="OUTLINE" color="#000000" /> <color id="BORDER" color="#000000" /> - <color id="CHECKBOX" color="#000000" /> <color id="DROPDOWN" color="#000000" /> <color id="LISTBOX" color="#000000" /> <color id="LISTBOX_SELECTED" color="#000000" /> - <color id="RADIOBUTTON" color="#000000" /> - <color id="POPUP" color="#fbf4c4" /> - <color id="POPUP_OUTLINE" color="#42403a" /> - <color id="BATTLE_CHAT_TAB" color="#efd7a7" /> - <color id="BATTLE_CHAT_TAB_OUTLINE" color="#473005" /> - <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="BATTLE_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="BATTLE_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="CHANNEL_CHAT_TAB" color="#efd7a7" /> - <color id="CHANNEL_CHAT_TAB_OUTLINE" color="#473005" /> - <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="CHANNEL_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="CHANNEL_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="TAB_FLASH" color="#a7ff2a" /> - <color id="TAB_FLASH_OUTLINE" color="#142200" /> + <color id="CHANNEL_CHAT_TAB" color="#efd7a7" outlineColor="#473005" /> + <color id="TAB_FLASH" color="#a7ff2a" outlineColor="#142200" /> <color id="TAB_PLAYER_FLASH" color="#ff96f6" /> - <color id="PARTY_CHAT_TAB" color="#efd7a7" /> - <color id="PARTY_CHAT_TAB_OUTLINE" color="#473005" /> - <color id="PARTY_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="PARTY_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="PARTY_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="PARTY_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="PARTY_SOCIAL_TAB" color="#efd7a7" /> - <color id="PARTY_SOCIAL_TAB_OUTLINE" color="#473005" /> - <color id="PARTY_SOCIAL_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="PARTY_SOCIAL_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="PARTY_SOCIAL_TAB_SELECTED" color="#f8eacf" /> - <color id="PARTY_SOCIAL_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="GUILD_CHAT_TAB" color="#efd7a7" /> - <color id="GUILD_CHAT_TAB_OUTLINE" color="#473005" /> - <color id="GUILD_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="GUILD_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="GUILD_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="GUILD_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="GUILD_SOCIAL_TAB" color="#efd7a7" /> - <color id="GUILD_SOCIAL_TAB_OUTLINE" color="#473005" /> - <color id="GUILD_SOCIAL_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="GUILD_SOCIAL_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="GUILD_SOCIAL_TAB_SELECTED" color="#f8eacf" /> - <color id="GUILD_SOCIAL_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="CLAN_CHAT_TAB" color="#efd7a7" /> - <color id="CLAN_CHAT_TAB_OUTLINE" color="#473005" /> - <color id="CLAN_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="CLAN_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="CLAN_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="CLAN_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="GM_CHAT_TAB" color="#efd7a7" /> - <color id="GM_CHAT_TAB_OUTLINE" color="#473005" /> - <color id="GM_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="GM_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="GM_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="GM_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="WHISPER_TAB" color="#efd7a7" /> - <color id="WHISPER_TAB_OUTLINE" color="#473005" /> - <color id="WHISPER_TAB_OFFLINE" color="#444444" /> - <color id="WHISPER_TAB_OFFLINE_OUTLINE" color="#000000" /> - <color id="WHISPER_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="WHISPER_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> - <color id="WHISPER_TAB_OFFLINE_HIGHLIGHTED" color="#fffbed" /> - <color id="WHISPER_TAB_OFFLINE_HIGHLIGHTED_OUTLINE" color="#000000" /> - <color id="WHISPER_TAB_SELECTED" color="#f8eacf" /> - <color id="WHISPER_TAB_SELECTED_OUTLINE" color="#63450a" /> - <color id="WHISPER_TAB_OFFLINE_SELECTED" color="#444444" /> - <color id="WHISPER_TAB_OFFLINE_SELECTED_OUTLINE" color="#000000" /> <color id="BACKGROUND" color="#ffffff" /> <color id="BACKGROUND_GRAY" color="#404040" /> <color id="DROPDOWN_SHADOW" color="#c0c0c0" /> @@ -189,103 +107,58 @@ <color id="BUBBLE_NAME" color="#cccccc" /> <color id="BUBBLE_TEXT" color="#ffffff" /> <color id="LOGGER" color="#919191" /> - <color id="HYPERLINK" color="#bcdff4" /> - <color id="HYPERLINK_OUTLINE" color="#052f47" /> + <color id="HYPERLINK" color="#bcdff4" outlineColor="#052f47" /> <color id="UNKNOWN_ITEM" color="#ffffff" /> <color id="CHARM" color="#ffffff" /> - <color id="GENERIC" color="#dbdbdb" /> - <color id="GENERIC_OUTLINE" color="#333333" /> - <color id="CARD" color="#dbdbdb" /> - <color id="CARD_OUTLINE" color="#333333" /> - <color id="HEAD" color="#f8eb7c" /> - <color id="HEAD_OUTLINE" color="#382a01" /> - <color id="USABLE" color="#b4d7ec" /> - <color id="USABLE_OUTLINE" color="#052f47" /> - <color id="TORSO" color="#f8eb7c" /> - <color id="TORSO_OUTLINE" color="#382a01" /> - <color id="ONEHAND" color="#f8eb7c" /> - <color id="ONEHAND_OUTLINE" color="#382a01" /> - <color id="LEGS" color="#f8eb7c" /> - <color id="LEGS_OUTLINE" color="#382a01" /> - <color id="FEET" color="#f8eb7c" /> - <color id="FEET_OUTLINE" color="#382a01" /> - <color id="TWOHAND" color="#f8eb7c" /> - <color id="TWOHAND_OUTLINE" color="#382a01" /> - <color id="SHIELD" color="#f8eb7c" /> - <color id="SHIELD_OUTLINE" color="#382a01" /> - <color id="RING" color="#f8eb7c" /> - <color id="RING_OUTLINE" color="#382a01" /> - <color id="NECKLACE" color="#f8eb7c" /> - <color id="NECKLACE_OUTLINE" color="#382a01" /> - <color id="ARMS" color="#f8eb7c" /> - <color id="ARMS_OUTLINE" color="#382a01" /> - <color id="AMMO" color="#f8eb7c" /> - <color id="AMMO_OUTLINE" color="#382a01" /> + <color id="GENERIC" color="#dbdbdb" outlineColor="#333333" /> + <color id="CARD" color="#dbdbdb" outlineColor="#333333" /> + <color id="HEAD" color="#f8eb7c" outlineColor="#382a01" /> + <color id="USABLE" color="#b4d7ec" outlineColor="#052f47" /> + <color id="TORSO" color="#f8eb7c" outlineColor="#382a01" /> + <color id="ONEHAND" color="#f8eb7c" outlineColor="#382a01" /> + <color id="LEGS" color="#f8eb7c" outlineColor="#382a01" /> + <color id="FEET" color="#f8eb7c" outlineColor="#382a01" /> + <color id="TWOHAND" color="#f8eb7c" outlineColor="#382a01" /> + <color id="SHIELD" color="#f8eb7c" outlineColor="#382a01" /> + <color id="RING" color="#f8eb7c" outlineColor="#382a01" /> + <color id="NECKLACE" color="#f8eb7c" outlineColor="#382a01" /> + <color id="ARMS" color="#f8eb7c" outlineColor="#382a01" /> + <color id="AMMO" color="#f8eb7c" outlineColor="#382a01" /> <color id="SERVER_VERSION_NOT_SUPPORTED" color="#DC0000" /> <color id="WARNING" color="#FF0000" /> - <color id="CHAT" color="#ffffff" /> - <color id="CHAT_OUTLINE" color="#3f3f3f" /> - <color id="GM" color="#ff45fd" /> - <color id="GM_OUTLINE" color="#44033a" /> - <color id="GLOBAL" color="#ff45fd" /> - <color id="GLOBAL_OUTLINE" color="#44033a" /> - <color id="PLAYER" color="#bcdff4" /> - <color id="PLAYER_OUTLINE" color="#052f47" /> - <color id="PLAYER_ADVANCED" color="#f9eabc" /> - <color id="PLAYER_ADVANCED_OUTLINE" color="#3b2b04" /> - <color id="IS" color="#77deff" /> - <color id="IS_OUTLINE" color="#02232e" /> - <color id="SERVER" color="#a7ff2a" /> - <color id="SERVER_OUTLINE" color="#142200" /> - <color id="BROWSERBOX" color="#999999" /> - <color id="BROWSERBOX_OUTLINE" color="#000000" /> - <color id="BLACK" color="#999999" /> - <color id="BLACK_OUTLINE" color="#000000" /> - <color id="RED" color="#ff6565" /> - <color id="RED_OUTLINE" color="#470303" /> - <color id="GREEN" color="#57cb21" /> - <color id="GREEN_OUTLINE" color="#0b3102" /> - <color id="BLUE" color="#8080ff" /> - <color id="BLUE_OUTLINE" color="#060646" /> - <color id="ORANGE" color="#f1c777" /> - <color id="ORANGE_OUTLINE" color="#3d2201" /> - <color id="YELLOW" color="#f8eb7c" /> - <color id="YELLOW_OUTLINE" color="#382a01" /> - <color id="PINK" color="#ff90ee" /> - <color id="PINK_OUTLINE" color="#44033a" /> - <color id="PURPLE" color="#cd8cff" /> - <color id="PURPLE_OUTLINE" color="#260341" /> - <color id="GRAY" color="#dbdbdb" /> - <color id="GRAY_OUTLINE" color="#333333" /> - <color id="BROWN" color="#cb884c" /> - <color id="BROWN_OUTLINE" color="#271802" /> - <color id="OLDCHAT" color="#cb884c" /> - <color id="OLDCHAT_OUTLINE" color="#271802" /> - <color id="AWAYCHAT" color="#cb884c" /> - <color id="AWAYCHAT_OUTLINE" color="#271802" /> + <color id="CHAT" color="#ffffff" outlineColor="#3f3f3f" /> + <color id="GM" color="#ff45fd" outlineColor="#44033a" /> + <color id="GLOBAL" color="#ff45fd" outlineColor="#44033a" /> + <color id="PLAYER" color="#bcdff4" outlineColor="#052f47" /> + <color id="PLAYER_ADVANCED" color="#f9eabc" outlineColor="#3b2b04" /> + <color id="IS" color="#77deff" outlineColor="#02232e" /> + <color id="SERVER" color="#a7ff2a" outlineColor="#142200" /> + <color id="BROWSERBOX" color="#999999" outlineColor="#000000" /> + <color id="BLACK" color="#999999" outlineColor="#000000" /> + <color id="RED" color="#ff6565" outlineColor="#470303" /> + <color id="GREEN" color="#57cb21" outlineColor="#0b3102" /> + <color id="BLUE" color="#8080ff" outlineColor="#060646" /> + <color id="ORANGE" color="#f1c777" outlineColor="#3d2201" /> + <color id="YELLOW" color="#f8eb7c" outlineColor="#382a01" /> + <color id="PINK" color="#ff90ee" outlineColor="#44033a" /> + <color id="PURPLE" color="#cd8cff" outlineColor="#260341" /> + <color id="GRAY" color="#dbdbdb" outlineColor="#333333" /> + <color id="BROWN" color="#cb884c" outlineColor="#271802" /> + <color id="OLDCHAT" color="#cb884c" outlineColor="#271802" /> + <color id="AWAYCHAT" color="#cb884c" outlineColor="#271802" /> <color id="STATUSBAR_ON" color="#646464" /> <color id="STATUSBAR_OFF" color="#ffff00" /> <color id="TABLE_BACKGROUND" color="#bfbfbf" /> - <color id="SLOTS_BAR" color="#ffffff" /> - <color id="SLOTS_BAR_OUTLINE" color="#000000" /> - <color id="HP_BAR" color="#ffffff" /> - <color id="HP_BAR_OUTLINE" color="#000000" /> - <color id="MP_BAR" color="#ffffff" /> - <color id="MP_BAR_OUTLINE" color="#000000" /> - <color id="NO_MP_BAR" color="#ffffff" /> - <color id="NO_MP_BAR_OUTLINE" color="#000000" /> - <color id="XP_BAR" color="#ffffff" /> - <color id="XP_BAR_OUTLINE" color="#000000" /> - <color id="WEIGHT_BAR" color="#ffffff" /> - <color id="WEIGHT_BAR_OUTLINE" color="#000000" /> - <color id="MONEY_BAR" color="#ffffff" /> - <color id="MONEY_BAR_OUTLINE" color="#000000" /> - <color id="ARROWS_BAR" color="#ffffff" /> - <color id="ARROWS_BAR_OUTLINE" color="#000000" /> - <color id="STATUS_BAR" color="#ffffff" /> - <color id="STATUS_BAR_OUTLINE" color="#000000" /> - <color id="JOB_BAR" color="#ffffff" /> - <color id="JOB_BAR_OUTLINE" color="#000000" /> + <color id="SLOTS_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="HP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="MP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="NO_MP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="XP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="WEIGHT_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="MONEY_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="ARROWS_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="STATUS_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="JOB_BAR" color="#ffffff" outlineColor="#000000" /> </palette> <palette id="2"> @@ -296,24 +169,10 @@ <color id="SHADOW" color="#000000" /> <color id="OUTLINE" color="#000000" /> <color id="BORDER" color="#000000" /> - <color id="CHECKBOX" color="#000000" /> <color id="DROPDOWN" color="#000000" /> <color id="LISTBOX" color="#000000" /> <color id="LISTBOX_SELECTED" color="#000000" /> - <color id="RADIOBUTTON" color="#000000" /> - <color id="POPUP" color="#f9eabc" /> - <color id="BATTLE_CHAT_TAB" color="#efd7a7" /> - <color id="BATTLE_CHAT_TAB_OUTLINE" color="#000000" /> - <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#000000" /> - <color id="BATTLE_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="BATTLE_CHAT_TAB_SELECTED_OUTLINE" color="#000000" /> - <color id="CHANNEL_CHAT_TAB" color="#efd7a7" /> - <color id="CHANNEL_CHAT_TAB_OUTLINE" color="#000000" /> - <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> - <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#000000" /> - <color id="CHANNEL_CHAT_TAB_SELECTED" color="#f8eacf" /> - <color id="CHANNEL_CHAT_TAB_SELECTED_OUTLINE" color="#000000" /> + <color id="CHANNEL_CHAT_TAB" color="#efd7a7" outlineColor="#000000" /> <color id="BACKGROUND" color="#ffffff" /> <color id="BACKGROUND_GRAY" color="#404040" /> <color id="DROPDOWN_SHADOW" color="#c0c0c0" /> @@ -368,26 +227,16 @@ <color id="STATUSBAR_ON" color="#646464" /> <color id="STATUSBAR_OFF" color="#ffff00" /> <color id="TABLE_BACKGROUND" color="#bfbfbf" /> - <color id="SLOTS_BAR" color="#ffffff" /> - <color id="SLOTS_BAR_OUTLINE" color="#000000" /> - <color id="HP_BAR" color="#ffffff" /> - <color id="HP_BAR_OUTLINE" color="#000000" /> - <color id="MP_BAR" color="#ffffff" /> - <color id="MP_BAR_OUTLINE" color="#000000" /> - <color id="NO_MP_BAR" color="#ffffff" /> - <color id="NO_MP_BAR_OUTLINE" color="#000000" /> - <color id="XP_BAR" color="#ffffff" /> - <color id="XP_BAR_OUTLINE" color="#000000" /> - <color id="WEIGHT_BAR" color="#ffffff" /> - <color id="WEIGHT_BAR_OUTLINE" color="#000000" /> - <color id="MONEY_BAR" color="#ffffff" /> - <color id="MONEY_BAR_OUTLINE" color="#000000" /> - <color id="ARROWS_BAR" color="#ffffff" /> - <color id="ARROWS_BAR_OUTLINE" color="#000000" /> - <color id="STATUS_BAR" color="#ffffff" /> - <color id="STATUS_BAR_OUTLINE" color="#000000" /> - <color id="JOB_BAR" color="#ffffff" /> - <color id="JOB_BAR_OUTLINE" color="#000000" /> + <color id="SLOTS_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="HP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="MP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="NO_MP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="XP_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="WEIGHT_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="MONEY_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="ARROWS_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="STATUS_BAR" color="#ffffff" outlineColor="#000000" /> + <color id="JOB_BAR" color="#ffffff" outlineColor="#000000" /> </palette> <progressbar id="DEFAULT" color="#969696" /> diff --git a/data/graphics/gui/theme.xml b/data/graphics/gui/theme.xml index e93ef855..bfa1b32c 100644 --- a/data/graphics/gui/theme.xml +++ b/data/graphics/gui/theme.xml @@ -13,8 +13,8 @@ <color id="CARET" color="#000000" /> <color id="SHADOW" color="#000000" /> <color id="OUTLINE" color="#000000" /> - <color id="PARTY_CHAT_TAB" color="#f48055" /> - <color id="PARTY_SOCIAL_TAB" color="#ff00d8" /> + <color id="PARTY_TAB" color="#a9583b" /> + <color id="WHISPER_TAB" color="#3b58a9" /> <color id="BACKGROUND" color="#ffffff" /> <color id="HIGHLIGHT" color="#c0c0c0" /> <color id="TAB_FLASH" color="#ff0000" effect="pulse" /> diff --git a/src/gui/itempopup.cpp b/src/gui/itempopup.cpp index 1efd0cf2..3e7ba15a 100644 --- a/src/gui/itempopup.cpp +++ b/src/gui/itempopup.cpp @@ -136,6 +136,7 @@ void ItemPopup::setNoItem() auto &palette = theme->getPalette(getSkin().palette); mItemName->setForegroundColor(palette.getColor(Theme::GENERIC)); + mItemName->setOutlineColor(palette.getOutlineColor(Theme::GENERIC)); mItemName->setPosition(0, 0); mItemDesc->setText(std::string()); @@ -179,9 +180,12 @@ void ItemPopup::setItem(const ItemInfo &item, bool showImage) auto theme = gui->getTheme(); auto &palette = theme->getPalette(getSkin().palette); + const auto typeColorId = getColorIdFromItemType(mItemType); + mItemName->setCaption(caption); mItemName->adjustSize(); - mItemName->setForegroundColor(palette.getColor(getColorIdFromItemType(mItemType))); + mItemName->setForegroundColor(palette.getColor(typeColorId)); + mItemName->setOutlineColor(palette.getOutlineColor(typeColorId)); mItemName->setPosition(space, 0); mItemDesc->setTextWrapped(item.description, ITEMPOPUP_WRAP_WIDTH); diff --git a/src/gui/itempopup.h b/src/gui/itempopup.h index 535104cf..c741ed64 100644 --- a/src/gui/itempopup.h +++ b/src/gui/itempopup.h @@ -29,6 +29,7 @@ #include <guichan/mouselistener.hpp> class Icon; +class Label; class TextBox; /** @@ -65,7 +66,7 @@ class ItemPopup : public Popup void mouseMoved(gcn::MouseEvent &mouseEvent) override; private: - gcn::Label *mItemName; + Label *mItemName; TextBox *mItemDesc; TextBox *mItemEffect; TextBox *mItemWeight; diff --git a/src/gui/palette.cpp b/src/gui/palette.cpp index 4b66b70d..948660d2 100644 --- a/src/gui/palette.cpp +++ b/src/gui/palette.cpp @@ -70,10 +70,13 @@ Palette &Palette::operator=(Palette &&pal) void Palette::setColor(int type, const gcn::Color &color, + const std::optional<gcn::Color> &outlineColor, GradientType grad, int delay) { - mColors[type].set(type, color, grad, delay); + auto &elem = mColors[type]; + elem.set(type, color, grad, delay); + elem.outlineColor = outlineColor; } void Palette::advanceGradients() @@ -107,17 +110,19 @@ void Palette::advanceGradient(int advance) const int pos = elem->gradientIndex % delay; const int colIndex = elem->gradientIndex / delay; - if (elem->grad == PULSE) - { + switch (elem->grad) { + case STATIC: + break; + case PULSE: { const int colVal = (int) (255.0 * sin(PI * colIndex / numOfColors)); const gcn::Color &col = elem->testColor; elem->color.r = ((colVal * col.r) / 255) % (col.r + 1); elem->color.g = ((colVal * col.g) / 255) % (col.g + 1); elem->color.b = ((colVal * col.b) / 255) % (col.b + 1); + break; } - if (elem->grad == SPECTRUM) - { + case SPECTRUM: { int colVal; if (colIndex % 2) @@ -139,9 +144,9 @@ void Palette::advanceGradient(int advance) elem->color.b = (colIndex == 3 || colIndex == 4) ? 255 : (colIndex == 2 || colIndex == 5) ? colVal : 0; + break; } - else if (elem->grad == RAINBOW) - { + case RAINBOW: { const gcn::Color &startCol = RAINBOW_COLORS[colIndex]; const gcn::Color &destCol = RAINBOW_COLORS[(colIndex + 1) % numOfColors]; @@ -157,6 +162,8 @@ void Palette::advanceGradient(int advance) elem->color.b =(int)(startColVal * startCol.b + destColVal * destCol.b); + break; + } } } } diff --git a/src/gui/palette.h b/src/gui/palette.h index fc2eda9e..268b9fc6 100644 --- a/src/gui/palette.h +++ b/src/gui/palette.h @@ -27,8 +27,9 @@ #include <guichan/color.hpp> #include <cstdlib> -#include <string> +#include <optional> #include <set> +#include <string> #include <vector> // Default Gradient Delay @@ -58,6 +59,7 @@ class Palette void setColor(int type, const gcn::Color &color, + const std::optional<gcn::Color> &outlineColor, GradientType grad, int delay); @@ -65,7 +67,6 @@ class Palette * Gets the color associated with the type. * * @param type the color type requested - * * @return the requested color */ const gcn::Color &getColor(int type) const @@ -74,10 +75,20 @@ class Palette } /** + * Gets the optional outline color associated with the type. + * + * @param type the color type requested + * @return the requested outline color, if any + */ + const std::optional<gcn::Color> &getOutlineColor(int type) const + { + return mColors[type].outlineColor; + } + + /** * Gets the GradientType associated with the specified type. * * @param type the color type of the color - * * @return the gradient type of the color with the given index */ GradientType getGradientType(int type) const @@ -89,7 +100,6 @@ class Palette * Gets the gradient delay for the specified type. * * @param type the color type of the color - * * @return the gradient delay of the color with the given index */ int getGradientDelay(int type) const @@ -119,6 +129,7 @@ class Palette gcn::Color color; gcn::Color testColor; gcn::Color committedColor; + std::optional<gcn::Color> outlineColor; std::string text; GradientType grad; GradientType committedGrad; diff --git a/src/gui/socialwindow.cpp b/src/gui/socialwindow.cpp index 072d87bc..265fb166 100644 --- a/src/gui/socialwindow.cpp +++ b/src/gui/socialwindow.cpp @@ -171,7 +171,7 @@ public: { setCaption(party->getName()); - setTabColor(&Theme::getThemeColor(Theme::PARTY_SOCIAL_TAB)); + setTabColor(&Theme::getThemeColor(Theme::PARTY_TAB)); mList = std::make_unique<AvatarListBox>(party); mScroll = std::make_unique<ScrollArea>(mList.get()); diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp index bb00d4ef..4fe85ae5 100644 --- a/src/gui/widgets/browserbox.cpp +++ b/src/gui/widgets/browserbox.cpp @@ -73,10 +73,13 @@ static void replaceKeys(std::string &text) } } + struct LayoutContext { LayoutContext(gcn::Font *font, const Palette &palette); + LinePart linePart(int x, std::string text); + int y = 0; gcn::Font *font; const int fontHeight; @@ -84,22 +87,38 @@ struct LayoutContext const int tildeWidth; int lineHeight; const gcn::Color textColor; - gcn::Color selColor; + const std::optional<gcn::Color> textOutlineColor; + gcn::Color color; + std::optional<gcn::Color> outlineColor; }; -LayoutContext::LayoutContext(gcn::Font *font, const Palette &palette) +inline LayoutContext::LayoutContext(gcn::Font *font, const Palette &palette) : font(font) , fontHeight(font->getHeight()) , minusWidth(font->getWidth("-")) , tildeWidth(font->getWidth("~")) , lineHeight(fontHeight) , textColor(palette.getColor(Theme::TEXT)) - , selColor(textColor) + , textOutlineColor(palette.getOutlineColor(Theme::TEXT)) + , color(textColor) + , outlineColor(textOutlineColor) { if (auto *trueTypeFont = dynamic_cast<const TrueTypeFont*>(font)) lineHeight = trueTypeFont->getLineHeight(); } +inline LinePart LayoutContext::linePart(int x, std::string text) +{ + return { + x, + y, + color, + outlineColor, + std::move(text), + font + }; +} + BrowserBox::BrowserBox(Mode mode): mMode(mode) @@ -289,8 +308,9 @@ void BrowserBox::draw(gcn::Graphics *graphics) Graphics::LEFT, part.color, part.font, - mOutline, - mShadows); + part.outlineColor.has_value() || mOutline, + mShadows, + part.outlineColor); } } } @@ -318,7 +338,8 @@ void BrowserBox::layoutTextRow(TextRow &row, LayoutContext &context) { // each line starts with normal font in default color context.font = getFont(); - context.selColor = context.textColor; + context.color = context.textColor; + context.outlineColor = context.textOutlineColor; const int startY = context.y; row.parts.clear(); @@ -331,15 +352,7 @@ void BrowserBox::layoutTextRow(TextRow &row, LayoutContext &context) if (startsWith(row.text, "---")) { for (x = 0; x < getWidth(); x += context.minusWidth - 1) - { - row.parts.push_back(LinePart { - x, - context.y, - context.selColor, - "-", - context.font - }); - } + row.parts.push_back(context.linePart(x, "-")); context.y += row.height; @@ -348,9 +361,9 @@ void BrowserBox::layoutTextRow(TextRow &row, LayoutContext &context) return; } - auto theme = gui->getTheme(); auto &palette = gui->getTheme()->getPalette(mPalette); - gcn::Color prevColor = context.selColor; + auto prevColor = context.color; + auto prevOutlineColor = context.outlineColor; // TODO: Check if we must take texture size limits into account here // TODO: Check if some of the O(n) calls can be removed @@ -377,11 +390,14 @@ void BrowserBox::layoutTextRow(TextRow &row, LayoutContext &context) switch (c) { case '>': - context.selColor = prevColor; + context.color = prevColor; + context.outlineColor = prevOutlineColor; break; case '<': - prevColor = context.selColor; - context.selColor = palette.getColor(Theme::HYPERLINK); + prevColor = context.color; + prevOutlineColor = context.outlineColor; + context.color = palette.getColor(Theme::HYPERLINK); + context.outlineColor = palette.getOutlineColor(Theme::HYPERLINK); break; case 'B': context.font = boldFont; @@ -391,8 +407,16 @@ void BrowserBox::layoutTextRow(TextRow &row, LayoutContext &context) break; default: { const auto colorId = Theme::getColorIdForChar(c); - context.selColor = colorId ? palette.getColor(*colorId) - : context.textColor; + if (colorId) + { + context.color = palette.getColor(*colorId); + context.outlineColor = palette.getOutlineColor(*colorId); + } + else + { + context.color = context.textColor; + context.outlineColor = context.textOutlineColor; + } break; } } @@ -467,7 +491,8 @@ void BrowserBox::layoutTextRow(TextRow &row, LayoutContext &context) row.parts.push_back(LinePart { getWidth() - context.tildeWidth, context.y, - context.selColor, + context.color, + context.outlineColor, "~", getFont() }); @@ -481,14 +506,7 @@ void BrowserBox::layoutTextRow(TextRow &row, LayoutContext &context) wrapped = true; } - row.parts.push_back(LinePart { - x, - context.y, - context.selColor, - std::move(part), - context.font - }); - + row.parts.push_back(context.linePart(x, std::move(part))); row.width = std::max(row.width, x + partWidth); if (mMode == AUTO_WRAP && partWidth == 0) diff --git a/src/gui/widgets/browserbox.h b/src/gui/widgets/browserbox.h index 03bda8cd..142bba63 100644 --- a/src/gui/widgets/browserbox.h +++ b/src/gui/widgets/browserbox.h @@ -51,6 +51,7 @@ struct LinePart int x; int y; gcn::Color color; + std::optional<gcn::Color> outlineColor; std::string text; gcn::Font *font; }; diff --git a/src/gui/widgets/popup.cpp b/src/gui/widgets/popup.cpp index 3e4315f0..b245b9e6 100644 --- a/src/gui/widgets/popup.cpp +++ b/src/gui/widgets/popup.cpp @@ -83,11 +83,21 @@ void Popup::widgetAdded(gcn::Widget *widget) const if (const int paletteId = getSkin().palette) { if (auto browserBox = dynamic_cast<BrowserBox*>(widget)) + { browserBox->setPalette(paletteId); + } else if (auto label = dynamic_cast<Label*>(widget)) - label->setForegroundColor(gui->getTheme()->getPalette(paletteId).getColor(Theme::TEXT)); + { + auto &palette = gui->getTheme()->getPalette(paletteId); + label->setForegroundColor(palette.getColor(Theme::TEXT)); + label->setOutlineColor(palette.getOutlineColor(Theme::TEXT)); + } else if (auto textBox = dynamic_cast<TextBox*>(widget)) - textBox->setTextColor(&gui->getTheme()->getPalette(paletteId).getColor(Theme::TEXT)); + { + auto &palette = gui->getTheme()->getPalette(paletteId); + textBox->setTextColor(&palette.getColor(Theme::TEXT)); + textBox->setOutlineColor(palette.getOutlineColor(Theme::TEXT)); + } } } diff --git a/src/gui/widgets/textbox.cpp b/src/gui/widgets/textbox.cpp index 419fa16e..6cc514fe 100644 --- a/src/gui/widgets/textbox.cpp +++ b/src/gui/widgets/textbox.cpp @@ -21,15 +21,20 @@ #include "gui/widgets/textbox.h" +#include "gui/gui.h" #include "resources/theme.h" +#include "textrenderer.h" #include <guichan/font.hpp> #include <sstream> -TextBox::TextBox() : - mTextColor(&Theme::getThemeColor(Theme::TEXT)) +TextBox::TextBox() { + auto &palette = gui->getTheme()->getPalette(0); + mTextColor = &palette.getColor(Theme::TEXT); + mOutlineColor = palette.getOutlineColor(Theme::TEXT); + setOpaque(false); setFrameSize(0); mMinWidth = getWidth(); @@ -147,3 +152,42 @@ void TextBox::setTextWrapped(const std::string &text, int minDimension) gcn::TextBox::setText(wrappedStream.str()); } + +/** + * Overridden so we can customize the color and outline of the text. + */ +void TextBox::draw(gcn::Graphics *graphics) +{ + unsigned int i; + + if (mOpaque) + { + graphics->setColor(getBackgroundColor()); + graphics->fillRectangle(gcn::Rectangle(0, 0, getWidth(), getHeight())); + } + + if (isFocused() && isEditable()) + { + drawCaret(graphics, + getFont()->getWidth(mTextRows[mCaretRow].substr(0, mCaretColumn)), + mCaretRow * getFont()->getHeight()); + } + + graphics->setColor(*mTextColor); + graphics->setFont(getFont()); + + for (i = 0; i < mTextRows.size(); i++) + { + // Move the text one pixel so we can have a caret before a letter. + TextRenderer::renderText(graphics, + mTextRows[i], + 1, + i * getFont()->getHeight(), + gcn::Graphics::LEFT, + *mTextColor, + getFont(), + mOutlineColor.has_value(), + false, + mOutlineColor); + } +} diff --git a/src/gui/widgets/textbox.h b/src/gui/widgets/textbox.h index e4596b9a..49a5a2ad 100644 --- a/src/gui/widgets/textbox.h +++ b/src/gui/widgets/textbox.h @@ -23,6 +23,8 @@ #include <guichan/widgets/textbox.hpp> +#include <optional> + /** * A text box, meant to be used inside a scroll area. Same as the Guichan text * box except this one doesn't have a background or border, instead completely @@ -38,6 +40,9 @@ class TextBox : public gcn::TextBox void setTextColor(const gcn::Color *color) { mTextColor = color; } + void setOutlineColor(const std::optional<gcn::Color> &color) + { mOutlineColor = color; } + /** * Sets the text after wrapping it to the current width of the widget. */ @@ -51,13 +56,10 @@ class TextBox : public gcn::TextBox /** * Draws the text. */ - void draw(gcn::Graphics *graphics) override - { - setForegroundColor(*mTextColor); - gcn::TextBox::draw(graphics); - } + void draw(gcn::Graphics *graphics) override; private: int mMinWidth; const gcn::Color *mTextColor; + std::optional<gcn::Color> mOutlineColor; }; diff --git a/src/gui/widgets/whispertab.cpp b/src/gui/widgets/whispertab.cpp index 636f48dd..28181971 100644 --- a/src/gui/widgets/whispertab.cpp +++ b/src/gui/widgets/whispertab.cpp @@ -36,7 +36,7 @@ WhisperTab::WhisperTab(const std::string &nick) : ChatTab(nick), mNick(nick) { - setTabColor(&Theme::getThemeColor(Theme::WHISPER)); + setTabColor(&Theme::getThemeColor(Theme::WHISPER_TAB)); } WhisperTab::~WhisperTab() diff --git a/src/net/tmwa/gui/partytab.cpp b/src/net/tmwa/gui/partytab.cpp index 418e0843..ee29757a 100644 --- a/src/net/tmwa/gui/partytab.cpp +++ b/src/net/tmwa/gui/partytab.cpp @@ -32,14 +32,13 @@ #include "resources/theme.h" #include "utils/gettext.h" -#include "utils/stringutils.h" namespace TmwAthena { PartyTab::PartyTab() : ChatTab(_("Party")) { - setTabColor(&Theme::getThemeColor(Theme::PARTY_CHAT_TAB)); + setTabColor(&Theme::getThemeColor(Theme::PARTY_TAB)); } void PartyTab::handleInput(const std::string &msg) diff --git a/src/resources/theme.cpp b/src/resources/theme.cpp index 66908ae6..53017193 100644 --- a/src/resources/theme.cpp +++ b/src/resources/theme.cpp @@ -766,23 +766,6 @@ void Theme::readIconNode(XML::Node node) mIcons[name] = image->getSubImage(x, y, width, height); } -void Theme::readPaletteNode(XML::Node node) -{ - int paletteId; - if (node.attribute("id", paletteId) && static_cast<size_t>(paletteId) != mPalettes.size()) - logger->log("Theme: Non-consecutive palette 'id' attribute with value %d!", paletteId); - - Palette &palette = mPalettes.emplace_back(THEME_COLORS_END); - - for (auto childNode : node.children()) - { - if (childNode.name() == "color") - readColorNode(childNode, palette); - else - logger->log("Theme: Unknown node '%s'!", childNode.name().data()); - } -} - static int readColorId(const std::string &id) { static constexpr const char *colors[Theme::THEME_COLORS_END] = { @@ -800,8 +783,8 @@ static int readColorId(const std::string &id) "CARET", "SHADOW", "OUTLINE", - "PARTY_CHAT_TAB", - "PARTY_SOCIAL_TAB", + "PARTY_TAB", + "WHISPER_TAB", "BACKGROUND", "HIGHLIGHT", "TAB_FLASH", @@ -867,7 +850,7 @@ static Palette::GradientType readGradientType(const std::string &grad) return Palette::STATIC; } -void Theme::readColorNode(XML::Node node, Palette &palette) +static void readColorNode(XML::Node node, Palette &palette) { const auto idStr = node.getProperty("id", std::string()); const int id = readColorId(idStr); @@ -878,8 +861,28 @@ void Theme::readColorNode(XML::Node node, Palette &palette) if (check(node.attribute("color", color), "Theme: 'color' element missing 'color' attribute!")) return; + std::optional<gcn::Color> outlineColor; + node.attribute("outlineColor", outlineColor); + const auto grad = readGradientType(node.getProperty("effect", std::string())); - palette.setColor(id, color, grad, 10); + palette.setColor(id, color, outlineColor, grad, 10); +} + +void Theme::readPaletteNode(XML::Node node) +{ + int paletteId; + if (node.attribute("id", paletteId) && static_cast<size_t>(paletteId) != mPalettes.size()) + logger->log("Theme: Non-consecutive palette 'id' attribute with value %d!", paletteId); + + Palette &palette = mPalettes.emplace_back(THEME_COLORS_END); + + for (auto childNode : node.children()) + { + if (childNode.name() == "color") + readColorNode(childNode, palette); + else + logger->log("Theme: Unknown node '%s'!", childNode.name().data()); + } } static int readProgressId(const std::string &id) diff --git a/src/resources/theme.h b/src/resources/theme.h index 6046667b..5cfe105a 100644 --- a/src/resources/theme.h +++ b/src/resources/theme.h @@ -222,8 +222,8 @@ class Theme : public EventListener CARET, SHADOW, OUTLINE, - PARTY_CHAT_TAB, - PARTY_SOCIAL_TAB, + PARTY_TAB, + WHISPER_TAB, BACKGROUND, HIGHLIGHT, TAB_FLASH, @@ -342,7 +342,6 @@ class Theme : public EventListener void readSkinStateImgNode(XML::Node node, SkinState &state) const; void readIconNode(XML::Node node); void readPaletteNode(XML::Node node); - void readColorNode(XML::Node node, Palette &palette); void readProgressBarNode(XML::Node node); std::string mThemePath; |