レポジトリ種類: Mercurial

#include <FL/Fl.H>

#include "theme.hh"

bool Theme::isLight = false;
std::string Theme::lbl;
std::string *Theme::lang = nullptr;

void Theme::set_dark_theme() {
  Fl::background(35, 32, 35);
  Fl::background2(68, 59, 68);
  Fl::foreground(252, 252, 252);
}

void Theme::set_light_theme() {
  Fl::background(189, 180, 189);
  Fl::background2(207, 203, 207);
  Fl::foreground(18, 15, 18);
}

void Theme::set_theme() {
  if (!isLight) {
    set_light_theme();
    isLight = true;
    lbl = (lang->compare(0, 2, "en") == 0 ? "To dark mode" : "ダークモードへ");
  } else {
    set_dark_theme();
    isLight = false;
    lbl = (lang->compare(0, 2, "en") == 0 ? "To light mode" : "ライトモードへ");
  }

  Fl::redraw();
}

void Theme::cb(Fl_Widget *, void *) {
  set_theme();
}