mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-27 11:13:24 +02:00
lcd4linux: add patch to scale text on dpf displays.
This commit is contained in:
59
src/patches/lcd4linux-scaletext-dpf.patch
Normal file
59
src/patches/lcd4linux-scaletext-dpf.patch
Normal file
@@ -0,0 +1,59 @@
|
||||
diff -rupN --exclude=.svn --exclude='*.log' --exclude=Makefile --exclude='*.m4' --exclude='*.in' --exclude=autom4te.cache --exclude='config*' --exclude='*.Po' --exclude='*.sh' lcd4linux/drv_dpf.c lcd4linux.1/drv_dpf.c
|
||||
--- lcd4linux/drv_dpf.c 2011-11-14 14:41:40.859787820 +0100
|
||||
+++ lcd4linux.1/drv_dpf.c 2011-11-13 14:42:58.650315817 +0100
|
||||
@@ -160,12 +160,26 @@ static int drv_dpf_start2(const char *se
|
||||
}
|
||||
|
||||
/* Fixme: provider other fonts someday... */
|
||||
- if (XRES != 6 && YRES != 8) {
|
||||
+ /* Overridden - we have scaled the textout drawing */
|
||||
+/* if (XRES != 6 && YRES != 8) {
|
||||
error("%s: bad Font '%s' from %s (only 6x8 at the moment)",
|
||||
Name, s, cfg_source());
|
||||
return -1;
|
||||
+ } */
|
||||
+
|
||||
+ /* we dont want fonts below 6 width */
|
||||
+ if (XRES <6) {
|
||||
+ error("%s: bad Font '%s' width '%d' using minimum of 6)",
|
||||
+ Name,s,XRES);
|
||||
+ XRES = 6;
|
||||
}
|
||||
|
||||
+ /* we dont want fonts below 8 height */
|
||||
+ if (YRES <8) {
|
||||
+ error("%s: bad Font '%s' height '%d' using minimum of 8)",
|
||||
+ Name,s,YRES);
|
||||
+ YRES = 8;
|
||||
+ }
|
||||
|
||||
/* open communication with the display */
|
||||
if (drv_dpf_open(section) < 0) {
|
||||
diff -rupN --exclude=.svn --exclude='*.log' --exclude=Makefile --exclude='*.m4' --exclude='*.in' --exclude=autom4te.cache --exclude='config*' --exclude='*.Po' --exclude='*.sh' lcd4linux/drv_generic_graphic.c lcd4linux.1/drv_generic_graphic.c
|
||||
--- lcd4linux/drv_generic_graphic.c 2011-11-14 14:41:40.614375417 +0100
|
||||
+++ lcd4linux.1/drv_generic_graphic.c 2011-11-14 14:58:29.303285793 +0100
|
||||
@@ -259,15 +259,18 @@ static void drv_generic_graphic_render(c
|
||||
}
|
||||
|
||||
for (y = 0; y < YRES; y++) {
|
||||
- int mask = 1 << XRES;
|
||||
+
|
||||
for (x = 0; x < XRES; x++) {
|
||||
- mask >>= 1;
|
||||
- if (chr[y] & mask)
|
||||
- drv_generic_graphic_FB[layer][(r + y) * LCOLS + c + x] = fg;
|
||||
- else
|
||||
- drv_generic_graphic_FB[layer][(r + y) * LCOLS + c + x] = bg;
|
||||
+ int mask = 1 << 6;
|
||||
+ mask >>= ((x*6)/(XRES))+1;
|
||||
+ if (chr[(y*8)/(YRES)] & mask)
|
||||
+ drv_generic_graphic_FB[layer][(r + y ) * LCOLS + c + x] = fg;
|
||||
+ else
|
||||
+ drv_generic_graphic_FB[layer][(r + y ) * LCOLS + c + x] = bg;
|
||||
+
|
||||
}
|
||||
}
|
||||
+
|
||||
c += XRES;
|
||||
txt++;
|
||||
}
|
||||
Reference in New Issue
Block a user