|
GRASS 8 Programmer's Manual 8.5.0(2026)-8d6ceba290
|
GRASS cairo display driver - header file. More...
#include <grass/config.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <cairo.h>#include <grass/gis.h>#include "driver.h"#include "driverlib.h"

Go to the source code of this file.
Data Structures | |
| struct | cairo_state |
Macros | |
| #define | CAIRO_HAS_XLIB_XRENDER_SURFACE 0 |
| #define | DEFAULT_FILE_NAME "map.png" |
| #define | HEADER_SIZE 64 |
| #define | COLORSCALE (1.0 / 255.0) |
| #define | CAIROCOLOR(a) |
| #define | FTYPE_UNKNOWN 0 |
| #define | FTYPE_PPM 1 |
| #define | FTYPE_BMP 2 |
| #define | FTYPE_PNG 3 |
| #define | FTYPE_PDF 4 |
| #define | FTYPE_PS 5 |
| #define | FTYPE_SVG 6 |
| #define | FTYPE_X11 7 |
Functions | |
| const struct driver * | Cairo_Driver (void) |
| Initialize display driver. | |
| void | Cairo_Client_Close (void) |
| int | Cairo_Graph_set (void) |
| Initialize driver. | |
| const char * | Cairo_Graph_get_file (void) |
| Get render file. | |
| void | Cairo_Graph_close (void) |
| Close driver. | |
| void | Cairo_Box (double, double, double, double) |
| Draw a (filled) rectangle. | |
| void | Cairo_Set_window (double, double, double, double) |
| Set window. | |
| void | Cairo_Bitmap (int, int, int, const unsigned char *) |
| Draw bitmap. | |
| void | Cairo_Color (int, int, int) |
| Set source color (opaque). | |
| void | Cairo_Erase (void) |
| Erase screen. | |
| void | Cairo_begin_raster (int, int[2][2], double[2][2]) |
| Start drawing raster. | |
| int | Cairo_raster (int, int, const unsigned char *, const unsigned char *, const unsigned char *, const unsigned char *) |
| Draw raster row. | |
| void | Cairo_end_raster (void) |
| Finish drawing raster. | |
| void | Cairo_Begin (void) |
| void | Cairo_Move (double, double) |
| void | Cairo_Cont (double, double) |
| void | Cairo_Close (void) |
| void | Cairo_Stroke (void) |
| void | Cairo_Fill (void) |
| void | Cairo_Point (double, double) |
| void | Cairo_Line_width (double) |
| Set line width. | |
| void | Cairo_Text (const char *) |
| Draw text. | |
| void | Cairo_text_box (const char *, double *, double *, double *, double *) |
| void | Cairo_set_font (const char *) |
| Set font. | |
| void | Cairo_font_list (char ***, int *) |
| Get list of fonts. | |
| void | Cairo_font_info (char ***, int *) |
| Get fonts into. | |
| void | cairo_read_image (void) |
| void | cairo_read_ppm (void) |
| void | cairo_read_bmp (void) |
| void | cairo_read_xid (void) |
| void | cairo_write_image (void) |
| void | cairo_write_ppm (void) |
| void | cairo_write_bmp (void) |
| void | cairo_write_xid (void) |
Variables | |
| cairo_surface_t * | surface |
| cairo_t * | cairo |
| struct cairo_state | ca |
GRASS cairo display driver - header file.
(C) 2007-2008 by Lars Ahlzen and the GRASS Development Team
This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.
Definition in file cairodriver.h.
| #define CAIRO_HAS_XLIB_XRENDER_SURFACE 0 |
Definition at line 29 of file cairodriver.h.
| #define CAIROCOLOR | ( | a | ) |
Definition at line 50 of file cairodriver.h.
Referenced by Cairo_Color(), and Cairo_Graph_set().
| #define COLORSCALE (1.0 / 255.0) |
Definition at line 49 of file cairodriver.h.
| #define DEFAULT_FILE_NAME "map.png" |
Definition at line 44 of file cairodriver.h.
| #define FTYPE_BMP 2 |
Definition at line 55 of file cairodriver.h.
Referenced by cairo_read_image(), and cairo_write_image().
| #define FTYPE_PDF 4 |
Definition at line 57 of file cairodriver.h.
| #define FTYPE_PNG 3 |
Definition at line 56 of file cairodriver.h.
Referenced by cairo_read_image(), and cairo_write_image().
| #define FTYPE_PPM 1 |
Definition at line 54 of file cairodriver.h.
Referenced by cairo_read_image(), and cairo_write_image().
| #define FTYPE_PS 5 |
Definition at line 58 of file cairodriver.h.
| #define FTYPE_SVG 6 |
Definition at line 59 of file cairodriver.h.
| #define FTYPE_UNKNOWN 0 |
Definition at line 53 of file cairodriver.h.
| #define FTYPE_X11 7 |
Definition at line 60 of file cairodriver.h.
Referenced by Cairo_Graph_close(), cairo_read_image(), and cairo_write_image().
| #define HEADER_SIZE 64 |
Definition at line 46 of file cairodriver.h.
Referenced by cairo_read_bmp(), cairo_write_bmp(), read_bmp(), and write_bmp().
|
extern |
Definition at line 17 of file cairodriver/draw.c.
References cairo, and Cairo_Begin().
Referenced by Cairo_Begin(), Cairo_Client_Close(), and Cairo_Driver().
|
extern |
Start drawing raster.
| mask | non-zero int for mask |
| s | source (map) extent (left, right, top, bottom) |
| d | destination (image) extent (left, right, top, bottom) |
Definition at line 71 of file cairodriver/raster.c.
References ca, Cairo_begin_raster(), G_debug(), G_fatal_error(), cairo_state::height, MAX_IMAGE_SIZE, and cairo_state::width.
Referenced by Cairo_begin_raster(), Cairo_Client_Close(), and Cairo_Driver().
|
extern |
Draw bitmap.
| ncols,nrows | number of columns and rows |
| threshold | threshold value |
| buf | data buffer |
Definition at line 26 of file cairodriver/draw_bitmap.c.
References ca, cairo, Cairo_Bitmap(), cur_x, cur_y, G_debug(), G_fatal_error(), and cairo_state::modified.
Referenced by Cairo_Bitmap(), Cairo_Client_Close(), and Cairo_Driver().
|
extern |
Draw a (filled) rectangle.
| x1,y1,x2,y2 | rectangle coordinates |
Definition at line 22 of file cairodriver/box.c.
References ca, cairo, Cairo_Box(), G_debug(), and cairo_state::modified.
Referenced by Cairo_Box(), Cairo_Client_Close(), and Cairo_Driver().
|
extern |
References Cairo_Begin(), Cairo_begin_raster(), Cairo_Bitmap(), Cairo_Box(), Cairo_Client_Close(), Cairo_Close(), Cairo_Color(), Cairo_Cont(), Cairo_end_raster(), Cairo_Erase(), Cairo_Fill(), Cairo_font_info(), Cairo_font_list(), Cairo_Graph_close(), Cairo_Graph_get_file(), Cairo_Graph_set(), Cairo_Line_width(), Cairo_Move(), Cairo_Point(), Cairo_raster(), cairo_read_bmp(), cairo_read_image(), cairo_read_ppm(), cairo_read_xid(), Cairo_set_font(), Cairo_Set_window(), Cairo_Stroke(), Cairo_Text(), Cairo_text_box(), cairo_write_bmp(), cairo_write_image(), cairo_write_ppm(), and cairo_write_xid().
Referenced by Cairo_Client_Close().
|
extern |
Definition at line 32 of file cairodriver/draw.c.
References cairo, and Cairo_Close().
Referenced by Cairo_Client_Close(), Cairo_Close(), and Cairo_Driver().
|
extern |
Set source color (opaque).
This color will then be used for any subsequent drawing operation until a new source pattern is set.
| r | red color value |
| g | green color value |
| b | blue color value |
Definition at line 27 of file cairodriver/color.c.
References cairo, Cairo_Color(), CAIROCOLOR, and G_debug().
Referenced by Cairo_Client_Close(), Cairo_Color(), and Cairo_Driver().
|
extern |
Definition at line 27 of file cairodriver/draw.c.
References cairo, Cairo_Cont(), and x.
Referenced by Cairo_Client_Close(), Cairo_Cont(), and Cairo_Driver().
|
extern |
Initialize display driver.
Definition at line 22 of file cairodriver/driver.c.
References driver::Begin, driver::Begin_raster, driver::Bitmap, driver::Box, Cairo_Begin(), Cairo_begin_raster(), Cairo_Bitmap(), Cairo_Box(), Cairo_Close(), Cairo_Color(), Cairo_Cont(), Cairo_Driver(), Cairo_end_raster(), Cairo_Erase(), Cairo_Fill(), Cairo_font_info(), Cairo_font_list(), Cairo_Graph_close(), Cairo_Graph_get_file(), Cairo_Graph_set(), Cairo_Line_width(), Cairo_Move(), Cairo_Point(), Cairo_raster(), Cairo_set_font(), Cairo_Set_window(), Cairo_Stroke(), Cairo_Text(), Cairo_text_box(), driver::Close, driver::Color, driver::Cont, driver::End_raster, driver::Erase, driver::Fill, driver::Font_info, driver::Font_list, driver::Graph_close, driver::Graph_get_file, driver::Graph_set, driver::Line_width, driver::Move, driver::name, driver::Point, driver::Raster, driver::Set_font, driver::Set_window, driver::Stroke, driver::Text, and driver::Text_box.
Referenced by Cairo_Driver().
|
extern |
Finish drawing raster.
Definition at line 180 of file cairodriver/raster.c.
References ca, cairo, Cairo_end_raster(), G_debug(), G_free(), and cairo_state::modified.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_end_raster().
|
extern |
Erase screen.
Definition at line 20 of file cairodriver/erase.c.
References cairo_state::bgcolor_a, cairo_state::bgcolor_b, cairo_state::bgcolor_g, cairo_state::bgcolor_r, ca, cairo, Cairo_Erase(), G_debug(), and cairo_state::modified.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Erase().
|
extern |
Definition at line 43 of file cairodriver/draw.c.
References ca, cairo, Cairo_Fill(), and cairo_state::modified.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Fill().
|
extern |
Get fonts into.
| [out] | list | font list |
| [out] | count | number of items in the list |
Definition at line 338 of file cairodriver/text.c.
References Cairo_font_info(), count, and list.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_font_info().
|
extern |
Get list of fonts.
| [out] | list | font list |
| [out] | count | number of items in the list |
Definition at line 324 of file cairodriver/text.c.
References Cairo_font_list(), count, and list.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_font_list().
|
extern |
Close driver.
Definition at line 302 of file cairodriver/graph.c.
References ca, cairo, Cairo_Graph_close(), cairo_write_image(), cairo_state::file_type, FTYPE_X11, G_debug(), cairo_state::mapped, NULL, and surface.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Graph_close().
|
extern |
Get render file.
Definition at line 294 of file cairodriver/graph.c.
References ca, Cairo_Graph_get_file(), and cairo_state::file_name.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Graph_get_file().
|
extern |
Initialize driver.
Set background color, transparency, drawable, antialias mode, etc.
Definition at line 237 of file cairodriver/graph.c.
References cairo_state::bgcolor_a, cairo_state::bgcolor_b, cairo_state::bgcolor_g, cairo_state::bgcolor_r, ca, cairo, Cairo_Graph_set(), CAIROCOLOR, G_debug(), G_fatal_error(), G_str_to_color(), and G_strcasecmp().
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Graph_set().
|
extern |
Set line width.
| width | line width (double precision) |
Definition at line 27 of file cairodriver/line_width.c.
References cairo, Cairo_Line_width(), G_debug(), MAX, and MIN_WIDTH.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Line_width().
|
extern |
Definition at line 22 of file cairodriver/draw.c.
References cairo, Cairo_Move(), and x.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Move().
|
extern |
Definition at line 49 of file cairodriver/draw.c.
References ca, cairo, Cairo_Point(), cairo_state::modified, and x.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Point().
|
extern |
Draw raster row.
| n | number of cells |
| row | raster row (starting at 0) |
| red,grn,blu,nul | red,green,blue and null value |
Definition at line 130 of file cairodriver/raster.c.
References ca, Cairo_raster(), G_debug(), cairo_state::height, MAX, MIN, cairo_state::modified, cairo_state::width, and x.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_raster().
|
extern |
Definition at line 82 of file cairodriver/read_bmp.c.
References ca, cairo_read_bmp(), cairo_state::file_name, G_fatal_error(), cairo_state::grid, HEADER_SIZE, cairo_state::height, and cairo_state::stride.
Referenced by Cairo_Client_Close(), cairo_read_bmp(), and cairo_read_image().
|
extern |
Definition at line 17 of file cairodriver/read.c.
References ca, cairo, cairo_read_bmp(), cairo_read_image(), cairo_read_ppm(), cairo_read_xid(), cairo_state::file_name, cairo_state::file_type, FTYPE_BMP, FTYPE_PNG, FTYPE_PPM, FTYPE_X11, G_debug(), cairo_state::modified, and surface.
Referenced by Cairo_Client_Close(), and cairo_read_image().
|
extern |
Definition at line 19 of file cairodriver/read_ppm.c.
References ca, cairo_read_ppm(), cairo_state::file_name, G_fatal_error(), G_free(), G_store(), cairo_state::grid, cairo_state::height, cairo_state::stride, cairo_state::width, and x.
Referenced by Cairo_Client_Close(), cairo_read_image(), and cairo_read_ppm().
|
extern |
Definition at line 5 of file read_xid.c.
References ca, cairo_read_xid(), cairo_state::file_name, and G_fatal_error().
Referenced by Cairo_Client_Close(), cairo_read_image(), and cairo_read_xid().
|
extern |
Set font.
| name | font name |
Definition at line 283 of file cairodriver/text.c.
References Cairo_set_font().
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_set_font().
|
extern |
Set window.
| t,b,l,r | top, bottom, left, right |
Definition at line 22 of file cairodriver/set_window.c.
References cairo, Cairo_Set_window(), and G_debug().
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Set_window().
|
extern |
Definition at line 37 of file cairodriver/draw.c.
References ca, cairo, Cairo_Stroke(), and cairo_state::modified.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Stroke().
|
extern |
Draw text.
| str | string to be drawn |
Definition at line 110 of file cairodriver/text.c.
References ca, cairo, Cairo_Text(), cur_x, cur_y, G_free(), and cairo_state::modified.
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_Text().
|
extern |
Definition at line 133 of file cairodriver/text.c.
References cairo, Cairo_text_box(), cur_x, cur_y, and G_free().
Referenced by Cairo_Client_Close(), Cairo_Driver(), and Cairo_text_box().
|
extern |
Definition at line 65 of file cairodriver/write_bmp.c.
References ca, cairo_write_bmp(), cairo_state::file_name, G_fatal_error(), cairo_state::grid, HEADER_SIZE, cairo_state::height, output(), and cairo_state::stride.
Referenced by Cairo_Client_Close(), cairo_write_bmp(), and cairo_write_image().
|
extern |
Definition at line 17 of file cairodriver/write.c.
References ca, cairo, cairo_write_bmp(), cairo_write_image(), cairo_write_ppm(), cairo_write_xid(), cairo_state::file_name, cairo_state::file_type, FTYPE_BMP, FTYPE_PNG, FTYPE_PPM, FTYPE_X11, G_debug(), cairo_state::mapped, cairo_state::modified, and surface.
Referenced by Cairo_Client_Close(), Cairo_Graph_close(), and cairo_write_image().
|
extern |
Definition at line 19 of file cairodriver/write_ppm.c.
References ca, cairo_write_ppm(), cairo_state::file_name, G_fatal_error(), G_free(), G_store(), cairo_state::grid, cairo_state::height, output(), cairo_state::stride, cairo_state::width, and x.
Referenced by Cairo_Client_Close(), cairo_write_image(), and cairo_write_ppm().
|
extern |
Definition at line 5 of file write_xid.c.
References ca, cairo_write_xid(), cairo_state::file_name, and G_fatal_error().
Referenced by Cairo_Client_Close(), cairo_write_image(), and cairo_write_xid().
|
extern |
Definition at line 42 of file cairodriver/graph.c.
Referenced by Cairo_begin_raster(), Cairo_Bitmap(), Cairo_Box(), Cairo_end_raster(), Cairo_Erase(), Cairo_Fill(), Cairo_Graph_close(), Cairo_Graph_get_file(), Cairo_Graph_set(), Cairo_Point(), Cairo_raster(), cairo_read_bmp(), cairo_read_image(), cairo_read_ppm(), cairo_read_xid(), Cairo_Stroke(), Cairo_Text(), cairo_write_bmp(), cairo_write_image(), cairo_write_ppm(), and cairo_write_xid().
|
extern |
Definition at line 46 of file cairodriver/graph.c.
Referenced by Cairo_Begin(), Cairo_Bitmap(), Cairo_Box(), Cairo_Close(), Cairo_Color(), Cairo_Cont(), Cairo_end_raster(), Cairo_Erase(), Cairo_Fill(), Cairo_Graph_close(), Cairo_Graph_set(), Cairo_Line_width(), Cairo_Move(), Cairo_Point(), cairo_read_image(), Cairo_Set_window(), Cairo_Stroke(), Cairo_Text(), Cairo_text_box(), and cairo_write_image().
|
extern |
Definition at line 45 of file cairodriver/graph.c.
Referenced by Cairo_Graph_close(), cairo_read_image(), and cairo_write_image().