Commit f3e8dbb9 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

fix the root font size (rem) calculation

parent 81e98ba9
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -53,7 +53,7 @@ Rectangle context_get_clip(const Context* ctx) {
  if (ctx->layout_stack.empty()) {
  if (ctx->layout_stack.empty()) {
    auto margins = ctx->margins;
    auto margins = ctx->margins;
    for (auto& m : margins) {
    for (auto& m : margins) {
      convert_unit_typographic(ctx->dpi, ctx->font_size, &m);
      convert_unit_typographic(ctx->dpi, context_get_rem(ctx), &m);
    }
    }


    return layout_margin_box(
    return layout_margin_box(
@@ -67,6 +67,13 @@ Rectangle context_get_clip(const Context* ctx) {
  }
  }
}
}


Measure context_get_rem(const Context* ctx) {
  auto rem_default = from_px(16);
  auto rem = ctx->font_size;
  convert_unit_typographic(ctx->dpi, rem_default, &rem);
  return rem;
}

ReturnCode context_set_background(
ReturnCode context_set_background(
    Context* ctx,
    Context* ctx,
    const Expr* expr) {
    const Expr* expr) {
+2 −0
Original line number Original line Diff line number Diff line
@@ -53,6 +53,8 @@ ReturnCode context_setup_defaults(Context* ctx);


Rectangle context_get_clip(const Context* ctx);
Rectangle context_get_clip(const Context* ctx);


Measure context_get_rem(const Context* ctx);

ReturnCode context_set_background(Context* ctx, const Expr* expr);
ReturnCode context_set_background(Context* ctx, const Expr* expr);


} // namespace clip
} // namespace clip
+4 −4
Original line number Original line Diff line number Diff line
@@ -55,15 +55,15 @@ void legend_normalize(
    Context* ctx,
    Context* ctx,
    LegendConfig* config) {
    LegendConfig* config) {
  for (auto& m : config->margins) {
  for (auto& m : config->margins) {
    convert_unit_typographic(ctx->dpi, ctx->font_size, &m);
    convert_unit_typographic(ctx->dpi, context_get_rem(ctx), &m);
  }
  }


  for (auto& m : config->padding) {
  for (auto& m : config->padding) {
    convert_unit_typographic(ctx->dpi, ctx->font_size, &m);
    convert_unit_typographic(ctx->dpi, context_get_rem(ctx), &m);
  }
  }


  convert_unit_typographic(ctx->dpi, ctx->font_size, &config->item_row_padding);
  convert_unit_typographic(ctx->dpi, context_get_rem(ctx), &config->item_row_padding);
  convert_unit_typographic(ctx->dpi, ctx->font_size, &config->item_column_padding);
  convert_unit_typographic(ctx->dpi, context_get_rem(ctx), &config->item_column_padding);
}
}


ReturnCode legend_layout_item_rows(
ReturnCode legend_layout_item_rows(
+1 −1
Original line number Original line Diff line number Diff line
@@ -176,7 +176,7 @@ ReturnCode legend_item_configure(
  config->label_align = HAlign::LEFT;
  config->label_align = HAlign::LEFT;
  config->label_margin = from_em(1.1);
  config->label_margin = from_em(1.1);
  config->label_font = ctx->font;
  config->label_font = ctx->font;
  config->label_font_size = ctx->font_size;
  config->label_font_size = from_em(1);
  config->label_color = ctx->text_color;
  config->label_color = ctx->text_color;
  config->marker = marker_create_disk();
  config->marker = marker_create_disk();
  config->marker_align = HAlign::LEFT;
  config->marker_align = HAlign::LEFT;
+1 −1
Original line number Original line Diff line number Diff line
@@ -60,7 +60,7 @@ ReturnCode draw_text(
    VAlign align_y,
    VAlign align_y,
    double rotate,
    double rotate,
    TextStyle style) {
    TextStyle style) {
  convert_unit_typographic(ctx->dpi, ctx->font_size, &style.font_size);
  convert_unit_typographic(ctx->dpi, context_get_rem(ctx), &style.font_size);


  text::TextSpan span;
  text::TextSpan span;
  span.text_direction = style.direction;
  span.text_direction = style.direction;
Loading