diff options
author | corvid <corvid@lavabit.com> | 2013-01-02 23:41:10 +0000 |
---|---|---|
committer | corvid <corvid@lavabit.com> | 2013-01-02 23:41:10 +0000 |
commit | 93e772ac635f029405443cfc1eab60a111ff83f9 (patch) | |
tree | 77ca1f456f9562339009351dd7d9c00a375adeda /src/dillo.cc | |
parent | 1474914cb55657253ffbbe8737bff7086dd2ed05 (diff) |
throw in some more UI colors to play with
Diffstat (limited to 'src/dillo.cc')
-rw-r--r-- | src/dillo.cc | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/src/dillo.cc b/src/dillo.cc index faad050f..80d0c949 100644 --- a/src/dillo.cc +++ b/src/dillo.cc @@ -237,12 +237,45 @@ static void checkPreferredFonts() checkFont(prefs.font_fantasy, "fantasy"); } -static void setColor(int32_t color, void (*fn) (uchar, uchar, uchar)) +static void setColorFLTK(int32_t color, void (*fn) (uchar, uchar, uchar)) { if (color != -1) fn(color >> 16, (color >> 8) & 0xff, color & 0xff); } +static void setColorPrefWdef(int32_t &color, int32_t default_val) +{ + if (color == -1) + color = default_val; + else if (color == 0) + color = FL_BLACK; + else + color <<= 8; +} + +static void setColors() +{ + unsigned rgb; + + setColorFLTK(prefs.ui_main_bg_color, Fl::background); + setColorFLTK(prefs.ui_text_bg_color, Fl::background2); + setColorFLTK(prefs.ui_fg_color, Fl::foreground); + + if (prefs.ui_selection_color == -1) + rgb = Fl::get_color(fl_contrast(FL_SELECTION_COLOR, + FL_BACKGROUND2_COLOR)); + else + rgb = prefs.ui_selection_color << 8; + Fl::set_color(FL_SELECTION_COLOR, rgb); + + setColorPrefWdef(prefs.ui_button_highlight_color, + fl_lighter(FL_BACKGROUND_COLOR)); + setColorPrefWdef(prefs.ui_tab_active_bg_color, FL_BACKGROUND2_COLOR); + setColorPrefWdef(prefs.ui_tab_bg_color, FL_BACKGROUND_COLOR); + setColorPrefWdef(prefs.ui_tab_active_fg_color, prefs.ui_fg_color); + setColorPrefWdef(prefs.ui_tab_fg_color, prefs.ui_fg_color); +} + /* * Given a command line argument, build a DilloUrl for it. */ @@ -388,14 +421,7 @@ int main(int argc, char **argv) Fl_Window::default_xclass("dillo"); Fl::scheme(prefs.theme); - - setColor(prefs.ui_main_bg_color, Fl::background); - setColor(prefs.ui_text_bg_color, Fl::background2); - setColor(prefs.ui_fg_color, Fl::foreground); - - unsigned rgb = Fl::get_color(fl_contrast(FL_SELECTION_COLOR, - FL_BACKGROUND2_COLOR)); - Fl::set_color(FL_SELECTION_COLOR, rgb); + setColors(); if (!prefs.show_tooltip) { // turn off UI tooltips |