26#if defined(AST_WITH_AGG) && defined(AST_WITH_MATPLOT)
27#include <matplot/backend/backend_interface.h>
43class AST_PLOT_API AggBackend :
public matplot::backend::backend_interface {
46 virtual ~AggBackend()
override;
50 bool consumes_gnuplot_commands()
override;
51 bool is_interactive()
override;
53 const std::string& output()
override;
54 const std::string& output_format()
override;
55 bool output(
const std::string& filename)
override;
56 bool output(
const std::string& filename,
57 const std::string& file_format)
override;
59 unsigned int width()
override;
60 unsigned int height()
override;
61 void width(
unsigned int new_width)
override;
62 void height(
unsigned int new_height)
override;
64 unsigned int position_x()
override;
65 unsigned int position_y()
override;
66 void position_x(
unsigned int new_position_x)
override;
67 void position_y(
unsigned int new_position_y)
override;
69 void window_title(
const std::string& title)
override;
70 std::string window_title()
override;
72 bool new_frame()
override;
73 bool render_data()
override;
74 void show(matplot::figure_type* f)
override;
75 bool should_close()
override;
76 bool supports_fonts()
override;
78 void draw(matplot::figure_type* f)
override;
82 std::unique_ptr<Impl> impl_;