summaryrefslogtreecommitdiff
path: root/libterm
diff options
context:
space:
mode:
authorFreeArtMan <dos21h@gmail.com>2015-01-08 21:21:23 +0900
committerFreeArtMan <dos21h@gmail.com>2015-01-08 21:21:23 +0900
commitad222a30782ebacacd0f5388f01b65fa61e12697 (patch)
tree861e83d3214929fe7d58a0d79dcb0e069bb32b16 /libterm
parent3d489fe502178d2d4e58eb8d5736be2fbda38077 (diff)
downloadmicrobbs-ad222a30782ebacacd0f5388f01b65fa61e12697.tar.gz
microbbs-ad222a30782ebacacd0f5388f01b65fa61e12697.zip
Fixed positioning for captcha, motd, mainmenu, sysinfo
Diffstat (limited to 'libterm')
-rw-r--r--libterm/print_utils.c122
-rw-r--r--libterm/print_utils.h13
-rw-r--r--libterm/screen_modes.c3
3 files changed, 3 insertions, 135 deletions
diff --git a/libterm/print_utils.c b/libterm/print_utils.c
deleted file mode 100644
index 9d4bac0..0000000
--- a/libterm/print_utils.c
+++ /dev/null
@@ -1,122 +0,0 @@
-#include "print_utils.h"
-
-int term_fprint( screen_mode_e mode, FILE *f )
-{
- int ret=-1;
- if (f == NULL)
- return -1;
-
- switch ( mode )
- {
- case SCREEN_MODE_80x24:
- {
- /*
- const int m_x=80,m_y=24;
- int x=0,y=0;
- int fret=1;
- char c;
- while ((fret = fread(&c,1,1,f)) == 1)
- {
- if ( c != '\n' )
- {
- if ( (x < m_x) && (y < m_y) )
- {
- putc( c );
- }
- x+=1;
- } else if ( c == '\n' )
- {
- x = 0;
- y += 1;
- }
- }
- */
- }
- break;
- default:
- printf("Unknown screen mode\n");
- }
-
- return ret;
-}
-
-
-//print data to terminal starting from x,y
-//return 0x0000yyyy0000xxxx, current stopped position
-int term_print( term_screen *ts, const char *buf, size_t size,
- int init_x, int init_y )
-{
- int posx=0, posy=0;
- int ret=-1;
- if ( buf == NULL )
- {
- return -1;
- }
-
- if ( size <= 0 )
- {
- return -1;
- }
-
- //calculate position
- //fix for diff modes also needed
- if ( ts->term_col > 80)
- {
- posx = (ts->term_col-80)/2;
- }
- if (ts->term_row > 24)
- {
- posy = (ts->term_row-24)/2;
- }
-
- switch ( ts->mode )
- {
- case SCREEN_MODE_80x24:
- {
- int m_x=80, m_y=24;
- int x=init_x, y=init_y;
- char c;
- int i,j;
-
-
- if (( init_x == 0 ) && (init_y == 0))
- {
- for (i=0; i<posx;i++)
- printf(" ");
- }
-
- //draw image according to mode
- for (i=0; i<size; i++)
- {
- c = buf[i];
- if ( c == '\n' )
- {
- printf("\n");
- //set
- for (j=0; j<posx; j++)
- printf(" ");
- x = 0;
- y += 1;
- //printf("asdasdsad\n");
- } else if ( c != '\n' )
- {
- if ( (x < m_x ) && (y < m_y) )
- {
- printf("%c",c);
- }
- x += 1;
- }
- }
- ret = x&0x0000ffff | ((y&0x0000ffff)<<16);
- //printf( "%08x\n", ret );
- }
- break;
- default:
- printf("Unknown mode\n");
- }
-
- return ret;
-}
-
-
-
diff --git a/libterm/print_utils.h b/libterm/print_utils.h
deleted file mode 100644
index 6665262..0000000
--- a/libterm/print_utils.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __LIBTERM_PRINT_UTILS_H
-#define __LIBTERM_PRINT_UTILS_H
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "screen_modes.h"
-#include "term.h"
-
-int term_fprint( screen_mode_e, FILE* );
-int term_print( term_screen*, const char*, size_t, int, int );
-
-#endif
diff --git a/libterm/screen_modes.c b/libterm/screen_modes.c
new file mode 100644
index 0000000..709b332
--- /dev/null
+++ b/libterm/screen_modes.c
@@ -0,0 +1,3 @@
+#include "screen_modes.h"
+
+