aboutsummaryrefslogtreecommitdiffstats
path: root/drv_T6963.c
diff options
context:
space:
mode:
Diffstat (limited to 'drv_T6963.c')
-rw-r--r--drv_T6963.c43
1 files changed, 40 insertions, 3 deletions
diff --git a/drv_T6963.c b/drv_T6963.c
index e581e81..e18c281 100644
--- a/drv_T6963.c
+++ b/drv_T6963.c
@@ -1,4 +1,4 @@
-/* $Id: drv_T6963.c,v 1.3 2004/02/22 17:35:41 reinelt Exp $
+/* $Id: drv_T6963.c,v 1.4 2004/02/24 05:55:04 reinelt Exp $
*
* new style driver for T6963-based displays
*
@@ -23,6 +23,10 @@
*
*
* $Log: drv_T6963.c,v $
+ * Revision 1.4 2004/02/24 05:55:04 reinelt
+ *
+ * X11 driver ported
+ *
* Revision 1.3 2004/02/22 17:35:41 reinelt
* some fixes for generic graphic driver and T6963
* removed ^M from plugin_imon (Nico, are you editing under Windows?)
@@ -69,6 +73,10 @@
#include "drv_generic_graphic.h"
#include "drv_generic_parport.h"
+#ifdef WITH_DMALLOC
+#include <dmalloc.h>
+#endif
+
static char Name[]="T6963";
static int Model;
@@ -377,8 +385,27 @@ static int drv_T6_start (char *section)
return -1;
}
- TROWS=DROWS/8; // text rows, assume 6x8 font
- TCOLS=DCOLS/6; // text cols, assume 6x8 font
+ s=cfg_get(section, "Font", "6x8");
+ if (s==NULL || *s=='\0') {
+ error ("%s: no '%s.Font' entry from %s", Name, section, cfg_source());
+ return -1;
+ }
+
+ XRES = -1;
+ YRES = -1;
+ if (sscanf(s, "%dx%d", &XRES, &YRES)!=2 || XRES<1 || YRES<1) {
+ error ("%s: bad Font '%s' from %s", Name, s, cfg_source());
+ return -1;
+ }
+
+ // Fixme: provider other fonts someday...
+ if (XRES!=6 && YRES!=8) {
+ error ("%s: bad Font '%s' from %s (only 6x8 at the moment)", Name, s, cfg_source());
+ return -1;
+ }
+
+ TROWS=DROWS/YRES; // text rows
+ TCOLS=DCOLS/XRES; // text cols
Buffer1=malloc(DCOLS*TROWS);
if (Buffer1==NULL) {
@@ -527,6 +554,16 @@ int drv_T6_quit (void) {
drv_generic_parport_close();
drv_generic_graphic_quit();
+ if (Buffer1) {
+ free (Buffer1);
+ Buffer1=NULL;
+ }
+
+ if (Buffer2) {
+ free (Buffer2);
+ Buffer2=NULL;
+ }
+
return (0);
}