diff --git a/ChangeLog b/ChangeLog
index f804b77..5f9f3ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,11 +12,12 @@ v0.5dev (ongoing development)
* hd44780/serial: Fix handling of keys for LoS-Panel (M. Kirchner)
* hd44780/serial: Change backlight handling (see commit message)
+ glcd driver: Add FreeType 2 rendering support (B. Walle and M. Dolze)
- + glcd driver: New connection type PNG, writes framebuffer as PNG image
+ + glcd driver: New connection type 'png', writes framebuffer as PNG image
+ hd44780: Fix vBars and block icon not working correctly on the same screen
* Build system: Link LCDd itself with pthread library if available
* lcdproc client: Unbreak build on OpenBSD non-i386 (E. Barrett)
* lcdproc client: Fix core dumps on FreeBSD if started as non-root
+ * glcd driver: new connection type 'serdisplib'
v0.5.5
+ sed1330 driver: Add support for HG25504 (L. Lagendijk)
diff --git a/docs/lcdproc-user/drivers.docbook b/docs/lcdproc-user/drivers.docbook
index d9b5e00..509ceb6 100644
--- a/docs/lcdproc-user/drivers.docbook
+++ b/docs/lcdproc-user/drivers.docbook
@@ -15,6 +15,7 @@ well as the configuration of LCDd.
&ea65;
&EyeboxOne;
&g15;
+&glcd;
&glcdlib;
&glk;
&hd44780;
diff --git a/docs/lcdproc-user/drivers/Makefile.am b/docs/lcdproc-user/drivers/Makefile.am
index f63e143..278926a 100644
--- a/docs/lcdproc-user/drivers/Makefile.am
+++ b/docs/lcdproc-user/drivers/Makefile.am
@@ -8,6 +8,7 @@ EXTRA_DIST = bayrad.docbook \
ea65.docbook \
eyeboxone.docbook \
g15.docbook \
+ glcd.docbook \
glcdlib.docbook \
glk.docbook \
hd44780.docbook \
diff --git a/docs/lcdproc-user/drivers/glcd.docbook b/docs/lcdproc-user/drivers/glcd.docbook
new file mode 100644
index 0000000..c7eb3a0
--- /dev/null
+++ b/docs/lcdproc-user/drivers/glcd.docbook
@@ -0,0 +1,278 @@
+
+
+
+ Markus
+ Dolze
+
+
+The glcd Driver
+
+
+The glcd driver (graphic lcd) driver is a "meta driver" that renders text for
+display on graphic displays. It uses either a built-in 5x8 font (the same as
+used in elsewhere in LCDproc) or Freetype 2 to draw the characters and icons
+into an internal frame buffer. That frame buffer is then copied to the display
+by a small sub-driver called connection type driver (CT-driver).
+
+
+
+LCDproc is compiled with FreeType support by default if it is installed on your
+system.
+
+
+
+Connections
+
+
+Connection type t6963
+TBD
+
+
+
+Connection type png
+TBD
+
+
+
+Connection type serdisplib
+TBD
+
+
+
+
+
+
+Configuration in LCDd.conf
+
+
+[glcd]
+
+
+Settings affecting all connection type drivers
+
+
+ ConnectionType =
+ {
+ t6963 |
+ png |
+ serdisplib
+ }
+
+
+ Specify which connection type to use. See
+ above for details.
+
+
+
+
+
+ Size = ¶meters.size;
+
+
+ Specifies the size of the LCD in pixels.
+ Default: 128x64.
+ Maximum value supported: 640x480.
+
+ The size in characters is automatically calculated from this value and the
+ CellSize value (see below) and cannot be configured.
+
+
+
+
+
+ Contrast =
+ CONTRAST
+
+
+ Set the initial contrast (if supported by the connection type driver).
+ Legal values for CONTRAST are
+ 0 - 1000.
+ If not given, it defaults to 600.
+
+
+
+
+
+ Brightness =
+ BRIGHTNESS
+
+
+ Set the initial brightness when the backlight is "on" (if supported by the
+ connection type driver).
+ Legal values are 0 - 1000.
+ If not given, it defaults to 800.
+
+
+
+
+
+ OffBrightness =
+ BRIGHTNESS
+
+
+ Set the initial brightness when the backlight is set "off" (if supported by
+ the connection type driver).
+ Legal values are 0 - 1000.
+ If not given, it defaults to 100.
+
+
+
+
+
+Available parameters if compiled with FreeType support
+
+
+ useFT2 = ¶meters.yesdefno;
+
+
+ Tell whether to use FreeType2 or not. It is set to yes by
+ default. If turned off (set to no), the fixed internal
+ 5x8 font is used to draw characters and icons.
+
+
+
+
+
+ normal_font =
+ FONTFILE
+
+
+ Set path to the font file to use, e.g. /usr/local/lib/X11/fonts/TTF/andalemo.ttf.
+ This option is required if FreeType 2 support is enabled, but it is not set
+ to any default value. A font with a fixed character width (monotype) is
+ strongly recommended.
+
+
+
+
+
+ fontHasIcons = ¶meters.yesdefno;
+
+
+ Many fonts to not include the Unicode glyphs used for drawing icons. If this
+ option is set to no then the internal 5x8 font is used
+ even if FreeType is enabled. This option is on (yes) by
+ default.
+
+
+
+
+
+ CellSize = ¶meters.size;
+
+
+ Specifies the size of the character cell in pixels. Characters will be
+ drawn within this cell.
+ Default: 6x8; minimum value 4x6;
+ maximum value: 24x32.
+
+
+
+
+
+
+
+Settings for the t6963 connection type
+
+
+ Port =
+ PORT
+
+
+ Specify the address of the parallel port the LCD is connected to.
+ Common values for PORT are 0x278,
+ 0x378 and 0x3BC.
+ If not given, the default is 0x378.
+
+
+
+
+
+ bidirectional = ¶meters.yesdefno;
+
+
+
+ Use parallel port in bi-directional mode. [default: yes;
+ legal: yes, no]
+
+
+ Most LPT ports can be used in bi-directional mode. It is required for
+ proper timing of the display.
+
+
+
+
+
+
+ delayBus = ¶meters.yesnodef;
+
+
+
+ Use additional delay in read / write operations. [default: no;
+ legal: yes, no]. As the driver
+ implements busy checking usually no additional delays are required.
+
+
+
+
+
+
+Settings for the serdisplib connection type
+
+
+ serdisp_name =
+ NAME
+
+
+ This is the name or alias to select a display driver in the serdisplib
+ library. As there is not default value setting this option is mandatory.
+
+
+
+
+
+ serdisp_device =
+ DEVICE
+
+
+ Set the device to use. Unlike elsewhere in LCDd.conf
+ this is a device description understood by serdisplib. As there is not
+ default value setting this option is mandatory.
+
+
+
+
+
+ serdisp_options =
+ OPTIONS
+
+
+ OPTIONS is a serdisplib option string, which is
+ a list of semicolon separated key / value pairs. Use this to pass any
+ additional options to serdisplib, e.g. wiring or rotation settings.
+
+
+ As the value will contain equal signs the whole OPTIONS
+ value must be enclosed in double quotes.
+ The display width and height are always set using the values from the
+ glcd driver (see above). Any width / height values set in the option string
+ will be ignored.
+
+
+
+
+
+
+
+
diff --git a/docs/lcdproc-user/drivers/hd44780.docbook b/docs/lcdproc-user/drivers/hd44780.docbook
index 134a558..64ee7f1 100644
--- a/docs/lcdproc-user/drivers/hd44780.docbook
+++ b/docs/lcdproc-user/drivers/hd44780.docbook
@@ -2978,7 +2978,7 @@ This can be done by specifying or by inclu
Set the initial off-brightness, i.e. the brightness when the backlight is off,
for the lcd2usb connection type.
- The ilegal range is 0 - 1000.
+ The legal range is 0 - 1000.
If not given, it defaults to 300.
diff --git a/docs/lcdproc-user/lcdproc-user.docbook b/docs/lcdproc-user/lcdproc-user.docbook
index af5c599..d23716f 100644
--- a/docs/lcdproc-user/lcdproc-user.docbook
+++ b/docs/lcdproc-user/lcdproc-user.docbook
@@ -22,6 +22,7 @@
+
diff --git a/server/drivers/glcd-low.h b/server/drivers/glcd-low.h
index c333074..638da5f 100644
--- a/server/drivers/glcd-low.h
+++ b/server/drivers/glcd-low.h
@@ -77,7 +77,7 @@ typedef struct hwDependentFns {
* function actually decides about the format of the framebuffer. Using this
* implementation (0,0) is top left and bytes contain pixels from left to right.
*
- * \param p Pointer to driver's private data.
+ * \param fb Pointer to framebuffer
* \param x X-position
* \param y Y-position
* \param color Pixel color: 1 = set (black), 0 = not set (blank/white)
@@ -104,9 +104,9 @@ fb_draw_pixel(struct glcd_framebuf *fb, int x, int y, int color)
/**
* Get color value of one pixel from the framebuffer.
*
- * \param p Pointer to driver's private data.
- * \param x X-position
- * \param y Y-position
+ * \param fb Pointer to framebuffer
+ * \param x X-position
+ * \param y Y-position
* \return Pixel color: 1 = set (black), 0 = not set (blank/white)
*/
static inline int
diff --git a/server/drivers/glcd-render.c b/server/drivers/glcd-render.c
index 46045d4..156ee70 100644
--- a/server/drivers/glcd-render.c
+++ b/server/drivers/glcd-render.c
@@ -1,5 +1,7 @@
/** \file server/drivers/glcd-render.c
* Render glyphs to a framebuffer using FreeType2 or fixed 5x8 font.
+ *
+ * \todo Add character encoding option.
*/
/*-
diff --git a/server/drivers/glcd-t6963.c b/server/drivers/glcd-t6963.c
index 94519a3..130637e 100644
--- a/server/drivers/glcd-t6963.c
+++ b/server/drivers/glcd-t6963.c
@@ -10,7 +10,6 @@
* Copyright (c) 2011 Markus Dolze, based on the t6963 driver by
* 2001 Manuel Stahl
*
- *
* This file is released under the GNU General Public License. Refer to the
* COPYING file distributed with this package.
*/
@@ -34,6 +33,7 @@ static void t6963_graphic_clear(PrivateData *p);
void glcd_t6963_blit(PrivateData *p);
void glcd_t6963_close(PrivateData *p);
+/** Data local to the t6963 connection type */
typedef struct glcd_t6963_data {
unsigned char *backingstore; /**< backing buffer */
T6963_port *port_config; /**< parallel port configuration */