aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2012-01-16 02:50:03 +0000
committermichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2012-01-16 02:50:03 +0000
commitc98cf9ae78ecfb6769716d45b830b5b5e14209b7 (patch)
treeb8b38128b8af76b6d64556fd43dcfaf344c86b5b
parent8c2ea5ba9705f6a0e43ea73609b131a442e3ee09 (diff)
downloadlcd4linux-c98cf9ae78ecfb6769716d45b830b5b5e14209b7.tar.gz
scaletext patch from Stefan Kuhne
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1170 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
-rw-r--r--drv_dpf.c14
-rw-r--r--drv_generic_graphic.c6
2 files changed, 16 insertions, 4 deletions
diff --git a/drv_dpf.c b/drv_dpf.c
index a5d5c50..39e1708 100644
--- a/drv_dpf.c
+++ b/drv_dpf.c
@@ -146,11 +146,23 @@ static int drv_dpf_start2(const char *section)
}
/* 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 --git a/drv_generic_graphic.c b/drv_generic_graphic.c
index a8ac4d5..e05542d 100644
--- a/drv_generic_graphic.c
+++ b/drv_generic_graphic.c
@@ -267,10 +267,10 @@ static void drv_generic_graphic_render(const int layer, const int row, const int
}
for (y = 0; y < YRES; y++) {
- int mask = 1 << XRES;
for (x = 0; x < XRES; x++) {
- mask >>= 1;
- if (chr[y] & mask)
+ 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;