pngdriver.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #ifndef __PNGDRIVER_H__
  2. #define __PNGDRIVER_H__
  3. #include <stdio.h>
  4. #include <grass/config.h>
  5. #include "driver.h"
  6. #include "path.h"
  7. #define FILE_NAME "map.png"
  8. #define HEADER_SIZE 64
  9. struct png_state
  10. {
  11. char *file_name;
  12. int current_color;
  13. int true_color;
  14. int has_alpha;
  15. int mapped;
  16. double clip_top, clip_bot, clip_left, clip_rite;
  17. int width, height;
  18. unsigned int *grid;
  19. unsigned char palette[256][4];
  20. unsigned int background;
  21. int modified;
  22. int linewidth;
  23. };
  24. extern struct png_state png;
  25. extern void read_image(void);
  26. extern void read_ppm(void);
  27. extern void read_pgm(void);
  28. extern void read_bmp(void);
  29. extern void read_png(void);
  30. extern void write_image(void);
  31. extern void write_ppm(void);
  32. extern void write_pgm(void);
  33. extern void write_bmp(void);
  34. extern void write_png(void);
  35. extern void png_init_color_table(void);
  36. extern unsigned int png_get_color(int, int, int, int);
  37. extern void png_get_pixel(unsigned int, int *, int *, int *, int *);
  38. extern void png_draw_line(double, double, double, double);
  39. extern void png_polygon(struct path *);
  40. extern const struct driver *PNG_Driver(void);
  41. extern void PNG_Box(double, double, double, double);
  42. extern void PNG_Client_Close(void);
  43. extern void PNG_Erase(void);
  44. extern void PNG_Graph_close(void);
  45. extern int PNG_Graph_set(void);
  46. extern void PNG_Line_width(double);
  47. extern void PNG_begin_raster(int, int[2][2], double[2][2]);
  48. extern int PNG_raster(int, int, const unsigned char *,
  49. const unsigned char *, const unsigned char *,
  50. const unsigned char *);
  51. extern void PNG_Begin(void);
  52. extern void PNG_Move(double, double);
  53. extern void PNG_Cont(double, double);
  54. extern void PNG_Close(void);
  55. extern void PNG_Stroke(void);
  56. extern void PNG_Fill(void);
  57. extern void PNG_Point(double, double);
  58. extern void PNG_Set_window(double, double, double, double);
  59. extern void PNG_color_rgb(int, int, int);
  60. extern void PNG_draw_bitmap(int, int, int, const unsigned char *);
  61. #endif /* __PNGDRIVER_H__ */