GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
cairodriver.h
Go to the documentation of this file.
1 #ifndef __CAIRODRIVER_H__
2 #define __CAIRODRIVER_H__
3 
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <string.h>
7 
8 #include <cairo.h>
9 
10 #include <grass/config.h>
11 #include <grass/gis.h>
12 
13 #include "driver.h"
14 
15 #define DEFAULT_FILE_NAME "map.png"
16 
17 #define HEADER_SIZE 64
18 
19 /* Scale for converting colors from [0..255] to cairo's [0.0..1.0] */
20 #define COLORSCALE (1.0/255.0)
21 #define CAIROCOLOR(a) (((double)(a))*COLORSCALE)
22 
23 /* File types */
24 #define FTYPE_UNKNOWN 0
25 #define FTYPE_PPM 1
26 #define FTYPE_BMP 2
27 #define FTYPE_PNG 3
28 #define FTYPE_PDF 4
29 #define FTYPE_PS 5
30 #define FTYPE_SVG 6
31 #define FTYPE_X11 7
32 
33 extern cairo_surface_t *surface;
34 extern cairo_t *cairo;
35 
36 extern char *file_name;
37 extern int file_type;
38 extern int width, height, stride;
39 extern unsigned char *grid;
41 extern int auto_write;
42 extern double bgcolor_r, bgcolor_g, bgcolor_b, bgcolor_a;
43 extern int modified;
44 extern int auto_write;
45 extern int mapped;
46 
47 extern const struct driver *Cairo_Driver(void);
48 
49 extern void Cairo_Client_Close(void);
50 extern int Cairo_Graph_set(int, char **);
51 extern void Cairo_Graph_close(void);
52 extern void Cairo_Box_abs(int, int, int, int);
53 extern void Cairo_Set_window(int, int, int, int);
54 extern void Cairo_draw_line(int, int, int, int);
55 extern void Cairo_draw_bitmap(int, int, int, const unsigned char *);
56 extern void Cairo_draw_point(int, int);
57 extern void Cairo_color(int);
58 extern int Cairo_lookup_color(int, int, int);
59 extern void Cairo_Erase(void);
60 extern void Cairo_begin_scaled_raster(int, int[2][2], int[2][2]);
61 extern int Cairo_scaled_raster(int, int,
62  const unsigned char *, const unsigned char *,
63  const unsigned char *, const unsigned char *);
64 extern void Cairo_end_scaled_raster(void);
65 extern void Cairo_Line_width(int);
66 extern void Cairo_Polygon_abs(const int *, const int *, int);
67 extern void Cairo_Polyline_abs(const int *, const int *, int);
68 extern void Cairo_Respond(void);
69 
70 /* read.c */
71 extern void read_image(void);
72 extern void read_ppm(void);
73 extern void read_bmp(void);
74 
75 /* write.c */
76 extern void write_image(void);
77 extern void write_ppm(void);
78 extern void write_bmp(void);
79 
80 #endif /* __CAIRODRIVER_H__ */
void Cairo_Polygon_abs(const int *, const int *, int)
Definition: Poly.c:12
int clip_bottom
void Cairo_Graph_close(void)
int modified
void Cairo_Polyline_abs(const int *, const int *, int)
Definition: Poly.c:19
tuple width
void write_bmp(void)
void Cairo_Respond(void)
double bgcolor_r
void Cairo_begin_scaled_raster(int, int[2][2], int[2][2])
unsigned char * grid
void Cairo_Set_window(int, int, int, int)
int stride
double bgcolor_g
int Cairo_lookup_color(int, int, int)
int clip_top
double bgcolor_b
void write_image(void)
double bgcolor_a
void Cairo_Client_Close(void)
void write_ppm(void)
char * file_name
cairo_t * cairo
tuple surface
Definition: tools.py:1397
void Cairo_draw_point(int, int)
int auto_write
Definition: cairodriver.h:44
void Cairo_Box_abs(int x1, int y1, int x2, int y2)
void Cairo_color(int)
int clip_left
int Cairo_scaled_raster(int, int, const unsigned char *, const unsigned char *, const unsigned char *, const unsigned char *)
void Cairo_end_scaled_raster(void)
int clip_right
Definition: driver.h:25
int mapped
void read_ppm(void)
void Cairo_draw_line(int, int, int, int)
void Cairo_draw_bitmap(int, int, int, const unsigned char *)
Draw bitmap.
int file_type
void Cairo_Erase(void)
int height
struct driver * Cairo_Driver(void)
int Cairo_Graph_set(int, char **)
void Cairo_Line_width(int)
void read_image(void)
void read_bmp(void)