[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 );
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master 4ee3da2 2/2: * src/ftgrid.c (bitmap_scale): Implement BGRA scaling.,
Werner Lemberg <=