12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /*!
- \file lib/pngdriver/pngdriver.h
- \brief GRASS png display driver - header file
- (C) 2007-2014 by Glynn Clements 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 Glynn Clements
- */
- #ifndef __PNGDRIVER_H__
- #define __PNGDRIVER_H__
- #include <stdio.h>
- #ifdef __MINGW32__
- #include <windows.h>
- #endif
- #include <grass/config.h>
- #include "driver.h"
- #include "path.h"
- #define FILE_NAME "map.png"
- #define HEADER_SIZE 64
- struct png_state
- {
- char *file_name;
- int current_color;
- int true_color;
- int has_alpha;
- int mapped;
- #ifdef __MINGW32__
- HANDLE handle;
- #endif
- double clip_top, clip_bot, clip_left, clip_rite;
- int width, height;
- unsigned int *grid;
- unsigned char palette[256][4];
- unsigned int background;
- int modified;
- int linewidth;
- };
- extern struct png_state png;
- extern void read_image(void);
- extern void read_ppm(void);
- extern void read_pgm(void);
- extern void read_bmp(void);
- extern void read_png(void);
- extern void write_image(void);
- extern void write_ppm(void);
- extern void write_pgm(void);
- extern void write_bmp(void);
- extern void write_png(void);
- extern void png_init_color_table(void);
- extern unsigned int png_get_color(int, int, int, int);
- extern void png_get_pixel(unsigned int, int *, int *, int *, int *);
- extern void png_draw_line(double, double, double, double);
- extern void png_polygon(struct path *);
- extern const struct driver *PNG_Driver(void);
- extern void PNG_Box(double, double, double, double);
- extern void PNG_Client_Close(void);
- extern void PNG_Erase(void);
- extern void PNG_Graph_close(void);
- extern int PNG_Graph_set(void);
- extern const char *PNG_Graph_get_file(void);
- extern void PNG_Line_width(double);
- extern void PNG_begin_raster(int, int[2][2], double[2][2]);
- extern int PNG_raster(int, int, const unsigned char *,
- const unsigned char *, const unsigned char *,
- const unsigned char *);
- extern void PNG_Begin(void);
- extern void PNG_Move(double, double);
- extern void PNG_Cont(double, double);
- extern void PNG_Close(void);
- extern void PNG_Stroke(void);
- extern void PNG_Fill(void);
- extern void PNG_Point(double, double);
- extern void PNG_Set_window(double, double, double, double);
- extern void PNG_color_rgb(int, int, int);
- extern void PNG_draw_bitmap(int, int, int, const unsigned char *);
- #endif /* __PNGDRIVER_H__ */
|