Commit 5f88dccf authored by Paul Asmuth's avatar Paul Asmuth
Browse files

make the default foreground, background and text colors configurable

parent 9174dae7
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -28,8 +28,8 @@ Environment::Environment() :
    screen_height(Unit::UNIT, 480),
    dpi(96),
    background_color(Color::fromRGB(1,1,1)),
    text_color(Color::fromRGB(.2,.2,.2)),
    border_color(Color::fromRGB(.2,.2,.2)),
    foreground_color(Color::fromRGB(0,0,0)),
    text_color(Color::fromRGB(0,0,0)),
    font_size(from_pt(11, dpi)) {}

ReturnCode environment_setup_defaults(Environment* env) {
@@ -72,6 +72,18 @@ ReturnCode environment_set(Environment* env, const Expr* expr) {
    return expr_to_float64(args[1], &env->dpi);
  }

  if (expr_is_value(args[0], "background-color")) {
    return expr_to_color(args[1], &env->background_color);
  }

  if (expr_is_value(args[0], "foreground-color")) {
    return expr_to_color(args[1], &env->foreground_color);
  }

  if (expr_is_value(args[0], "text-color")) {
    return expr_to_color(args[1], &env->text_color);
  }

  if (expr_is_value(args[0], "font")) {
    return font_configure(args[1], &env->font);
  }
+1 −1
Original line number Diff line number Diff line
@@ -35,8 +35,8 @@ struct Environment {
  Measure font_size;
  ColorScheme color_scheme;
  Color background_color;
  Color foreground_color;
  Color text_color;
  Color border_color;
  std::array<Measure, 4> margins;
  ElementMap element_map;
};
+1 −1
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ ReturnCode build(
    ElementRef* elem) {
  auto config = std::make_shared<BoxElement>();
  config->font_size = env.font_size;
  config->border_color = env.border_color;
  config->border_color = env.foreground_color;

  auto config_rc = expr_walk_map(expr_next(expr), {
    {
+1 −1
Original line number Diff line number Diff line
@@ -480,7 +480,7 @@ ReturnCode build(
  config->padding = std::array<Measure, 4>{from_em(.8), from_em(1), from_em(.8), from_em(1)};
  for (size_t i = 0; i < 4; ++i) {
    config->borders[i].line_width = from_pt(1);
    config->borders[i].color = env.border_color;
    config->borders[i].color = env.foreground_color;
  }

  /* parse exprerties */
+1 −1
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ ReturnCode build(
  config->font = env.font;
  config->font_size = env.font_size;
  config->text_color = env.text_color;
  config->border_color = env.border_color;
  config->border_color = env.foreground_color;
  config->margins = {from_em(1), from_em(1), from_em(1), from_em(1)};

  std::vector<std::string> x;
Loading