Added gravity.
[universe.git] / canvas_cairo.h
1
2 ////////////////////////////////////////////////////////////////////
3 // START_IP_HEADER                                                //
4 //                                                                //
5 // Written by Francois Fleuret                                    //
6 // Contact <francois.fleuret@idiap.ch> for comments & bug reports //
7 //                                                                //
8 // END_IP_HEADER                                                  //
9 ////////////////////////////////////////////////////////////////////
10
11 #ifndef CANVAS_CAIRO_H
12 #define CANVAS_CAIRO_H
13
14 #include "canvas.h"
15
16 #include <stdio.h>
17 #include <cairo.h>
18
19 class CanvasCairo : public Canvas {
20   unsigned char *_data;
21   cairo_surface_t *_image;
22   cairo_t *_context_resource;
23
24 public:
25   CanvasCairo(scalar_t scale, int width, int height);
26   ~CanvasCairo();
27
28   virtual void set_line_width(scalar_t w);
29   virtual void set_drawing_color(scalar_t r, scalar_t g, scalar_t b);
30   virtual void draw_polygon(int filled, int nb, scalar_t *x, scalar_t *y);
31   virtual void write_png(FILE *file);
32 };
33
34 #endif