pngdriver.h 2.0 KB

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