GRASS 8 Programmer's Manual 8.6.0dev(2026)-55de52a352
Loading...
Searching...
No Matches
pngdriver.h
Go to the documentation of this file.
1/*!
2 \file lib/pngdriver/pngdriver.h
3
4 \brief GRASS png display driver - header file
5
6 SPDX-FileCopyrightText: 2007-2014 Glynn Clements
7 SPDX-FileCopyrightText: GRASS Development Team
8 SPDX-License-Identifier: GPL-2.0-or-later
9
10 \author Glynn Clements
11 */
12
13#ifndef __PNGDRIVER_H__
14#define __PNGDRIVER_H__
15
16#include <stdio.h>
17
18#ifdef _WIN32
19#include <windows.h>
20#endif
21
22#include <grass/config.h>
23#include "driver.h"
24#include "path.h"
25
26#define FILE_NAME "map.png"
27
28#define HEADER_SIZE 64
29
30struct png_state {
31 char *file_name;
35 int mapped;
36#ifdef _WIN32
37 HANDLE handle;
38#endif
39
42 unsigned int *grid;
43 unsigned char palette[256][4];
44 unsigned int background;
46
48};
49
50extern struct png_state png;
51
52extern void read_image(void);
53extern void read_ppm(void);
54extern void read_pgm(void);
55extern void read_bmp(void);
56#ifdef HAVE_PNG_H
57extern void read_png(void);
58#endif
59
60extern void write_image(void);
61extern void write_ppm(void);
62extern void write_pgm(void);
63extern void write_bmp(void);
64#ifdef HAVE_PNG_H
65extern void write_png(void);
66#endif
67
68extern void png_init_color_table(void);
69extern unsigned int png_get_color(int, int, int, int);
70extern void png_get_pixel(unsigned int, int *, int *, int *, int *);
71extern void png_draw_line(double, double, double, double);
72extern void png_polygon(struct path *);
73
74extern const struct driver *PNG_Driver(void);
75
76extern void PNG_Box(double, double, double, double);
77extern void PNG_Client_Close(void);
78extern void PNG_Erase(void);
79extern void PNG_Graph_close(void);
80extern int PNG_Graph_set(void);
81extern const char *PNG_Graph_get_file(void);
82extern void PNG_Line_width(double);
83extern void PNG_begin_raster(int, int[2][2], double[2][2]);
84extern int PNG_raster(int, int, const unsigned char *, const unsigned char *,
85 const unsigned char *, const unsigned char *);
86extern void PNG_Begin(void);
87extern void PNG_Move(double, double);
88extern void PNG_Cont(double, double);
89extern void PNG_Close(void);
90extern void PNG_Stroke(void);
91extern void PNG_Fill(void);
92extern void PNG_Point(double, double);
93extern void PNG_Set_window(double, double, double, double);
94extern void PNG_color_rgb(int, int, int);
95extern void PNG_draw_bitmap(int, int, int, const unsigned char *);
96
97#endif /* __PNGDRIVER_H__ */
void PNG_Close(void)
const struct driver * PNG_Driver(void)
Initialize display driver.
void write_pgm(void)
int PNG_raster(int, int, const unsigned char *, const unsigned char *, const unsigned char *, const unsigned char *)
Draw raster row.
void read_bmp(void)
void PNG_Begin(void)
void write_ppm(void)
void PNG_Move(double, double)
void write_bmp(void)
void PNG_Graph_close(void)
Close down the graphics processing. This gets called only at driver termination time.
void PNG_begin_raster(int, int[2][2], double[2][2])
Start drawing raster.
struct png_state png
int PNG_Graph_set(void)
Start up graphics processing.
void PNG_Point(double, double)
Draw point.
Definition point.c:19
void read_ppm(void)
void PNG_Set_window(double, double, double, double)
Set window.
void png_get_pixel(unsigned int, int *, int *, int *, int *)
void png_init_color_table(void)
Definition color_table.c:72
void write_image(void)
void PNG_Line_width(double)
Set line width.
void write_png(void)
Definition write_png.c:54
void png_polygon(struct path *)
Draw polygon.
void PNG_Cont(double, double)
void PNG_Client_Close(void)
void read_png(void)
Definition read_png.c:44
void PNG_Stroke(void)
void read_image(void)
void PNG_Box(double, double, double, double)
Draw a (filled) rectangle.
void PNG_draw_bitmap(int, int, int, const unsigned char *)
Draw bitmap.
const char * PNG_Graph_get_file(void)
Get render file.
unsigned int png_get_color(int, int, int, int)
void png_draw_line(double, double, double, double)
Definition draw_line.c:68
void PNG_Fill(void)
void PNG_Erase(void)
Erase screen.
void read_pgm(void)
void PNG_color_rgb(int, int, int)
Identify a color.
Definition path.h:15
double clip_left
Definition pngdriver.h:40
double clip_bot
Definition pngdriver.h:40
char * file_name
Definition pngdriver.h:31
int mapped
Definition pngdriver.h:35
int has_alpha
Definition pngdriver.h:34
double clip_top
Definition pngdriver.h:40
int current_color
Definition pngdriver.h:32
int true_color
Definition pngdriver.h:33
int height
Definition pngdriver.h:41
unsigned int * grid
Definition pngdriver.h:42
unsigned char palette[256][4]
Definition pngdriver.h:43
int width
Definition pngdriver.h:41
unsigned int background
Definition pngdriver.h:44
double clip_rite
Definition pngdriver.h:40
int linewidth
Definition pngdriver.h:47
int modified
Definition pngdriver.h:45