Cleaned up a bit. SimpleWindow now embed the cairo fields to allow proper deallocatio...
[universe.git] / polygon.h
index 87181e0..46eda3e 100644 (file)
--- a/polygon.h
+++ b/polygon.h
@@ -9,6 +9,10 @@
 #include "simple_window.h"
 #include "xfig_tracer.h"
 
+#ifdef CAIRO_SUPPORT
+#include <cairo.h>
+#endif
+
 class Polygon {
   struct Triangle {
     int a, b, c;
@@ -66,9 +70,17 @@ public:
 
   Polygon *clone();
 
-  void print_fig(XFigTracer *tracer);
+  void color_xfig(XFigTracer *tracer);
+  void print_xfig(XFigTracer *tracer);
+
   void draw(SimpleWindow *window);
   void draw_contours(SimpleWindow *window);
+
+#ifdef CAIRO_SUPPORT
+  void draw(cairo_t* context_resource);
+  void draw_contours(cairo_t* context_resource);
+#endif
+
   void set_vertex(int k, scalar_t x, scalar_t y);
   void set_position(scalar_t center_x, scalar_t center_y, scalar_t theta);
   void set_speed(scalar_t dcenter_x, scalar_t dcenter_y, scalar_t dtheta);