driver.c 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*!
  2. \file lib/cairodriver/driver.c
  3. \brief GRASS cairo display driver - driver initialization
  4. (C) 2007-2014 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.name = "cairo";
  22. drv.Box = Cairo_Box;
  23. drv.Erase = Cairo_Erase;
  24. drv.Graph_set = Cairo_Graph_set;
  25. drv.Graph_get_file = Cairo_Graph_get_file;
  26. drv.Graph_close = Cairo_Graph_close;
  27. drv.Line_width = Cairo_Line_width;
  28. drv.Set_window = Cairo_Set_window;
  29. drv.Begin_raster = Cairo_begin_raster;
  30. drv.Raster = Cairo_raster;
  31. drv.End_raster = Cairo_end_raster;
  32. drv.Begin = Cairo_Begin;
  33. drv.Move = Cairo_Move;
  34. drv.Cont = Cairo_Cont;
  35. drv.Close = Cairo_Close;
  36. drv.Stroke = Cairo_Stroke;
  37. drv.Fill = Cairo_Fill;
  38. drv.Point = Cairo_Point;
  39. drv.Color = Cairo_Color;
  40. drv.Bitmap = Cairo_Bitmap;
  41. drv.Text = Cairo_Text;
  42. drv.Text_box = Cairo_text_box;
  43. drv.Set_font = Cairo_set_font;
  44. drv.Font_list = Cairo_font_list;
  45. drv.Font_info = Cairo_font_info;
  46. initialized = 1;
  47. return &drv;
  48. }