[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] add ability to change the rendered text while program is running
From: |
Freetype Supporter |
Subject: |
[PATCH] add ability to change the rendered text while program is running |
Date: |
Tue, 03 Aug 2021 02:14:00 +0000 |
This patch adds ability for you to change the rendered text while the ftview is
still running. Without this patch, only way to change rendered text is to close
and reopen program. While entering new text it is invisible but that's
something i can follow up with separate patch.
---
src/ftview.c | 44 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/src/ftview.c b/src/ftview.c
index 6c01824..8791925 100644
--- a/src/ftview.c
+++ b/src/ftview.c
@@ -771,7 +771,44 @@
/***** *****/
/*************************************************************************/
/*************************************************************************/
+static char newtxt[255];
+static void event_change_text(void) {
+ uint8_t pos = 0;
+ FTDemo_Display_Clear( display );
+ grSetLineHeight( 10 );
+ grGotoxy( 0, 0 );
+ grSetMargin( 2, 1 );
+ grGotobitmap( display->bitmap );
+ grWriteln( "Please type in the sample characters you wish to use for
rendering." );
+ grLn();
+ grWriteln( "When you are done, press enter." );
+ grLn();
+ grEvent typetxt;
+ do {
+ grListenSurface( display->surface, gr_event_key, &typetxt );
+ if (
+ (typetxt.key >= 'a' && typetxt.key <= 'z') ||
+ (typetxt.key >= 'A' && typetxt.key <= 'Z') ||
+ (typetxt.key >= '0' && typetxt.key <= '9') ||
+ (typetxt.key == grKeySpace)
+ ) {
+ if (pos < 255) {
+ newtxt[pos++] = typetxt.key;
+ }
+
+ }
+ if (typetxt.key == grKeyReturn) {
+ Text = newtxt;
+ status.render_mode = RENDER_MODE_TEXT;
+ break;
+
+ }
+
+
+ } while (1);
+
+ }
static void
event_help( void )
{
@@ -834,6 +871,7 @@
grWriteln( "f toggle forced auto- Tab cycle
through charmaps " );
grWriteln( " hinting (if hinting)
" );
grWriteln( " P print PNG
file " );
+ grWriteln( " F2 change
text rendered " );
grWriteln( " q, ESC quit
ftview " );
/* |----------------------------------|
|----------------------------------| */
grLn();
@@ -1105,6 +1143,7 @@
switch ( event.key )
{
+
case grKeyEsc:
case grKEY( 'q' ):
ret = 1;
@@ -1115,7 +1154,10 @@
event_help();
status.update = 1;
break;
-
+ case grKeyF2:
+ event_change_text();
+ status.update = 1;
+ break;
case grKEY( 'P' ):
{
FT_String str[64] = "ftview (FreeType) ";
--
2.24.3
- [PATCH] add ability to change the rendered text while program is running,
Freetype Supporter <=
Re: [PATCH] add ability to change the rendered text while program is running, Werner LEMBERG, 2021/08/06