GRASS GIS 7 Programmer's Manual  7.5.svn(2017)-r71769
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cairodriver/raster.c File Reference

GRASS cairo display driver - draw raster. More...

#include <math.h>
#include "cairodriver.h"
#include <grass/glocale.h>
Include dependency graph for cairodriver/raster.c:

Go to the source code of this file.

Macros

#define MAX_IMAGE_SIZE   32767
 
#define MIN(a, b)   ((a)<(b)?(a):(b))
 
#define MAX(a, b)   ((a)>(b)?(a):(b))
 

Functions

void Cairo_begin_raster (int mask, int s[2][2], double d[2][2])
 Start drawing raster. More...
 
int Cairo_raster (int n, int row, const unsigned char *red, const unsigned char *grn, const unsigned char *blu, const unsigned char *nul)
 Draw raster row. More...
 
void Cairo_end_raster (void)
 Finish drawing raster. More...
 

Detailed Description

GRASS cairo display driver - draw raster.

(C) 2007-2014 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.

Author
Lars Ahlzen <lars ahlzen.com> (original contibutor)
Glynn Clements

Definition in file cairodriver/raster.c.

Macro Definition Documentation

#define MAX (   a,
  b 
)    ((a)>(b)?(a):(b))

Definition at line 25 of file cairodriver/raster.c.

Referenced by Cairo_raster().

#define MAX_IMAGE_SIZE   32767

Definition at line 20 of file cairodriver/raster.c.

Referenced by Cairo_begin_raster().

#define MIN (   a,
  b 
)    ((a)<(b)?(a):(b))

Definition at line 22 of file cairodriver/raster.c.

Referenced by Cairo_raster().

Function Documentation

void Cairo_begin_raster ( int  mask,
int  s[2][2],
double  d[2][2] 
)

Start drawing raster.

Todo:
are top and left swapped?
Parameters
masknon-zero int for mask
ssource (map) extent (left, right, top, bottom)
ddestination (image) extent (left, right, top, bottom)

Definition at line 76 of file cairodriver/raster.c.

References _, ca, G_debug(), G_fatal_error(), cairo_state::height, int, MAX_IMAGE_SIZE, and cairo_state::width.

Referenced by Cairo_Driver().

void Cairo_end_raster ( void  )

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().

int Cairo_raster ( int  n,
int  row,
const unsigned char *  red,
const unsigned char *  grn,
const unsigned char *  blu,
const unsigned char *  nul 
)

Draw raster row.

Parameters
nnumber of cells
rowraster row (starting at 0)
red,grn,blu,nulred,green,blue and null value
Returns
next row

Definition at line 132 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().