mirror of
https://github.com/netfun2000/lcd4linux.git
synced 2026-02-27 09:44:34 +08:00
[lcd4linux @ 2000-03-28 08:48:33 by reinelt]
README.X11 added git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@26 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
This commit is contained in:
45
README.X11
Normal file
45
README.X11
Normal file
@@ -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!
|
||||
18
XWindow.c
18
XWindow.c
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user