draw_line.c 602 B

1234567891011121314151617181920212223242526
  1. #include <stdlib.h>
  2. #include <grass/display.h>
  3. #include "local_proto.h"
  4. int
  5. draw_line(int screen_x, int screen_y, int cur_screen_x, int cur_screen_y,
  6. int color1, int color2)
  7. {
  8. D_use_color(color1);
  9. R_move_abs(cur_screen_x, cur_screen_y);
  10. R_cont_abs(screen_x, screen_y);
  11. D_use_color(color2);
  12. if (abs(screen_y - cur_screen_y) <= abs(screen_x - cur_screen_x)) {
  13. R_move_abs(cur_screen_x, cur_screen_y - 1);
  14. R_cont_abs(screen_x, screen_y - 1);
  15. }
  16. else {
  17. R_move_abs(cur_screen_x + 1, cur_screen_y);
  18. R_cont_abs(screen_x + 1, screen_y);
  19. }
  20. R_flush();
  21. return 0;
  22. }