pngdriver.h 2.0 KB

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