38 typedef std::vector<std::unique_ptr<CanvasItem>>::iterator iterator;
44 iterator begin()
noexcept {
return (_items.begin()); }
46 iterator end()
noexcept {
return (_items.end()); }
50 void add(std::vector<Plot> &plots);
54 void erase(std::vector<std::unique_ptr<CanvasItem>>::iterator begin,
55 std::vector<std::unique_ptr<CanvasItem>>::iterator end);
57 void setSize(
const std::array<int, 2> size);
59 void setColor(
const std::string_view color);
61 void setDefaultCharacterHeight(
double height);
63 std::array<int, 2>
const &getSize()
const;
65 float getAspectRatio()
const;
67 std::string_view getColor()
const;
69 const double &getDefaultCharacterHeight()
const;
73 void paintOnPostscript(std::string_view filename);
75 void paintOnPNG(std::string_view filename);
77 void paintOnJPEG(std::string_view filename);
80 std::unique_ptr<plstream> _plstream;
84 std::vector<std::string> _colormap;
86 std::vector<std::unique_ptr<CanvasItem>> _items;
88 std::array<int, 2> _size;
90 double _defaultcharacterheight;
92 double _defaultticklength;
94 int lookUpColor(std::string_view hex);
98 void draw(
Plot *plot);