freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2-demos] master 4ee3da2 2/2: * src/ftgrid.c (bitmap_scale): Imp


From: Werner Lemberg
Subject: [freetype2-demos] master 4ee3da2 2/2: * src/ftgrid.c (bitmap_scale): Implement BGRA scaling.
Date: Fri, 4 Feb 2022 22:47:55 -0500 (EST)

branch: master
commit 4ee3da2ba8846348125119fbb0974ddc95644e3c
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>

    * src/ftgrid.c (bitmap_scale): Implement BGRA scaling.
---
 src/ftgrid.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/ftgrid.c b/src/ftgrid.c
index f36f173..2cdb710 100644
--- a/src/ftgrid.c
+++ b/src/ftgrid.c
@@ -495,6 +495,22 @@
         }
         break;
 
+      case gr_pixel_mode_bgra:
+        for ( i = 0; i < bit->rows; i++ )
+        {
+          FT_UInt32*  l4 = (FT_UInt32*)line;
+          FT_UInt32*  s4 = (FT_UInt32*)( s + i * pitch );
+
+          for ( j = 0; j < width; j++, s4++ )
+            for ( k = 0; k < scale; k++, l4++ )
+              *l4 = *s4;
+
+          for ( k = 1; k < scale; k++, line += pitch * scale )
+            memcpy( line + pitch * scale, line, (size_t)( pitch * scale ) );
+          line += pitch * scale;
+        }
+        break;
+
       default:
         return;
     }
@@ -565,9 +581,9 @@
     /* render scaled bitmap */
     if ( st->work & DO_BITMAP && scale == st->scale )
     {
-      FT_Glyph        glyph, glyf;
-      int             left, top, x_advance, y_advance;
-      grBitmap        bitg;
+      FT_Glyph  glyph, glyf;
+      int       left, top, x_advance, y_advance;
+      grBitmap  bitg;
 
 
       FT_Get_Glyph( slot, &glyph );



reply via email to

[Prev in Thread] Current Thread [Next in Thread]