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

common: move measure and viewport configuration into Document

parent d833dfaa
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -35,6 +35,10 @@

namespace plotfx {

Document::Document() :
    width({Unit::PX, 1200}),
    height({Unit::PX, 600}) {}

ReturnCode buildDocument(
    const PropertyList& plist,
    Document* tree) {
+5 −0
Original line number Diff line number Diff line
@@ -29,12 +29,17 @@
 */
#pragma once
#include "utils/return_code.h"
#include "graphics/measure.h"
#include "element.h"

namespace plotfx {
class Layer;

struct Document {
  Document();
  MeasureTable measures;
  Measure width;
  Measure height;
  std::vector<ElementRef> roots;
};

+4 −5
Original line number Diff line number Diff line
@@ -37,14 +37,13 @@ namespace plotfx {
Layer::Layer(
    double w,
    double h,
    double rem /* = 12 */,
    double dpi /* = 96 */) :
    const MeasureTable& m /* = MeasureTable{} */) :
    width(w),
    height(h),
    measures{.dpi = dpi, .rem = rem},
    measures(m),
    //pixmap(PixelFormat::RGBA8, w, h),
    text_shaper(dpi),
    rasterizer(w, h, measures) {}
    text_shaper(m.dpi),
    rasterizer(w, h, m) {}

Layer::~Layer() {}

+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ namespace plotfx {

struct Layer {
  Layer();
  Layer(double width, double height, double rem = 12, double dpi = 96);
  Layer(double width, double height, const MeasureTable& measures = MeasureTable{});
  ~Layer();
  Layer(const Layer&) = delete;
  Layer& operator=(const Layer&) = delete;
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ enum class Unit {
};

struct MeasureTable {
  MeasureTable() : dpi(96), rem(12) {}
  double dpi;
  double rem;
};
Loading