3#if defined(AST_WITH_MATPLOT) && defined(AST_WITH_AGG)
4#include "AstCompiler.h"
6A_SUPPRESS_WARNINGS_BEGIN
7#include <matplot/util/visitor.h>
10#include "AggRenderer.hpp"
16class AggVisitor :
public matplot::visitor {
18 AggVisitor(AggRenderer& renderer,
double fig_w,
double fig_h);
20 AggVisitor(
const AggVisitor&) =
delete;
21 AggVisitor& operator=(
const AggVisitor&) =
delete;
23 void setAxes(
const matplot::axes_type& axes);
29 void visit(
class matplot::line& l)
override;
32 void visit(
class matplot::histogram&)
override {}
33 void visit(
class matplot::function_line&)
override {}
34 void visit(
class matplot::stair&)
override {}
35 void visit(
class matplot::string_function&)
override {}
36 void visit(
class matplot::bars&)
override {}
37 void visit(
class matplot::error_bar&)
override {}
38 void visit(
class matplot::filled_area&)
override {}
39 void visit(
class matplot::surface&)
override {}
40 void visit(
class matplot::matrix&)
override {}
41 void visit(
class matplot::vectors&)
override {}
42 void visit(
class matplot::network&)
override {}
43 void visit(
class matplot::parallel_lines&)
override {}
44 void visit(
class matplot::labels&)
override {}
45 void visit(
class matplot::box_chart&)
override {}
46 void visit(
class matplot::circles&)
override {}
47 void visit(
class matplot::contours&)
override {}
51 agg::trans_affine makeTransform(
double xmin,
double xmax,
double ymin,
double ymax)
const;
52 const agg::trans_affine& getTransform()
const{
return trans_;}
54 AggRenderer& renderer_;
55 double fig_w_{}, fig_h_{};
57 const matplot::axes_type* axes_{
nullptr};
58 double xmin_{0.0}, xmax_{1.0}, ymin_{0.0}, ymax_{1.0};
59 agg::trans_affine trans_{};