From 3613fc76cfe98a7fc3e38f0f75f83d4c4f349089 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Sat, 19 Nov 2005 06:24:39 +0000 Subject: [PATCH] Add getfont() ciolib function. --- src/conio/ciolib.c | 12 ++++++++++++ src/conio/ciolib.h | 3 +++ src/conio/console.c | 2 +- src/conio/sdl_con.c | 5 +++++ src/conio/sdl_con.h | 1 + src/conio/x_cio.c | 5 +++++ src/conio/x_cio.h | 1 + 7 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c index c545477e2f..a0528467e4 100644 --- a/src/conio/ciolib.c +++ b/src/conio/ciolib.c @@ -138,6 +138,7 @@ int try_sdl_init(int mode) cio_api.getcliptext=sdl_getcliptext; #endif cio_api.setfont=sdl_setfont; + cio_api.getfont=sdl_getfont; return(1); } return(0); @@ -170,6 +171,7 @@ int try_x_init(int mode) cio_api.copytext=x_copytext; cio_api.getcliptext=x_getcliptext; cio_api.setfont=x_setfont; + cio_api.getfont=x_getfont; return(1); } return(0); @@ -967,3 +969,13 @@ CIOLIBEXPORT int CIOLIBCALL ciolib_setfont(int font, int force) else return(-1); } + +CIOLIBEXPORT int CIOLIBCALL ciolib_getfont(void) +{ + CIOLIB_INIT(); + + if(cio_api.getfont!=NULL) + return(cio_api.getfont()); + else + return(-1); +} diff --git a/src/conio/ciolib.h b/src/conio/ciolib.h index e4736d7463..222ff21acf 100644 --- a/src/conio/ciolib.h +++ b/src/conio/ciolib.h @@ -242,6 +242,7 @@ typedef struct { void (*suspend) (void); void (*resume) (void); int (*setfont) (int font, int force); + int (*getfont) (void); } cioapi_t; CIOLIBEXPORTVAR cioapi_t cio_api; @@ -296,6 +297,7 @@ CIOLIBEXPORT int CIOLIBCALL ciolib_hidemouse(void); CIOLIBEXPORT void CIOLIBCALL ciolib_copytext(const char *text, size_t buflen); CIOLIBEXPORT char * CIOLIBCALL ciolib_getcliptext(void); CIOLIBEXPORT int CIOLIBCALL ciolib_setfont(int font, int force); +CIOLIBEXPORT int CIOLIBCALL ciolib_getfont(void); #ifdef __cplusplus } #endif @@ -343,6 +345,7 @@ CIOLIBEXPORT int CIOLIBCALL ciolib_setfont(int font, int force); #define copytext(a,b) ciolib_copytext(a,b) #define getcliptext() ciolib_getcliptext() #define setfont(a,b) ciolib_setfont(a,b) + #define getfont() ciolib_getfont() #endif /* Special hackery for SDL */ diff --git a/src/conio/console.c b/src/conio/console.c index bf3f9ab725..1d1a7b13bd 100644 --- a/src/conio/console.c +++ b/src/conio/console.c @@ -130,7 +130,7 @@ sem_t copybuf_set; sem_t pastebuf_set; sem_t pastebuf_request; sem_t font_set; -int new_font; +int new_font=-1; int font_force; int setfont_return; pthread_mutex_t copybuf_mutex; diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c index 4b929c170a..099974b516 100644 --- a/src/conio/sdl_con.c +++ b/src/conio/sdl_con.c @@ -864,6 +864,11 @@ int sdl_setfont(int font, int force) sdl_user_func(SDL_USEREVENT_UPDATERECT,0,0,0,0); } +int sdl_getfont(void) +{ + return(sdl_current_font); +} + /* Called from event thread only */ void sdl_add_key(unsigned int keyval) { diff --git a/src/conio/sdl_con.h b/src/conio/sdl_con.h index b6c5f715cd..5a62ef37ee 100644 --- a/src/conio/sdl_con.h +++ b/src/conio/sdl_con.h @@ -36,6 +36,7 @@ int sdl_showmouse(void); void sdl_copytext(const char *text, size_t buflen); char *sdl_getcliptext(void); int sdl_setfont(int font, int force); +int sdl_getfont(void); #ifdef __cplusplus } #endif diff --git a/src/conio/x_cio.c b/src/conio/x_cio.c index 6cec69c533..e75c9200ed 100644 --- a/src/conio/x_cio.c +++ b/src/conio/x_cio.c @@ -325,3 +325,8 @@ int x_setfont(int font, int force) sem_wait(&font_set); return(setfont_return); } + +int x_getfont(void) +{ + return(new_font); +} diff --git a/src/conio/x_cio.h b/src/conio/x_cio.h index e101560474..067a926055 100644 --- a/src/conio/x_cio.h +++ b/src/conio/x_cio.h @@ -66,6 +66,7 @@ void x_settitle(const char *title); void x_copytext(const char *text, size_t buflen); char *x_getcliptext(void); int x_setfont(int font, int force); +int x_getfont(void); #ifdef __cplusplus } #endif -- GitLab