Driver.c 1.4 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.Set_window = Cairo_Set_window;
  27. drv.Begin_raster = Cairo_begin_raster;
  28. drv.Raster = Cairo_raster;
  29. drv.End_raster = Cairo_end_raster;
  30. drv.Begin = Cairo_Begin;
  31. drv.Move = Cairo_Move;
  32. drv.Cont = Cairo_Cont;
  33. drv.Close = Cairo_Close;
  34. drv.Stroke = Cairo_Stroke;
  35. drv.Fill = Cairo_Fill;
  36. drv.Point = Cairo_Point;
  37. drv.Color = Cairo_Color;
  38. drv.Bitmap = Cairo_Bitmap;
  39. drv.Text = Cairo_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. }