GRASS GIS 8 Programmer's Manual 8.3.2(2024)-exported
|
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) (((double)(a)) * COLORSCALE) |
#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 | ) | (((double)(a)) * COLORSCALE) |
Definition at line 50 of file cairodriver.h.
#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.
#define FTYPE_PDF 4 |
Definition at line 57 of file cairodriver.h.
#define FTYPE_PNG 3 |
Definition at line 56 of file cairodriver.h.
#define FTYPE_PPM 1 |
Definition at line 54 of file cairodriver.h.
#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.
#define HEADER_SIZE 64 |
Definition at line 46 of file cairodriver.h.
|
extern |
|
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, G_debug(), G_fatal_error(), cairo_state::height, MAX_IMAGE_SIZE, and cairo_state::width.
Referenced by 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, cur_x, cur_y, G_debug(), G_fatal_error(), and cairo_state::modified.
Referenced by 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, G_debug(), and cairo_state::modified.
Referenced by Cairo_Driver().
|
extern |
|
extern |
|
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 b, cairo, CAIROCOLOR, g, G_debug(), and r.
Referenced by Cairo_Driver().
|
extern |
Definition at line 27 of file cairodriver/draw.c.
Referenced by 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_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.
|
extern |
Finish drawing raster.
Definition at line 180 of file cairodriver/raster.c.
References ca, cairo, G_debug(), G_free(), and cairo_state::modified.
Referenced by Cairo_Driver().
|
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, G_debug(), and cairo_state::modified.
Referenced by Cairo_Driver().
|
extern |
Definition at line 43 of file cairodriver/draw.c.
References ca, cairo, and cairo_state::modified.
Referenced by Cairo_Driver().
|
extern |
Get fonts into.
[out] | list | font list |
[out] | count | number of items in the list |
Definition at line 335 of file cairodriver/text.c.
Referenced by Cairo_Driver().
|
extern |
Get list of fonts.
[out] | list | font list |
[out] | count | number of items in the list |
Definition at line 321 of file cairodriver/text.c.
Referenced by Cairo_Driver().
|
extern |
Close driver.
Definition at line 302 of file cairodriver/graph.c.
References ca, cairo, cairo_write_image(), cairo_state::file_type, FTYPE_X11, G_debug(), cairo_state::mapped, NULL, and surface.
Referenced by Cairo_Driver().
|
extern |
Get render file.
Definition at line 294 of file cairodriver/graph.c.
References ca, and cairo_state::file_name.
Referenced by Cairo_Driver().
|
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, CAIROCOLOR, G_debug(), G_fatal_error(), G_str_to_color(), and G_strcasecmp().
Referenced by Cairo_Driver().
|
extern |
Set line width.
width | line width (double precision) |
Definition at line 27 of file cairodriver/line_width.c.
References cairo, G_debug(), MAX, and MIN_WIDTH.
Referenced by Cairo_Driver().
|
extern |
Definition at line 22 of file cairodriver/draw.c.
Referenced by Cairo_Driver().
|
extern |
Definition at line 49 of file cairodriver/draw.c.
References ca, cairo, cairo_state::modified, and x.
Referenced by Cairo_Driver().
|
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 b, ca, g, G_debug(), cairo_state::height, MAX, MIN, cairo_state::modified, r, cairo_state::width, and x.
Referenced by Cairo_Driver().
|
extern |
Definition at line 82 of file cairodriver/read_bmp.c.
References ca, cairo_state::file_name, G_fatal_error(), cairo_state::grid, HEADER_SIZE, cairo_state::height, and cairo_state::stride.
Referenced by cairo_read_image().
|
extern |
Definition at line 17 of file cairodriver/read.c.
References ca, cairo, cairo_read_bmp(), 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.
|
extern |
Definition at line 19 of file cairodriver/read_ppm.c.
References b, ca, cairo_state::file_name, g, G_fatal_error(), G_free(), G_store(), cairo_state::grid, cairo_state::height, r, cairo_state::stride, cairo_state::width, and x.
Referenced by cairo_read_image().
|
extern |
Definition at line 5 of file read_xid.c.
References ca, cairo_state::file_name, and G_fatal_error().
Referenced by cairo_read_image().
|
extern |
Set font.
name | font name |
Definition at line 280 of file cairodriver/text.c.
References name.
Referenced by Cairo_Driver().
|
extern |
Set window.
t,b,l,r | top, bottom, left, right |
Definition at line 22 of file cairodriver/set_window.c.
References b, cairo, G_debug(), l, r, and t.
Referenced by Cairo_Driver().
|
extern |
Definition at line 37 of file cairodriver/draw.c.
References ca, cairo, and cairo_state::modified.
Referenced by Cairo_Driver().
|
extern |
Draw text.
str | string to be drawn |
Definition at line 107 of file cairodriver/text.c.
References ca, cairo, cur_x, cur_y, G_free(), and cairo_state::modified.
Referenced by Cairo_Driver().
|
extern |
|
extern |
Definition at line 65 of file cairodriver/write_bmp.c.
References ca, cairo_state::file_name, G_fatal_error(), cairo_state::grid, HEADER_SIZE, cairo_state::height, output(), and cairo_state::stride.
Referenced by cairo_write_image().
|
extern |
Definition at line 17 of file cairodriver/write.c.
References ca, cairo, cairo_write_bmp(), 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_Graph_close().
|
extern |
Definition at line 19 of file cairodriver/write_ppm.c.
References b, ca, cairo_state::file_name, g, G_fatal_error(), G_free(), G_store(), cairo_state::grid, cairo_state::height, output(), r, cairo_state::stride, cairo_state::width, and x.
Referenced by cairo_write_image().
|
extern |
Definition at line 5 of file write_xid.c.
References ca, cairo_state::file_name, and G_fatal_error().
Referenced by cairo_write_image().
|
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().