diff options
| author | Miguel <m.i@gmx.at> | 2018-10-11 19:48:02 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2018-10-11 19:48:02 +0200 |
| commit | 2e8d1bc3b6aa0671995860ca8a09c97523f3538d (patch) | |
| tree | 8956db101a3467ccb6be275f68104501159553f4 /userspace | |
| parent | 1e5c0baa8cd59f651985ac3a7b41ab2ecbe90b5e (diff) | |
ported ncurses almost ! ncurses-examples work almost fine now!!!
Diffstat (limited to 'userspace')
| -rw-r--r-- | userspace/ncurses/Makefile | 9 | ||||
| -rw-r--r-- | userspace/ncurses/ncurs.c | 66 | ||||
| -rw-r--r-- | userspace/sysc.c | 4 |
3 files changed, 74 insertions, 5 deletions
diff --git a/userspace/ncurses/Makefile b/userspace/ncurses/Makefile index 4a8fc56..22bae34 100644 --- a/userspace/ncurses/Makefile +++ b/userspace/ncurses/Makefile @@ -1,8 +1,11 @@ CC=i686-foolos-gcc -AS=i686-foolos-as +CFLAGS= +CFLAGS+=-O0 +#CFLAGS+=-gstabs +CFLAGS+=-g -LDLIBS=-lncurses -lcurses -CFLAGS=-static +#LDLIBS=-lncurses -lform -lmenu -lpanel -ltinfo +LDLIBS=-lncurses -ltinfo ncurs: diff --git a/userspace/ncurses/ncurs.c b/userspace/ncurses/ncurs.c index 6edf8e6..26068fa 100644 --- a/userspace/ncurses/ncurs.c +++ b/userspace/ncurses/ncurs.c @@ -1,13 +1,75 @@ #include <ncurses.h> +#include "../newcalls.h" + +int dup(int oldfd) +{ + return _dup2(oldfd,0xffffffff); // dup emulation mode +} + +void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string) +{ + int length, x, y; + float temp; + + if(win == NULL) + win = stdscr; + getyx(win, y, x); + if(startx != 0) + x = startx; + if(starty != 0) + y = starty; + if(width == 0) + width = 80; + + length = strlen(string); + temp = (width - length)/ 2; + x = startx + (int)temp; + mvwprintw(win, y, x, "%s", string); + refresh(); +} + +/* +int write() +{ + printf("hi\n"); +} +*/ int main() { -// initscr(); /* Start curses mode */ + initscr(); + + //cbreak(); + ////noecho(); + +if(has_colors() == FALSE) + + { endwin(); + printf("Your terminal does not support color\n"); + exit(1); + } + + start_color(); /* Start color */ + init_pair(1, COLOR_RED, COLOR_BLACK); + + attron(COLOR_PAIR(1)); + print_in_middle(stdscr, LINES / 2, 0, 0, "Viola !!! In color ..."); + attroff(COLOR_PAIR(1)); + getch(); + print_in_middle(stdscr, LINES / 2, 0, 0, "Fool Masters"); + getch(); + endwin(); + + //write(); + +// initscr(); /* Start curses mode */ // printw("Hello World !!!"); /* Print Hello World */ // refresh(); /* Print it on to the real screen */ // getch(); /* Wait for user input */ + //while(1); + // endwin(); /* End curses mode */ - return 0; +// return 0; } diff --git a/userspace/sysc.c b/userspace/sysc.c new file mode 100644 index 0000000..f5a6719 --- /dev/null +++ b/userspace/sysc.c @@ -0,0 +1,4 @@ +int main() +{ + write(1,"dupa\n",5); +} |
