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