[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master 0efebc5: [ftstring] Implement string shifts.
From: |
Alexei Podtelezhnikov |
Subject: |
[freetype2-demos] master 0efebc5: [ftstring] Implement string shifts. |
Date: |
Sat, 30 Jun 2018 22:55:16 -0400 (EDT) |
branch: master
commit 0efebc5a47df1251b56e5a71bc2c95b75ee5fc46
Author: Alexei Podtelezhnikov <address@hidden>
Commit: Alexei Podtelezhnikov <address@hidden>
[ftstring] Implement string shifts.
* src/ftstring.c (event_center_change): New function.
(Process_Event): Shift the string with left-right arrows, rotate it
with F5-F6.
(event_help): Document it.
---
ChangeLog | 11 ++++++++++-
src/ftstring.c | 30 ++++++++++++++++++++++++------
2 files changed, 34 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c9aad6f..678b03d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,13 @@
-2018-06-28 Alexei Podtelezhnikov <address@hidden>
+2018-06-30 Alexei Podtelezhnikov <address@hidden>
+
+ [ftstring] Implement string shifts.
+
+ * src/ftstring.c (event_center_change): New function.
+ (Process_Event): Shift the string with left-right arrows, rotate it
+ with F5-F6.
+ (event_help): Document it.
+
+2018-06-30 Alexei Podtelezhnikov <address@hidden>
* src/ftcommon.c (FTDemo_Get_Index): Handle `FT_ENCODING_ORDER'.
diff --git a/src/ftstring.c b/src/ftstring.c
index 5d188cb..9bf3f96 100644
--- a/src/ftstring.c
+++ b/src/ftstring.c
@@ -231,8 +231,11 @@
grWriteln( " Page Up : increase pointsize by 10 units" );
grWriteln( " Page Down : decrease pointsize by 10 units" );
grLn();
- grWriteln( " Right : rotate counter-clockwise" );
- grWriteln( " Left : rotate clockwise" );
+ grWriteln( " Left : move left" );
+ grWriteln( " Right : move right" );
+ grLn();
+ grWriteln( " F5 : rotate counter-clockwise" );
+ grWriteln( " F6 : rotate clockwise" );
grWriteln( " F7 : big rotate counter-clockwise" );
grWriteln( " F8 : big rotate clockwise" );
grLn();
@@ -261,6 +264,18 @@
static void
+ event_center_change( FT_Fixed delta )
+ {
+ status.sc.center += delta;
+
+ if ( status.sc.center > 0x10000 )
+ status.sc.center = 0x10000;
+ else if ( status.sc.center < 0 )
+ status.sc.center = 0;
+ }
+
+
+ static void
event_angle_change( int delta )
{
double radian;
@@ -535,10 +550,13 @@
case grKeyPageUp: event_size_change( 640 ); break;
case grKeyPageDown: event_size_change( -640 ); break;
- case grKeyLeft: event_angle_change( -3 ); break;
- case grKeyRight: event_angle_change( 3 ); break;
- case grKeyF7: event_angle_change( -30 ); break;
- case grKeyF8: event_angle_change( 30 ); break;
+ case grKeyLeft: event_center_change( 0x800 ); break;
+ case grKeyRight: event_center_change( -0x800 ); break;
+
+ case grKeyF5: event_angle_change( -3 ); break;
+ case grKeyF6: event_angle_change( 3 ); break;
+ case grKeyF7: event_angle_change( -30 ); break;
+ case grKeyF8: event_angle_change( 30 ); break;
default:
break;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master 0efebc5: [ftstring] Implement string shifts.,
Alexei Podtelezhnikov <=