draw.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*!
  2. \file lib/cairodriver/draw.c
  3. \brief GRASS cairo display driver
  4. (C) 2007-2008 by Lars Ahlzen, Glynn Clements 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. void Cairo_Begin(void)
  12. {
  13. cairo_new_path(cairo);
  14. }
  15. void Cairo_Move(double x, double y)
  16. {
  17. cairo_move_to(cairo, x, y);
  18. }
  19. void Cairo_Cont(double x, double y)
  20. {
  21. cairo_line_to(cairo, x, y);
  22. }
  23. void Cairo_Close(void)
  24. {
  25. cairo_close_path(cairo);
  26. }
  27. void Cairo_Stroke(void)
  28. {
  29. cairo_stroke(cairo);
  30. ca.modified = 1;
  31. }
  32. void Cairo_Fill(void)
  33. {
  34. cairo_fill(cairo);
  35. ca.modified = 1;
  36. }
  37. void Cairo_Point(double x, double y)
  38. {
  39. static double point_size = 1.0;
  40. double half_point_size = point_size / 2;
  41. cairo_new_path(cairo);
  42. cairo_rectangle(cairo,
  43. x - half_point_size, y - half_point_size,
  44. point_size, point_size);
  45. cairo_fill(cairo);
  46. ca.modified = 1;
  47. }