freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Git][freetype/freetype-demos][master] * src/ftview.c (Process_Event): T


From: Alexei Podtelezhnikov (@apodtele)
Subject: [Git][freetype/freetype-demos][master] * src/ftview.c (Process_Event): Trigger screen updates locally.
Date: Sat, 14 Jan 2023 03:55:04 +0000

Alexei Podtelezhnikov pushed to branch master at FreeType / FreeType Demo Programs

Commits:

  • a6d97b6b
    by Alexei Podtelezhnikov at 2023-01-13T22:51:49-05:00
    * src/ftview.c (Process_Event): Trigger screen updates locally.
    (main, status): Cleaned up.
    

1 changed file:

Changes:

  • src/ftview.c
    ... ... @@ -87,8 +87,6 @@
    87 87
     
    
    88 88
       static struct  status_
    
    89 89
       {
    
    90
    -    int            update;
    
    91
    -
    
    92 90
         const char*    keys;
    
    93 91
         const char*    dims;
    
    94 92
         const char*    device;
    
    ... ... @@ -113,8 +111,7 @@
    113 111
         unsigned char  filter_weights[5];
    
    114 112
         int            fw_idx;
    
    115 113
     
    
    116
    -  } status = { 1,
    
    117
    -               "", DIM, NULL, RENDER_MODE_ALL,
    
    114
    +  } status = { "", DIM, NULL, RENDER_MODE_ALL,
    
    118 115
                    72, 48, 1, 0.04, 0.04, 0.02, 0.22,
    
    119 116
                    0, 0, 0, 0, 0, 0,
    
    120 117
                    FT_LCD_FILTER_DEFAULT, { 0x08, 0x4D, 0x56, 0x4D, 0x08 }, 2 };
    
    ... ... @@ -1092,9 +1089,10 @@
    1092 1089
       Process_Event( void )
    
    1093 1090
       {
    
    1094 1091
         grEvent  event;
    
    1095
    -    int      ret = 0;
    
    1092
    +    int      update = 0;
    
    1096 1093
     
    
    1097 1094
     
    
    1095
    +  Start:
    
    1098 1096
         if ( *status.keys )
    
    1099 1097
           event.key = grKEY( *status.keys++ );
    
    1100 1098
         else
    
    ... ... @@ -1103,26 +1101,20 @@
    1103 1101
           grListenSurface( display->surface, 0, &event );
    
    1104 1102
     
    
    1105 1103
           if ( event.type == gr_event_resize )
    
    1106
    -      {
    
    1107
    -        status.update = 1;
    
    1108
    -        return ret;
    
    1109
    -      }
    
    1104
    +        return 1;
    
    1110 1105
         }
    
    1111 1106
     
    
    1112
    -    status.update = 0;
    
    1113
    -
    
    1114 1107
         if ( event.key >= '1' && event.key < '1' + N_RENDER_MODES )
    
    1115 1108
         {
    
    1116 1109
           int  render_mode = (int)( event.key - '1' );
    
    1117 1110
     
    
    1118 1111
     
    
    1119 1112
           if ( status.render_mode == render_mode )
    
    1120
    -        return ret;
    
    1113
    +        goto Start;
    
    1121 1114
     
    
    1122 1115
           status.render_mode = render_mode;
    
    1123 1116
           event_render_mode_change( 0 );
    
    1124
    -      status.update = 1;
    
    1125
    -      return ret;
    
    1117
    +      return 1;
    
    1126 1118
         }
    
    1127 1119
     
    
    1128 1120
         if ( event.key >= 'A' && event.key < 'A' + N_LCD_IDXS )
    
    ... ... @@ -1131,27 +1123,24 @@
    1131 1123
     
    
    1132 1124
     
    
    1133 1125
           if ( status.lcd_idx == lcd_idx )
    
    1134
    -        return ret;
    
    1126
    +        goto Start;
    
    1135 1127
     
    
    1136 1128
           handle->lcd_mode = lcd_modes[lcd_idx];
    
    1137 1129
           FTDemo_Update_Current_Flags( handle );
    
    1138
    -      status.update  = 1;
    
    1139 1130
           status.lcd_idx = lcd_idx;
    
    1140
    -      return ret;
    
    1131
    +      return 1;
    
    1141 1132
         }
    
    1142 1133
     
    
    1143 1134
         switch ( event.key )
    
    1144 1135
         {
    
    1145 1136
         case grKeyEsc:
    
    1146 1137
         case grKEY( 'q' ):
    
    1147
    -      ret = 1;
    
    1148
    -      break;
    
    1138
    +      return 0;
    
    1149 1139
     
    
    1150 1140
         case grKeyF1:
    
    1151 1141
         case grKEY( '?' ):
    
    1152 1142
           event_help();
    
    1153
    -      status.update = 1;
    
    1154
    -      break;
    
    1143
    +      return 1;
    
    1155 1144
     
    
    1156 1145
         case grKEY( 'P' ):
    
    1157 1146
           {
    
    ... ... @@ -1161,57 +1150,51 @@
    1161 1150
             FTDemo_Version( handle, str );
    
    1162 1151
             FTDemo_Display_Print( display, "ftview.png", str );
    
    1163 1152
           }
    
    1164
    -      status.update = 0;
    
    1165
    -      break;
    
    1153
    +      goto Start;
    
    1166 1154
     
    
    1167 1155
         case grKEY( 'b' ):
    
    1168 1156
           handle->use_sbits = !handle->use_sbits;
    
    1169 1157
           FTDemo_Update_Current_Flags( handle );
    
    1170
    -      status.update = 1;
    
    1171
    -      break;
    
    1158
    +      return 1;
    
    1172 1159
     
    
    1173 1160
         case grKEY( 'c' ):
    
    1174 1161
           handle->use_color = !handle->use_color;
    
    1175 1162
           FTDemo_Update_Current_Flags( handle );
    
    1176
    -      status.update = 1;
    
    1177
    -      break;
    
    1163
    +      return 1;
    
    1178 1164
     
    
    1179 1165
         case grKEY( 'z' ):
    
    1180 1166
           handle->use_layers = !handle->use_layers;
    
    1181 1167
           FTDemo_Update_Current_Flags( handle );
    
    1182
    -      status.update = 1;
    
    1183
    -      break;
    
    1168
    +      return 1;
    
    1184 1169
     
    
    1185 1170
         case grKEY( 'i' ):
    
    1186
    -      status.update = event_palette_change( 1 );
    
    1171
    +      update = event_palette_change( 1 );
    
    1187 1172
           break;
    
    1188 1173
     
    
    1189 1174
         case grKEY( 'I' ):
    
    1190
    -      status.update = event_palette_change( -1 );
    
    1175
    +      update = event_palette_change( -1 );
    
    1191 1176
           break;
    
    1192 1177
     
    
    1193 1178
         case grKEY( 'K' ):
    
    1194 1179
           handle->use_sbits_cache = !handle->use_sbits_cache;
    
    1195
    -      status.update = 1;
    
    1196
    -      break;
    
    1180
    +      return 1;
    
    1197 1181
     
    
    1198 1182
         case grKEY( 'f' ):
    
    1199 1183
           if ( handle->hinted )
    
    1200 1184
           {
    
    1201 1185
             handle->autohint = !handle->autohint;
    
    1202 1186
             FTDemo_Update_Current_Flags( handle );
    
    1203
    -        status.update = 1;
    
    1187
    +        return 1;
    
    1204 1188
           }
    
    1205
    -      break;
    
    1189
    +      goto Start;
    
    1206 1190
     
    
    1207 1191
         case grKEY( 'h' ):
    
    1208 1192
           handle->hinted = !handle->hinted;
    
    1209 1193
           FTDemo_Update_Current_Flags( handle );
    
    1210
    -      status.update = 1;
    
    1211
    -      break;
    
    1194
    +      return 1;
    
    1212 1195
     
    
    1213 1196
         case grKEY( 'H' ):
    
    1214
    -      status.update = FTDemo_Hinting_Engine_Change( handle );
    
    1197
    +      update = FTDemo_Hinting_Engine_Change( handle );
    
    1215 1198
           break;
    
    1216 1199
     
    
    1217 1200
         case grKEY( 'l' ):
    
    ... ... @@ -1223,120 +1206,112 @@
    1223 1206
     
    
    1224 1207
           handle->lcd_mode = lcd_modes[status.lcd_idx];
    
    1225 1208
           FTDemo_Update_Current_Flags( handle );
    
    1226
    -      status.update = 1;
    
    1227
    -      break;
    
    1209
    +      return 1;
    
    1228 1210
     
    
    1229 1211
         case grKeySpace:
    
    1230 1212
           event_render_mode_change( 1 );
    
    1231
    -      status.update = 1;
    
    1232
    -      break;
    
    1213
    +      return 1;
    
    1233 1214
     
    
    1234 1215
         case grKeyBackSpace:
    
    1235 1216
           event_render_mode_change( -1 );
    
    1236
    -      status.update = 1;
    
    1237
    -      break;
    
    1217
    +      return 1;
    
    1238 1218
     
    
    1239 1219
         case grKeyTab:
    
    1240
    -      status.update = event_encoding_change();
    
    1220
    +      update = event_encoding_change();
    
    1241 1221
           break;
    
    1242 1222
     
    
    1243 1223
         case grKEY( 's' ):
    
    1244 1224
           if ( status.render_mode == RENDER_MODE_FANCY )
    
    1245
    -        status.update = event_slant_change( 0.02 );
    
    1225
    +        update = event_slant_change( 0.02 );
    
    1246 1226
           break;
    
    1247 1227
     
    
    1248 1228
         case grKEY( 'S' ):
    
    1249 1229
           if ( status.render_mode == RENDER_MODE_FANCY )
    
    1250
    -        status.update = event_slant_change( -0.02 );
    
    1230
    +        update = event_slant_change( -0.02 );
    
    1251 1231
           break;
    
    1252 1232
     
    
    1253 1233
         case grKEY( 'r' ):
    
    1254 1234
           if ( status.render_mode == RENDER_MODE_STROKE )
    
    1255
    -        status.update = event_radius_change( 0.005 );
    
    1235
    +        update = event_radius_change( 0.005 );
    
    1256 1236
           break;
    
    1257 1237
     
    
    1258 1238
         case grKEY( 'R' ):
    
    1259 1239
           if ( status.render_mode == RENDER_MODE_STROKE )
    
    1260
    -        status.update = event_radius_change( -0.005 );
    
    1240
    +        update = event_radius_change( -0.005 );
    
    1261 1241
           break;
    
    1262 1242
     
    
    1263 1243
         case grKEY( 'x' ):
    
    1264 1244
           if ( status.render_mode == RENDER_MODE_FANCY )
    
    1265
    -        status.update = event_bold_change( 0.005, 0.0 );
    
    1245
    +        update = event_bold_change( 0.005, 0.0 );
    
    1266 1246
           break;
    
    1267 1247
     
    
    1268 1248
         case grKEY( 'X' ):
    
    1269 1249
           if ( status.render_mode == RENDER_MODE_FANCY )
    
    1270
    -        status.update = event_bold_change( -0.005, 0.0 );
    
    1250
    +        update = event_bold_change( -0.005, 0.0 );
    
    1271 1251
           break;
    
    1272 1252
     
    
    1273 1253
         case grKEY( 'y' ):
    
    1274 1254
           if ( status.render_mode == RENDER_MODE_FANCY )
    
    1275
    -        status.update = event_bold_change( 0.0, 0.005 );
    
    1255
    +        update = event_bold_change( 0.0, 0.005 );
    
    1276 1256
           break;
    
    1277 1257
     
    
    1278 1258
         case grKEY( 'Y' ):
    
    1279 1259
           if ( status.render_mode == RENDER_MODE_FANCY )
    
    1280
    -        status.update = event_bold_change( 0.0, -0.005 );
    
    1260
    +        update = event_bold_change( 0.0, -0.005 );
    
    1281 1261
           break;
    
    1282 1262
     
    
    1283 1263
         case grKEY( 'g' ):
    
    1284 1264
           FTDemo_Display_Gamma_Change( display,  1 );
    
    1285
    -      status.update = 1;
    
    1286
    -      break;
    
    1265
    +      return 1;
    
    1287 1266
     
    
    1288 1267
         case grKEY( 'v' ):
    
    1289 1268
           FTDemo_Display_Gamma_Change( display, -1 );
    
    1290
    -      status.update = 1;
    
    1291
    -      break;
    
    1269
    +      return 1;
    
    1292 1270
     
    
    1293 1271
         case grKEY( 'n' ):
    
    1294
    -      status.update = event_font_change( 1 );
    
    1272
    +      update = event_font_change( 1 );
    
    1295 1273
           break;
    
    1296 1274
     
    
    1297 1275
         case grKEY( 'p' ):
    
    1298
    -      status.update = event_font_change( -1 );
    
    1276
    +      update = event_font_change( -1 );
    
    1299 1277
           break;
    
    1300 1278
     
    
    1301 1279
         case grKeyUp:
    
    1302
    -      status.update = event_size_change( 64 );
    
    1280
    +      update = event_size_change( 64 );
    
    1303 1281
           break;
    
    1304 1282
         case grKeyDown:
    
    1305
    -      status.update = event_size_change( -64 );
    
    1283
    +      update = event_size_change( -64 );
    
    1306 1284
           break;
    
    1307 1285
         case grKeyPageUp:
    
    1308
    -      status.update = event_size_change( 640 );
    
    1286
    +      update = event_size_change( 640 );
    
    1309 1287
           break;
    
    1310 1288
         case grKeyPageDown:
    
    1311
    -      status.update = event_size_change( -640 );
    
    1289
    +      update = event_size_change( -640 );
    
    1312 1290
           break;
    
    1313 1291
     
    
    1314 1292
         case grKeyLeft:
    
    1315
    -      status.update = event_index_change( -1 );
    
    1293
    +      update = event_index_change( -1 );
    
    1316 1294
           break;
    
    1317 1295
         case grKeyRight:
    
    1318
    -      status.update = event_index_change( 1 );
    
    1296
    +      update = event_index_change( 1 );
    
    1319 1297
           break;
    
    1320 1298
         case grKeyF7:
    
    1321
    -      status.update = event_index_change( -0x10 );
    
    1299
    +      update = event_index_change( -0x10 );
    
    1322 1300
           break;
    
    1323 1301
         case grKeyF8:
    
    1324
    -      status.update = event_index_change( 0x10 );
    
    1302
    +      update = event_index_change( 0x10 );
    
    1325 1303
           break;
    
    1326 1304
         case grKeyF9:
    
    1327
    -      status.update = event_index_change( -0x100 );
    
    1305
    +      update = event_index_change( -0x100 );
    
    1328 1306
           break;
    
    1329 1307
         case grKeyF10:
    
    1330
    -      status.update = event_index_change( 0x100 );
    
    1308
    +      update = event_index_change( 0x100 );
    
    1331 1309
           break;
    
    1332 1310
         case grKeyF11:
    
    1333
    -      status.update = event_index_change( -0x1000 );
    
    1311
    +      update = event_index_change( -0x1000 );
    
    1334 1312
           break;
    
    1335 1313
         case grKeyF12:
    
    1336
    -      status.update = event_index_change( 0x1000 );
    
    1337
    -      break;
    
    1338
    -
    
    1339
    -    default:
    
    1314
    +      update = event_index_change( 0x1000 );
    
    1340 1315
           break;
    
    1341 1316
         }
    
    1342 1317
     
    
    ... ... @@ -1366,8 +1341,7 @@
    1366 1341
               status.lcd_filter = -1;
    
    1367 1342
             }
    
    1368 1343
     
    
    1369
    -        status.update = 1;
    
    1370
    -        break;
    
    1344
    +        return 1;
    
    1371 1345
     
    
    1372 1346
           case grKEY( '[' ):
    
    1373 1347
             if ( status.lcd_filter < 0 )
    
    ... ... @@ -1375,9 +1349,9 @@
    1375 1349
               status.fw_idx--;
    
    1376 1350
               if ( status.fw_idx < 0 )
    
    1377 1351
                 status.fw_idx = 4;
    
    1378
    -          status.update = 1;
    
    1352
    +          return 1;
    
    1379 1353
             }
    
    1380
    -        break;
    
    1354
    +        goto Start;
    
    1381 1355
     
    
    1382 1356
           case grKEY( ']' ):
    
    1383 1357
             if ( status.lcd_filter < 0 )
    
    ... ... @@ -1385,33 +1359,33 @@
    1385 1359
               status.fw_idx++;
    
    1386 1360
               if ( status.fw_idx > 4 )
    
    1387 1361
                 status.fw_idx = 0;
    
    1388
    -          status.update = 1;
    
    1362
    +          return 1;
    
    1389 1363
             }
    
    1390
    -        break;
    
    1364
    +        goto Start;
    
    1391 1365
     
    
    1392 1366
           case grKEY( '-' ):
    
    1393 1367
             if ( status.lcd_filter < 0 )
    
    1394 1368
             {
    
    1395 1369
               event_fw_change( -1 );
    
    1396
    -          status.update = 1;
    
    1370
    +          return 1;
    
    1397 1371
             }
    
    1398
    -        break;
    
    1372
    +        goto Start;
    
    1399 1373
     
    
    1400 1374
           case grKEY( '+' ):
    
    1401 1375
           case grKEY( '=' ):
    
    1402 1376
             if ( status.lcd_filter < 0 )
    
    1403 1377
             {
    
    1404 1378
               event_fw_change( 1 );
    
    1405
    -          status.update = 1;
    
    1379
    +          return 1;
    
    1406 1380
             }
    
    1407
    -        break;
    
    1408
    -
    
    1409
    -      default:
    
    1410
    -        break;
    
    1381
    +        goto Start;
    
    1411 1382
           }
    
    1412 1383
         }
    
    1413 1384
     
    
    1414
    -    return ret;
    
    1385
    +    if ( !update )
    
    1386
    +      goto Start;
    
    1387
    +
    
    1388
    +    return 1;
    
    1415 1389
       }
    
    1416 1390
     
    
    1417 1391
     
    
    ... ... @@ -1854,9 +1828,6 @@
    1854 1828
     
    
    1855 1829
         do
    
    1856 1830
         {
    
    1857
    -      if ( !status.update )
    
    1858
    -        continue;
    
    1859
    -
    
    1860 1831
           FTDemo_Display_Clear( display );
    
    1861 1832
     
    
    1862 1833
           switch ( status.render_mode )
    
    ... ... @@ -1887,7 +1858,7 @@
    1887 1858
     
    
    1888 1859
           write_header( last );
    
    1889 1860
     
    
    1890
    -    } while ( Process_Event() == 0 );
    
    1861
    +    } while ( Process_Event() );
    
    1891 1862
     
    
    1892 1863
         printf( "Execution completed successfully.\n" );
    
    1893 1864
         if ( status.num_fails )
    


  • reply via email to

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