Obsolete, and no longer functions
This commit is contained in:
parent
e7cc1c6c35
commit
8e460de6be
@ -1,88 +0,0 @@
|
|||||||
#include "../include/curses.h"
|
|
||||||
#include <termios.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#define ESC 27
|
|
||||||
#define MODE 3
|
|
||||||
|
|
||||||
unsigned int _COLOUR_PAIRS = 4;
|
|
||||||
unsigned int _COLOURS = 8;
|
|
||||||
unsigned short _COLS = 80;
|
|
||||||
unsigned short _LINES = 25;
|
|
||||||
|
|
||||||
static struct termios original, runtime;
|
|
||||||
|
|
||||||
void _init_screen( struct _curses_screen *scr __unused ) {
|
|
||||||
tcgetattr(fileno(stdin),&original);
|
|
||||||
tcgetattr(fileno(stdin),&runtime);
|
|
||||||
runtime.c_lflag &= ~(ICANON|ECHO);
|
|
||||||
tcsetattr(fileno(stdin),TCSANOW,&runtime);
|
|
||||||
//printf("%c[=%dh",ESC,MODE);
|
|
||||||
LINES = 25; COLS = 80;
|
|
||||||
}
|
|
||||||
|
|
||||||
void _exit_screen( struct _curses_screen *scr __unused ) {
|
|
||||||
printf("%c[1;1H",ESC);
|
|
||||||
printf("%c[2J",ESC);
|
|
||||||
tcsetattr(fileno(stdin),TCSANOW,&original);
|
|
||||||
}
|
|
||||||
|
|
||||||
void _movetoyx( struct _curses_screen *scr __unused, unsigned int y, unsigned int x ) {
|
|
||||||
printf( "%c[%d;%dH", ESC, y+1, x+1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
void _putc( struct _curses_screen *scr __unused, chtype c ) {
|
|
||||||
unsigned short pairno;
|
|
||||||
pairno = (unsigned short)(( c & A_COLOUR ) >> CPAIR_SHIFT);
|
|
||||||
|
|
||||||
// print rendition (colour and attrs)
|
|
||||||
//printf( "%c[%d;%d",ESC,
|
|
||||||
// cpairs[pairno][0], cpairs[pairno][1] );
|
|
||||||
// print rendition (character)
|
|
||||||
//printf("char is \"%d\"", c );
|
|
||||||
putchar( c );
|
|
||||||
fflush(stdout); // There must be a better way to do this...
|
|
||||||
}
|
|
||||||
|
|
||||||
int _getc( struct _curses_screen *scr __unused ) {
|
|
||||||
int c;
|
|
||||||
char buffer[16];
|
|
||||||
char *ptr;
|
|
||||||
c = getchar();
|
|
||||||
if ( c == '\n' )
|
|
||||||
return KEY_ENTER;
|
|
||||||
/*
|
|
||||||
WE NEED TO PROCESS ANSI SEQUENCES TO PASS BACK KEY_* VALUES
|
|
||||||
if ( c == ESC ) {
|
|
||||||
ptr = buffer;
|
|
||||||
while ( scr->peek( scr ) == TRUE ) {
|
|
||||||
*(ptr++) = getchar();
|
|
||||||
}
|
|
||||||
|
|
||||||
// ANSI sequences
|
|
||||||
if ( strcmp ( buffer, "[D" ) == 0 )
|
|
||||||
return KEY_LEFT;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool _peek( struct _curses_screen *scr __unused ) {
|
|
||||||
int c;
|
|
||||||
if ( ( c = getchar() ) != EOF ) {
|
|
||||||
ungetc( c, stdin );
|
|
||||||
return TRUE;
|
|
||||||
} else { return FALSE; }
|
|
||||||
}
|
|
||||||
|
|
||||||
SCREEN _curscr = {
|
|
||||||
.init = _init_screen,
|
|
||||||
.exit = _exit_screen,
|
|
||||||
.movetoyx = _movetoyx,
|
|
||||||
.putc = _putc,
|
|
||||||
// .getc = _getc,
|
|
||||||
// .peek = _peek,
|
|
||||||
};
|
|
Reference in New Issue
Block a user