Driver.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*!
  2. \file cairodriver/Driver.c
  3. \brief GRASS cairo display driver - driver initialization
  4. (C) 2007-2008 by Lars Ahlzen and the GRASS Development Team
  5. This program is free software under the GNU General Public License
  6. (>=v2). Read the file COPYING that comes with GRASS for details.
  7. \author Lars Ahlzen <lars ahlzen.com> (original contibutor)
  8. \author Glynn Clements
  9. */
  10. #include "cairodriver.h"
  11. /*!
  12. \brief Initialize display driver
  13. \return pointer driver structure
  14. */
  15. const struct driver *Cairo_Driver(void)
  16. {
  17. static struct driver drv;
  18. static int initialized;
  19. if (initialized)
  20. return &drv;
  21. drv.Box = Cairo_Box;
  22. drv.Erase = Cairo_Erase;
  23. drv.Graph_set = Cairo_Graph_set;
  24. drv.Graph_close = Cairo_Graph_close;
  25. drv.Line_width = Cairo_Line_width;
  26. drv.Polydots = Cairo_Polydots;
  27. drv.Polyline = Cairo_Polyline;
  28. drv.Polygon = Cairo_Polygon;
  29. drv.Set_window = Cairo_Set_window;
  30. drv.Begin_scaled_raster = Cairo_begin_scaled_raster;
  31. drv.Scaled_raster = Cairo_scaled_raster;
  32. drv.End_scaled_raster = Cairo_end_scaled_raster;
  33. drv.Respond = Cairo_Respond;
  34. drv.lookup_color = Cairo_lookup_color;
  35. drv.color = Cairo_color;
  36. drv.draw_line = Cairo_draw_line;
  37. drv.draw_point = Cairo_draw_point;
  38. drv.draw_bitmap = Cairo_draw_bitmap;
  39. drv.draw_text = Cairo_draw_text;
  40. drv.text_box = Cairo_text_box;
  41. drv.Set_font = Cairo_set_font;
  42. drv.Font_list = Cairo_font_list;
  43. drv.Font_info = Cairo_font_info;
  44. initialized = 1;
  45. return &drv;
  46. }