freetype-commit
[Top][All Lists]
Advanced

[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;



reply via email to

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