diff options
-rw-r--r-- | README.X11 | 45 | ||||
-rw-r--r-- | XWindow.c | 18 |
2 files changed, 56 insertions, 7 deletions
diff --git a/README.X11 b/README.X11 new file mode 100644 index 0000000..0df71a7 --- /dev/null +++ b/README.X11 @@ -0,0 +1,45 @@ +# +# $Id: README.X11,v 1.1 2000/03/28 08:48:33 reinelt Exp $ +# + +This is the README file for the X11 display driver for lcd4linux + +The driver opens a X11 window based on the geometry specified in the +config file. This window cannot be resized. The contents of the window +will be redrawn every 'tick' msec. + +The driver uses very low cpu time, and requires low bandwitdh, because +only modified pixels are redrawn. + + +Configuration: + +The driver needs/supports the following entries in lcd4linux.conf: + +Display: must be "X11" +size: [columns]x[rows], e.g. "20x4" +font: [xrex]x[yres], at the moment only "5x8" and "6x8" supported. +pixel: [pixelsize]+[pixelgap], e.g. "5+1" +gap: [row gap]x[column gap], e.g. "3x3" +border: border width +foreground: color of an active LCD Pixel, must be #rrggbb +halfground: color of an inactive LCD Pixel, must be #rrggbb +background: backlight color, must be #rrggbb + +This may look weird, but it is weird. Let's explain this a bit further: +The X11 driver tries to emulate a real LC display. A real LCD has a +size of columns*rows characters. Each character consists of xres*yres +LCD cells. One single cell will be represented by a rectangle of +pixelsize*pixelsize pixels. If you want to, you can emulate the gap +between this lcd cells by specifying a pixelgap greater than zero. +Sometimes there's a gap between characters, too. You can specify this +gap (in pixels again) horizontally and vertically. Usually this gap +is the same size as a cell (which is pixelsize+pixelgap). + +If you use a font of 5x8, some characters may use the first and the last +pixel. So you should specify a column gap, otherwise the caracters may +touch. On the other hand, the 6x8 font never uses the first pixel. So you +can omit the column gap, and will get the same text layout, but +uninterupted bars! + +After all: don't try to understand this unless you have tried it out! @@ -1,4 +1,4 @@ -/* $Id: XWindow.c,v 1.7 2000/03/28 07:22:15 reinelt Exp $ +/* $Id: XWindow.c,v 1.8 2000/03/28 08:48:33 reinelt Exp $ * * X11 Driver for LCD4Linux * @@ -20,6 +20,10 @@ * * * $Log: XWindow.c,v $ + * Revision 1.8 2000/03/28 08:48:33 reinelt + * + * README.X11 added + * * Revision 1.7 2000/03/28 07:22:15 reinelt * * version 0.95 released @@ -118,7 +122,7 @@ void shmcleanup() { } void quit(int nsig) { - printf("pid%d got signal %d\n",getpid(),nsig); + printf("X11: pid %d got signal %d\n",getpid(),nsig); semcleanup(); shmcleanup(); exit(0); @@ -187,7 +191,7 @@ XColor co_dummy; XEvent ev; if ((dp=XOpenDisplay(NULL))==NULL) { - fprintf(stderr,"can't open display\n"); + fprintf(stderr,"X11: can't open display\n"); return -1; } sc=DefaultScreen(dp); @@ -198,22 +202,22 @@ XEvent ev; cm=DefaultColormap(dp,sc); if (XAllocNamedColor(dp,cm,rgbfg,&co[0],&co_dummy)==False) { - fprintf(stderr,"can't alloc foreground color '%s'\n", + fprintf(stderr,"X11: can't alloc foreground color '%s'\n", rgbfg); return -1; } if (XAllocNamedColor(dp,cm,rgbbg,&co[1],&co_dummy)==False) { - fprintf(stderr,"can't alloc background color '%s'\n", + fprintf(stderr,"X11: can't alloc background color '%s'\n", rgbbg); return -1; } if (XAllocNamedColor(dp,cm,rgbhg,&co[2],&co_dummy)==False) { - fprintf(stderr,"can't alloc halfground color '%s'\n", + fprintf(stderr,"X11: can't alloc halfground color '%s'\n", rgbhg); return -1; } if (XAllocNamedColor(dp,cm,"#e0e0e0",&db,&co_dummy)==False) { - fprintf(stderr,"can't alloc db color '%s'\n", + fprintf(stderr,"X11: can't alloc db color '%s'\n", "#0000ff"); return -1; } |