Introduction
Introduction Statistics Contact Development Disclaimer Help
add global movements (g, G. m) - gramscii - A simple editor for ASCII box-and-a…
Log
Files
Refs
Tags
README
LICENSE
---
commit c8512825e3baf1525af7117affa13d00ac6b0d1d
parent ad0b403caa61c3f1c07698ffe6952588861d98c2
Author: KatolaZ <[email protected]>
Date: Sat, 20 Jul 2019 11:03:55 +0100
add global movements (g, G. m)
Diffstat:
M gramscii.c | 64 ++++++++++++++++-------------…
1 file changed, 33 insertions(+), 31 deletions(-)
---
diff --git a/gramscii.c b/gramscii.c
@@ -79,6 +79,8 @@ char mark_end;
char modified;
char fname[256];
+char visual;
+
struct termios t1, t2, t3;
@@ -227,6 +229,24 @@ void redraw(){
show_cursor();
}
+void go_to(int where){
+ switch(where){
+ case HOME:
+ x = y = 0;
+ break;
+ case END:
+ x = WIDTH-1;
+ y = HEIGHT-1;
+ break;
+ case MIDDLE:
+ x = WIDTH/2;
+ y = HEIGHT/2;
+ break;
+ }
+ check_bound();
+ show_cursor();
+}
+
int move_around(char c){
switch(c){
@@ -250,28 +270,22 @@ int move_around(char c){
dir = DIR_R;
x += step;
break;
- default:
- return 0;
- }
- return 1;
-}
-
-void go_to(int where){
- switch(where){
- case HOME:
- x = y = 0;
+ case 'g':
+ dir = DIR_N;
+ go_to(HOME);
break;
- case END:
- x = WIDTH-1;
- y = HEIGHT-1;
+ case 'G':
+ dir = DIR_N;
+ go_to(END);
break;
- case MIDDLE:
- x = WIDTH/2;
- y = HEIGHT/2;
+ case 'm':
+ dir = DIR_N;
+ go_to(MIDDLE);
break;
+ default:
+ return 0;
}
- check_bound();
- show_cursor();
+ return 1;
}
int progr_x(int dir){
@@ -369,7 +383,6 @@ void get_text(){
state=MOVE;
}
-
void draw_box(int x1, int y1, int fix){
int xmin, ymin, xmax, ymax;
@@ -401,8 +414,6 @@ void draw_box(int x1, int y1, int fix){
show_cursor();
}
-
-
void get_box(){
char c;
int orig_x=x, orig_y=y;
@@ -535,8 +546,8 @@ void delete(){
while((c=getchar())!=EOF && c!=27 && c!= 'x'){
if (!move_around(c)) continue;
check_bound();
- step = 1;
do_delete(orig_x, orig_y);
+ step = 1;
modified = 1;
orig_x = x;
orig_y = y;
@@ -650,15 +661,6 @@ void commands(){
case 'N':
new_file();
break;
- case 'g':
- go_to(HOME);
- break;
- case 'G':
- go_to(END);
- break;
- case 'm':
- go_to(MIDDLE);
- break;
case 'x':
state = DEL;
delete();
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.