GRASS 8 Programmer's Manual 8.6.0dev(2026)-1d1e47ad9d
Loading...
Searching...
No Matches
cairodriver/driver.c
Go to the documentation of this file.
1/*!
2 \file lib/cairodriver/driver.c
3
4 \brief GRASS cairo display driver - driver initialization
5
6 (C) 2007-2014 by Lars Ahlzen and the GRASS Development Team
7
8 This program is free software under the GNU General Public License
9 (>=v2). Read the file COPYING that comes with GRASS for details.
10
11 \author Lars Ahlzen <lars ahlzen.com> (original contributor)
12 \author Glynn Clements
13 */
14
15#include "cairodriver.h"
16
17/*!
18 \brief Initialize display driver
19
20 \return pointer driver structure
21 */
22const struct driver *Cairo_Driver(void)
23{
24 static struct driver drv;
25 static int initialized;
26
27 if (initialized)
28 return &drv;
29
30 drv.name = "cairo";
31 drv.Box = Cairo_Box;
32 drv.Erase = Cairo_Erase;
33 drv.Graph_set = Cairo_Graph_set;
34 drv.Graph_get_file = Cairo_Graph_get_file;
35 drv.Graph_close = Cairo_Graph_close;
36 drv.Line_width = Cairo_Line_width;
37 drv.Set_window = Cairo_Set_window;
38 drv.Begin_raster = Cairo_begin_raster;
39 drv.Raster = Cairo_raster;
40 drv.End_raster = Cairo_end_raster;
41 drv.Begin = Cairo_Begin;
42 drv.Move = Cairo_Move;
43 drv.Cont = Cairo_Cont;
44 drv.Close = Cairo_Close;
45 drv.Stroke = Cairo_Stroke;
46 drv.Fill = Cairo_Fill;
47 drv.Point = Cairo_Point;
48 drv.Color = Cairo_Color;
49 drv.Bitmap = Cairo_Bitmap;
50 drv.Text = Cairo_Text;
51 drv.Text_box = Cairo_text_box;
52 drv.Set_font = Cairo_set_font;
53 drv.Font_list = Cairo_font_list;
54 drv.Font_info = Cairo_font_info;
55
56 initialized = 1;
57
58 return &drv;
59}
void Cairo_Box(double x1, double y1, double x2, double y2)
Draw a (filled) rectangle.
const struct driver * Cairo_Driver(void)
Initialize display driver.
GRASS cairo display driver - header file.
void Cairo_Point(double, double)
void Cairo_Color(int, int, int)
Set source color (opaque)
const char * Cairo_Graph_get_file(void)
Get render file.
void Cairo_Begin(void)
void Cairo_Erase(void)
Erase screen.
void Cairo_Move(double, double)
void Cairo_Close(void)
void Cairo_Stroke(void)
int Cairo_raster(int, int, const unsigned char *, const unsigned char *, const unsigned char *, const unsigned char *)
Draw raster row.
void Cairo_Fill(void)
void Cairo_font_info(char ***, int *)
Get fonts into.
void Cairo_Line_width(double)
Set line width.
void Cairo_font_list(char ***, int *)
Get list of fonts.
void Cairo_Cont(double, double)
void Cairo_end_raster(void)
Finish drawing raster.
void Cairo_set_font(const char *)
Set font.
int Cairo_Graph_set(void)
Initialize driver.
void Cairo_Graph_close(void)
Close driver.
void Cairo_Text(const char *)
Draw text.
void Cairo_begin_raster(int, int[2][2], double[2][2])
Start drawing raster.
void Cairo_Bitmap(int, int, int, const unsigned char *)
Draw bitmap.
void Cairo_Set_window(double, double, double, double)
Set window.
void Cairo_text_box(const char *, double *, double *, double *, double *)
AMI_err name(char **stream_name)
Definition ami_stream.h:426