-void FormPreferences::Colors::InputHSV()
-{
- double const hue = fl_get_dial_value(dialog_->dial_hue);
- double const sat = fl_get_slider_value(dialog_->slider_saturation);
- double const val = fl_get_slider_value(dialog_->slider_value);
-
- int const h = int(hue);
- int const s = int(100.0 * sat);
- int const v = int(100.0 * val);
-
- string const label = tostr(h) + ", " + tostr(s) + ", " + tostr(v);
- fl_set_object_label(dialog_->text_color_values, label.c_str());
-
- RGBColor col = HSVColor(hue, sat, val);
-
- fl_freeze_form(dialog_->form);
-
- fl_mapcolor(GUI_COLOR_CHOICE, col.r, col.g, col.b);
- fl_redraw_object(dialog_->button_color);
-
- col = HSVColor(hue, 1.0, 1.0);
- col.r = max(col.r, 0u);
- fl_mapcolor(GUI_COLOR_HUE_DIAL, col.r, col.g, col.b);
- fl_redraw_object(dialog_->dial_hue);
-
- // Ascertain whether to activate the Modify button.
- vector<NamedColor>::size_type const selLyX =
- fl_get_browser(dialog_->browser_lyx_objs);
-
- fl_unfreeze_form(dialog_->form);
- if (selLyX < 1) return;
-
- fl_getmcolor(GUI_COLOR_CHOICE, &col.r, &col.g, &col.b);
- bool modify = false;
-
- // Is the choice an Xforms color...
- if (selLyX - 1 < xformsColorDB.size()) {
- vector<XformsColor>::size_type const i = selLyX - 1;
- modify = (xformsColorDB[i].color() != col);
- }
- // or a LyX Logical color?
- else {
- vector<NamedColor>::size_type const i = selLyX - 1 -
- xformsColorDB.size();
- modify = (lyxColorDB[i].color() != col);
- }
-
- setEnabled(dialog_->button_modify, modify);
-}
-
-
-void FormPreferences::Colors::InputRGB()
-{
- int const red = int(fl_get_slider_value(dialog_->slider_red));
- int const green = int(fl_get_slider_value(dialog_->slider_green));
- int const blue = int(fl_get_slider_value(dialog_->slider_blue));
-
- string const label = tostr(red) + string(", ") + tostr(green) +
- string(", ") + tostr(blue);
- fl_set_object_label(dialog_->text_color_values, label.c_str());
-
- fl_freeze_form(dialog_->form);
-
- RGBColor col = RGBColor(red, green, blue);
- fl_mapcolor(GUI_COLOR_CHOICE, col.r, col.g, col.b);
- fl_redraw_object(dialog_->button_color);
-
- // Ascertain whether to activate the Modify button.
- vector<NamedColor>::size_type const selLyX =
- fl_get_browser(dialog_->browser_lyx_objs);
-
- fl_unfreeze_form(dialog_->form);
- if (selLyX < 1) return;
-
- bool modify = false;
-
- // Is the choice an Xforms color...
- if (selLyX - 1 < xformsColorDB.size()) {
- vector<XformsColor>::size_type const i = selLyX - 1;
- modify = (xformsColorDB[i].color() != col);
- }
- // or a LyX Logical color?
- else {
- vector<NamedColor>::size_type const i = selLyX - 1 -
- xformsColorDB.size();
- modify = (lyxColorDB[i].color() != col);
- }
-
- setEnabled(dialog_->button_modify, modify);
-}
-
-