3#if defined(AST_WITH_MATPLOT) && defined(AST_WITH_AGG)
5#include <matplot/util/visitor.h>
7#include "AggRenderer.hpp"
13class AggVisitor :
public matplot::visitor {
15 AggVisitor(AggRenderer& renderer,
double fig_w,
double fig_h);
17 void setAxes(
const matplot::axes_type& axes);
23 void visit(matplot::line& l)
override;
26 void visit(matplot::histogram&)
override {}
27 void visit(matplot::function_line&)
override {}
28 void visit(matplot::stair&)
override {}
29 void visit(matplot::string_function&)
override {}
30 void visit(matplot::bars&)
override {}
31 void visit(matplot::error_bar&)
override {}
32 void visit(matplot::filled_area&)
override {}
33 void visit(matplot::surface&)
override {}
34 void visit(matplot::matrix&)
override {}
35 void visit(matplot::vectors&)
override {}
36 void visit(matplot::network&)
override {}
37 void visit(matplot::parallel_lines&)
override {}
38 void visit(matplot::labels&)
override {}
39 void visit(matplot::box_chart&)
override {}
40 void visit(matplot::circles&)
override {}
41 void visit(matplot::contours&)
override {}
45 agg::trans_affine makeTransform(
double xmin,
double xmax,
double ymin,
double ymax)
const;
46 const agg::trans_affine& getTransform()
const{
return trans_;}
48 AggRenderer& renderer_;
49 double fig_w_, fig_h_;
51 const matplot::axes_type* axes_{
nullptr};
52 double xmin_{0.0}, xmax_{1.0}, ymin_{0.0}, ymax_{1.0};
53 agg::trans_affine trans_;