-////////////////////////////////////////////////////////////////////////////////
-// This program is free software; you can redistribute it and/or //
-// modify it under the terms of the GNU General Public License //
-// version 2 as published by the Free Software Foundation. //
-// //
-// This program is distributed in the hope that it will be useful, but //
-// WITHOUT ANY WARRANTY; without even the implied warranty of //
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-// General Public License for more details. //
-// //
-// Written and (C) by François Fleuret //
-// Contact <francois.fleuret@epfl.ch> for comments & bug reports //
-////////////////////////////////////////////////////////////////////////////////
+// Written and (C) by Francois Fleuret
+// Contact <francois.fleuret@idiap.ch> for comments & bug reports
#ifndef POLYGON_H
#define POLYGON_H
#include "misc.h"
+#include "canvas.h"
+
+#include "xfig_tracer.h"
+
+#ifdef X11_SUPPORT
#include "simple_window.h"
+#endif
class Polygon {
struct Triangle {
Polygon *clone();
- void print_fig(ostream &os);
+ void color_xfig(XFigTracer *tracer);
+ void print_xfig(XFigTracer *tracer);
+
+#ifdef X11_SUPPORT
void draw(SimpleWindow *window);
void draw_contours(SimpleWindow *window);
+#endif
+
+ void draw(Canvas *canvas);
+ void draw_contours(Canvas *canvas);
+
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);