[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master 5b7cf5e: * src/ftgrid.c (event_grid_zoom): Pret
From: |
Alexei Podtelezhnikov |
Subject: |
[freetype2-demos] master 5b7cf5e: * src/ftgrid.c (event_grid_zoom): Pretty scale formatting. |
Date: |
Tue, 29 Sep 2020 13:43:02 -0400 (EDT) |
branch: master
commit 5b7cf5e7016fbeffe2f1c94941fb836b91b04e56
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
* src/ftgrid.c (event_grid_zoom): Pretty scale formatting.
---
ChangeLog | 4 ++++
src/ftgrid.c | 15 +++++++++++++--
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b4cb035..4ae25e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2020-09-29 Alexei Podtelezhnikov <apodtele@gmail.com>
+ * src/ftgrid.c (event_grid_zoom): Pretty scale formatting.
+
+2020-09-29 Alexei Podtelezhnikov <apodtele@gmail.com>
+
[ftgrid] Implement reversible floating zoom.
The floating zoom is neccessary to display extremely large sizes
diff --git a/src/ftgrid.c b/src/ftgrid.c
index 0af226d..360d455 100644
--- a/src/ftgrid.c
+++ b/src/ftgrid.c
@@ -1139,8 +1139,19 @@
status.scale = ldexpf( frc / 8.0f, exp );
- snprintf( status.header_buffer, sizeof ( status.header_buffer ),
- "zoom scale %g", status.scale );
+ exp -= 3;
+ while ( ~frc & 1 )
+ {
+ frc >>= 1;
+ exp ++;
+ }
+
+ if ( exp >= 0 )
+ snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+ "zoom scale %d:1", frc << exp );
+ else
+ snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+ "zoom scale %d:%d", frc, 1 << -exp );
status.header = (const char *)status.header_buffer;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master 5b7cf5e: * src/ftgrid.c (event_grid_zoom): Pretty scale formatting.,
Alexei Podtelezhnikov <=