del_point.c 958 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "globals.h"
  2. #include <grass/display.h>
  3. /*************************************************************
  4. del_point: delete last point from Region point list
  5. returns: TRUE point deleted ok, FALSE list empty
  6. *************************************************************/
  7. int del_point(void)
  8. {
  9. int last;
  10. if (Region.npoints <= 0) {
  11. Region.npoints = 0; /* for safety */
  12. return (0);
  13. }
  14. last = --Region.npoints;
  15. if (Region.npoints == 0) {
  16. Region.area.define = 0;
  17. Region.view = NULL;
  18. }
  19. Region.area.completed = 0;
  20. /* draw the removed line in grey */
  21. if (Region.npoints > 0) {
  22. R_standard_color(GREY);
  23. R_move_abs(Region.point[last].x, Region.point[last].y);
  24. R_cont_abs(Region.point[last - 1].x, Region.point[last - 1].y);
  25. /* if (Region.view == VIEW_MAP1_ZOOM)
  26. line_in_map1(Region.point[last-1].x, Region.point[last-1].y,
  27. Region.point[last].x, Region.point[last].y, GREY); */
  28. }
  29. return (1);
  30. }