summaryrefslogtreecommitdiff
path: root/draw.c
diff options
context:
space:
mode:
Diffstat (limited to 'draw.c')
-rw-r--r--draw.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/draw.c b/draw.c
index ae90458..1c383fa 100644
--- a/draw.c
+++ b/draw.c
@@ -94,7 +94,7 @@ void get_text(FILE *fc){
if (x >= WIDTH)
x = orig_x;
}
- check_bound();
+ check_bound(&x, &y);
status_bar();
show_cursor();
}
@@ -150,7 +150,7 @@ void get_box(FILE *fc){
goto update_box;
if (!move_around(c, fc))
continue;
- check_bound();
+ check_bound(&x, &y);
redraw();
step = 1;
update_box:
@@ -166,19 +166,19 @@ update_box:
mode = MOVE;
}
-void draw_arrow(int x, int y, char *a, int a_len, int fix){
+void draw_arrow(int xl, int yl, char *a, int a_len, int fix){
int i, j, cur_dir;
char line;
void (*f)(int, int, char);
- a_miny = a_maxy = y;
+ a_miny = a_maxy = yl;
if (fix == FIX)
f = set_xy;
else
f = draw_xy;
- f(x,y,mark_st);
+ f(xl, yl, mark_st);
if (!a_len){
show_cursor();
return;
@@ -189,27 +189,28 @@ void draw_arrow(int x, int y, char *a, int a_len, int fix){
/* If we are switching between horizontal and vertical, put a "corner" */
if (((cur_dir & DIR_HOR) && (a[i] & DIR_VER)) ||
((cur_dir & DIR_VER) && (a[i] & DIR_HOR))){
- f(x,y,corner);
+ f(xl, yl, corner);
show_cursor();
}
}
for(j=0; j<a[i+1]; j++){
line = (a[i] & DIR_L) || (a[i] & DIR_R) ? line_h : line_v;
- x += progr_x(a[i]);
- y += progr_y(a[i]);
- if (y < a_miny) a_miny = y;
- if (y > a_maxy) a_maxy = y;
- f(x, y, line);
+ xl += progr_x(a[i]);
+ yl += progr_y(a[i]);
+ check_bound(&xl, &yl);
+ if (yl < a_miny) a_miny = yl;
+ if (yl > a_maxy) a_maxy = yl;
+ f(xl, yl, line);
}
/* f(x,y,mark_end);*/
cur_dir = a[i];
}
if (autoend){
if (cur_dir != DIR_N)
- f(x,y, get_mark(cur_dir));
+ f(xl,yl, get_mark(cur_dir));
}
else
- f(x,y,mark_end);
+ f(xl,yl,mark_end);
show_cursor();
}
@@ -235,7 +236,7 @@ void get_arrow(FILE *fc){
goto update_arrow;
if (!move_around(c, fc))
continue;
- check_bound();
+ check_bound(&x, &y);
/* FIXME: if we are out of bound, do nothing? */
if (arrow_len == arrow_sz){
arrow_sz *=2;
@@ -289,7 +290,7 @@ void erase(FILE *fc){
show_cursor();
while((c=fgetc(fc))!=EOF && c!=27 && c!= 'x' && c != '\n'){
if (!move_around(c, fc)) continue;
- check_bound();
+ check_bound(&x, &y);
if (first ||
(y != orig_y && ! opened) ||
(y == orig_y && x != orig_x && !opened) ){
@@ -354,7 +355,7 @@ void visual_box(FILE *fc){
goto vis_exit;
break;
}
- check_bound();
+ check_bound(&x, &y);
set_video(VIDEO_NRM);
redraw();
step = 1;