1 /********************************************************************** 2 Freeciv - Copyright (C) 2005 - The Freeciv Project 3 This program is free software; you can redistribute it and/or modify 4 it under the terms of the GNU General Public License as published by 5 the Free Software Foundation; either version 2, or (at your option) 6 any later version. 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 ***********************************************************************/ 13 14 #ifndef FC__THEMECOLORS_H 15 #define FC__THEMECOLORS_H 16 17 #include "colors_common.h" 18 19 /* The color system is designed on the assumption that almost, but 20 * not quite, all displays will be truecolor. */ 21 22 enum theme_color { 23 COLOR_THEME_BACKGROUND, 24 COLOR_THEME_CHECKBOX_LABEL_TEXT, 25 COLOR_THEME_CUSTOM_WIDGET_NORMAL_TEXT, 26 COLOR_THEME_CUSTOM_WIDGET_SELECTED_FRAME, 27 COLOR_THEME_CUSTOM_WIDGET_SELECTED_TEXT, 28 COLOR_THEME_CUSTOM_WIDGET_PRESSED_FRAME, 29 COLOR_THEME_CUSTOM_WIDGET_PRESSED_TEXT, 30 COLOR_THEME_CUSTOM_WIDGET_DISABLED_TEXT, 31 COLOR_THEME_EDITFIELD_CARET, 32 COLOR_THEME_LABEL_BAR, 33 COLOR_THEME_QUICK_INFO_BG, /* Quick info Background color */ 34 COLOR_THEME_QUICK_INFO_FRAME, /* Quick info frame color */ 35 COLOR_THEME_QUICK_INFO_TEXT, /* Quick info Text color */ 36 COLOR_THEME_SELECTIONRECTANGLE, 37 COLOR_THEME_TEXT, 38 COLOR_THEME_THEMELABEL2_BG, 39 COLOR_THEME_WIDGET_NORMAL_TEXT, /* currently not used */ 40 COLOR_THEME_WIDGET_SELECTED_TEXT, /* currently not used */ 41 COLOR_THEME_WIDGET_PRESSED_TEXT, /* currently not used */ 42 COLOR_THEME_WIDGET_DISABLED_TEXT, /* text on disabled widgets */ 43 COLOR_THEME_WINDOW_TITLEBAR_SEPARATOR, 44 45 COLOR_THEME_ADVANCEDTERRAINDLG_TEXT, 46 COLOR_THEME_CITYDLG_BUY, 47 COLOR_THEME_CITYDLG_CELEB, /* city celebrating color */ 48 COLOR_THEME_CITYDLG_CORRUPTION, 49 COLOR_THEME_CITYDLG_FOODPERTURN, 50 COLOR_THEME_CITYDLG_FOODSTOCK, 51 COLOR_THEME_CITYDLG_FOOD_SURPLUS, /* city food surplus color */ 52 COLOR_THEME_CITYDLG_FRAME, 53 COLOR_THEME_CITYDLG_GOLD, /* city gold color */ 54 COLOR_THEME_CITYDLG_GRANARY, 55 COLOR_THEME_CITYDLG_GROWTH, 56 COLOR_THEME_CITYDLG_HAPPY, /* city happy color */ 57 COLOR_THEME_CITYDLG_IMPR, /* city improvements */ 58 COLOR_THEME_CITYDLG_INFOPANEL, 59 COLOR_THEME_CITYDLG_LUX, /* city luxuries color */ 60 COLOR_THEME_CITYDLG_PANEL, 61 COLOR_THEME_CITYDLG_PROD, /* city production color */ 62 COLOR_THEME_CITYDLG_SCIENCE, /* city science color */ 63 COLOR_THEME_CITYDLG_SELL, 64 COLOR_THEME_CITYDLG_SHIELDSTOCK, 65 COLOR_THEME_CITYDLG_STOCKS, 66 COLOR_THEME_CITYDLG_SUPPORT, /* city units support color */ 67 COLOR_THEME_CITYDLG_TRADE, /* city trade color */ 68 COLOR_THEME_CITYDLG_UPKEEP, /* city upkeep color */ 69 COLOR_THEME_CITYREP_FOODSTOCK, 70 COLOR_THEME_CITYREP_FRAME, 71 COLOR_THEME_CITYREP_PROD, 72 COLOR_THEME_CITYREP_TEXT, 73 COLOR_THEME_CITYREP_TRADE, 74 COLOR_THEME_CMA_FRAME, 75 COLOR_THEME_CMA_TEXT, 76 COLOR_THEME_CONNECTDLG_FRAME, 77 COLOR_THEME_CONNECTDLG_INNERFRAME, 78 COLOR_THEME_CONNECTDLG_LABELFRAME, 79 COLOR_THEME_CONNLISTDLG_FRAME, 80 COLOR_THEME_DIPLODLG_MEETING_HEADING_TEXT, 81 COLOR_THEME_DIPLODLG_MEETING_TEXT, 82 COLOR_THEME_DIPLODLG_TEXT, 83 COLOR_THEME_ECONOMYDLG_FRAME, 84 COLOR_THEME_ECONOMYDLG_NEG_TEXT, 85 COLOR_THEME_ECONOMYDLG_TEXT, 86 COLOR_THEME_HELPDLG_FRAME, 87 COLOR_THEME_HELPDLG_LINE, 88 COLOR_THEME_HELPDLG_LINE2, 89 COLOR_THEME_HELPDLG_LINE3, 90 COLOR_THEME_HELPDLG_TEXT, 91 COLOR_THEME_JOINGAMEDLG_FRAME, 92 COLOR_THEME_JOINGAMEDLG_TEXT, 93 COLOR_THEME_MAPVIEW_INFO_FRAME, 94 COLOR_THEME_MAPVIEW_INFO_TEXT, 95 COLOR_THEME_MAPVIEW_UNITINFO_TEXT, 96 COLOR_THEME_MAPVIEW_UNITINFO_VETERAN_TEXT, 97 COLOR_THEME_MESWIN_ACTIVE_TEXT, 98 COLOR_THEME_MESWIN_ACTIVE_TEXT2, 99 COLOR_THEME_MESWIN_FRAME, 100 COLOR_THEME_NATIONDLG_FRAME, 101 COLOR_THEME_NATIONDLG_LEGEND, 102 COLOR_THEME_NATIONDLG_TEXT, 103 COLOR_THEME_NEWCITYDLG_TEXT, 104 COLOR_THEME_OPTIONDLG_WORKLISTLIST_FRAME, 105 COLOR_THEME_OPTIONDLG_WORKLISTLIST_TEXT, 106 COLOR_THEME_PLRDLG_ALLIANCE, 107 COLOR_THEME_PLRDLG_ARMISTICE, 108 COLOR_THEME_PLRDLG_CEASEFIRE, 109 COLOR_THEME_PLRDLG_FRAME, 110 COLOR_THEME_PLRDLG_PEACE, 111 COLOR_THEME_PLRDLG_TEXT, 112 COLOR_THEME_PLRDLG_WAR, 113 COLOR_THEME_PLRDLG_WAR_RESTRICTED, /* player at war but can't meet or get intel. data */ 114 COLOR_THEME_REVOLUTIONDLG_TEXT, 115 COLOR_THEME_SABOTAGEDLG_SEPARATOR, 116 COLOR_THEME_SCIENCEDLG_FRAME, 117 COLOR_THEME_SCIENCEDLG_MED_TECHICON_BG, 118 COLOR_THEME_SCIENCEDLG_TEXT, 119 COLOR_THEME_SELLIMPR_TEXT, 120 COLOR_THEME_UNITSREP_FRAME, 121 COLOR_THEME_UNITSREP_TEXT, 122 COLOR_THEME_UNITUPGRADE_TEXT, 123 COLOR_THEME_UNITDISBAND_TEXT, 124 COLOR_THEME_USERPASSWDDLG_FRAME, 125 COLOR_THEME_USERPASSWDDLG_TEXT, 126 COLOR_THEME_WARDLG_TEXT, 127 COLOR_THEME_WLDLG_FRAME, 128 129 COLOR_THEME_LAST 130 }; 131 132 struct color; 133 struct theme_color_system; 134 struct theme; 135 136 struct color *theme_get_color(const struct theme *t, enum theme_color color); 137 138 /* Functions used by the theme to allocate the color system. */ 139 struct theme_color_system *theme_color_system_read(struct section_file *file); 140 141 void theme_color_system_free(struct theme_color_system *colors); 142 143 #endif /* FC__THEMECOLORS_H */ 144