[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master 25dcd0f: [ftgrid] Touch up.
From: |
Alexei Podtelezhnikov |
Subject: |
[freetype2-demos] master 25dcd0f: [ftgrid] Touch up. |
Date: |
Mon, 22 Feb 2016 04:07:03 +0000 |
branch: master
commit 25dcd0fd2007a455f3851c42868866338c4bda13
Author: Alexei Podtelezhnikov <address@hidden>
Commit: Alexei Podtelezhnikov <address@hidden>
[ftgrid] Touch up.
* src/ftgrid.c (status): Initialize `header' as NULL to display font
name initially. Use bits of new field `work' to control...
(grid_status_draw_outline, main, Process_Event): Updated accordingly.
* src/ftgrid.1: Updated.
---
ChangeLog | 9 +++++++++
src/ftgrid.1 | 2 +-
src/ftgrid.c | 36 +++++++++++++++++-------------------
3 files changed, 27 insertions(+), 20 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 46bac82..a66e8d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2016-02-21 Alexei Podtelezhnikov <address@hidden>
+
+ [ftgrid] Touch up.
+
+ * src/ftgrid.c (status): Initialize `header' as NULL to display font
+ name initially. Use bits of new field `work' to control...
+ (grid_status_draw_outline, main, Process_Event): Updated accordingly.
+ * src/ftgrid.1: Updated.
+
2016-02-21 Werner Lemberg <address@hidden>
* src/ftgrid.c (event_grid_zoom): Make zoom up always work.
diff --git a/src/ftgrid.1 b/src/ftgrid.1
index 863c78f..7cc77a8 100644
--- a/src/ftgrid.1
+++ b/src/ftgrid.1
@@ -17,7 +17,7 @@ ftgrid \- simple glyph grid viewer
.
.B ftgrid
displays the glyphs of a font as outlines right before the conversion
-from outlines to pixels take place.
+from outlines to pixels take place. It also displays the resulting bitmap.
It is possible to interactively change hinting and rendering options,
thus visualizing the applied distortions to the outlines.
.
diff --git a/src/ftgrid.c b/src/ftgrid.c
index 3a7b35d..e6c340b 100644
--- a/src/ftgrid.c
+++ b/src/ftgrid.c
@@ -89,6 +89,10 @@
#define BUFSIZE 256
+#define DO_BITMAP 1
+#define DO_OUTLINE 2
+#define DO_DOTS 4
+#define DO_DOTNUMBERS 8
typedef struct GridStatusRec_
{
@@ -120,13 +124,10 @@
grColor segment_color;
grColor blue_color;
+ int work;
int do_horz_hints;
int do_vert_hints;
int do_blue_hints;
- int do_bitmap;
- int do_outline;
- int do_dots;
- int do_dotnumbers;
int do_segment;
int lcd_filter;
@@ -134,7 +135,7 @@
const char* header;
char header_buffer[BUFSIZE];
- FT_Stroker stroker;
+ FT_Stroker stroker;
unsigned int cff_hinting_engine;
unsigned int tt_interpreter_version;
@@ -161,19 +162,16 @@
st->x_origin = 0;
st->y_origin = 0;
+ st->work = DO_BITMAP | DO_OUTLINE | DO_DOTS;
st->do_horz_hints = 1;
st->do_vert_hints = 1;
st->do_blue_hints = 1;
- st->do_bitmap = 1;
- st->do_dots = 1;
- st->do_dotnumbers = 0;
- st->do_outline = 1;
st->do_segment = 0;
st->Num = 0;
st->lcd_filter = FT_LCD_FILTER_DEFAULT;
st->gamma = GAMMA;
- st->header = "";
+ st->header = NULL;
st->mm = NULL;
st->current_axis = 0;
@@ -691,7 +689,7 @@
/* render scaled bitmap */
- if ( st->do_bitmap )
+ if ( st->work & DO_BITMAP )
{
int left, top, x_advance, y_advance;
grBitmap bitg;
@@ -729,7 +727,7 @@
}
/* stroke then draw it */
- if ( st->do_outline )
+ if ( st->work & DO_OUTLINE )
{
FT_Get_Glyph( slot, &glyph );
FT_Glyph_Stroke( &glyph, st->stroker, 1 );
@@ -741,7 +739,7 @@
}
/* draw the points... */
- if ( st->do_dots )
+ if ( st->work & DO_DOTS )
{
for ( nn = 0; nn < gimage->n_points; nn++ )
circle_draw(
@@ -755,7 +753,7 @@
}
/* ... and point numbers */
- if ( st->do_dotnumbers )
+ if ( st->work & DO_DOTNUMBERS )
{
FT_Vector* points = gimage->points;
FT_Short* contours = gimage->contours;
@@ -1519,19 +1517,19 @@
break;
case grKEY( 'd' ):
- status.do_dots = !status.do_dots;
+ status.work ^= DO_DOTS;
break;
case grKEY( 'D' ):
- status.do_dotnumbers = !status.do_dotnumbers;
+ status.work ^= DO_DOTNUMBERS;
break;
case grKEY( 'o' ):
- status.do_outline = !status.do_outline;
+ status.work ^= DO_OUTLINE;
break;
case grKEY( 'b' ):
- status.do_bitmap = !status.do_bitmap;
+ status.work ^= DO_BITMAP;
break;
case grKEY( 'p' ):
@@ -1927,7 +1925,7 @@
grid_status_draw_grid( &status );
- if ( status.do_outline || status.do_dots || status.do_dotnumbers )
+ if ( status.work )
grid_status_draw_outline( &status, handle, display );
write_header( 0 );
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master 25dcd0f: [ftgrid] Touch up.,
Alexei Podtelezhnikov <=