[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master f38e0e7: * src/ftgrid.c (bitmap_scale): Gray al
From: |
Alexei Podtelezhnikov |
Subject: |
[freetype2-demos] master f38e0e7: * src/ftgrid.c (bitmap_scale): Gray alternative to LCD bitmap... |
Date: |
Tue, 25 Jun 2019 22:38:51 -0400 (EDT) |
branch: master
commit f38e0e7e4afd7b36d73fd8b96a27addfc3781182
Author: Alexei Podtelezhnikov <address@hidden>
Commit: Alexei Podtelezhnikov <address@hidden>
* src/ftgrid.c (bitmap_scale): Gray alternative to LCD bitmap...
(Process_Event): ... after repeated bitmap toggles.
---
ChangeLog | 5 +++++
src/ftgrid.c | 23 ++++++++++++++++-------
2 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index be8a20a..7b5b668 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-06-25 Alexei Podtelezhnikov <address@hidden>
+
+ * src/ftgrid.c (bitmap_scale): Gray alternative to LCD bitmap...
+ (Process_Event): ... after repeated bitmap toggles.
+
2019-06-20 Alexei Podtelezhnikov <address@hidden>
[ftgrid] Tweak direct rendering.
diff --git a/src/ftgrid.c b/src/ftgrid.c
index def21f1..bc720b1 100644
--- a/src/ftgrid.c
+++ b/src/ftgrid.c
@@ -88,10 +88,11 @@
#define BUFSIZE 256
-#define DO_BITMAP 1
-#define DO_OUTLINE 2
-#define DO_DOTS 4
-#define DO_DOTNUMBERS 8
+#define DO_BITMAP 1
+#define DO_GRAY_BITMAP 2
+#define DO_OUTLINE 4
+#define DO_DOTS 8
+#define DO_DOTNUMBERS 16
typedef struct GridStatusRec_
{
@@ -459,8 +460,9 @@
static void
- bitmap_scale( grBitmap* bit,
- int scale )
+ bitmap_scale( GridStatus st,
+ grBitmap* bit,
+ int scale )
{
unsigned char* s = bit->buffer;
unsigned char* t;
@@ -503,6 +505,7 @@
break;
case gr_pixel_mode_gray:
+ Gray:
for ( i = 0; i < bit->rows; i++ )
{
for ( j = 0; j < pitch; j++ )
@@ -516,6 +519,8 @@
case gr_pixel_mode_lcd:
case gr_pixel_mode_lcd2:
+ if ( st->work & DO_GRAY_BITMAP )
+ goto Gray;
for ( i = 0; i < bit->rows; i++ )
{
for ( j = 0; j < width; j += 3 )
@@ -534,6 +539,8 @@
case gr_pixel_mode_lcdv:
case gr_pixel_mode_lcdv2:
+ if ( st->work & DO_GRAY_BITMAP )
+ goto Gray;
for ( i = 0; i < bit->rows; i += 3 )
{
for ( j = 0; j < pitch; j++ )
@@ -636,7 +643,7 @@
if ( !error )
{
- bitmap_scale( &bitg, scale );
+ bitmap_scale( st, &bitg, scale );
grBlitGlyphToBitmap( display->bitmap, &bitg,
ox + left * scale, oy - top * scale,
@@ -1510,6 +1517,8 @@
case grKEY( 'b' ):
status.work ^= DO_BITMAP;
+ if ( status.work & DO_BITMAP )
+ status.work ^= DO_GRAY_BITMAP;
break;
case grKEY( 'p' ):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master f38e0e7: * src/ftgrid.c (bitmap_scale): Gray alternative to LCD bitmap...,
Alexei Podtelezhnikov <=