... |
... |
@@ -157,7 +157,7 @@ |
157
|
157
|
}
|
158
|
158
|
|
159
|
159
|
|
160
|
|
- static FT_Error
|
|
160
|
+ static int
|
161
|
161
|
Render_Stroke( int num_indices,
|
162
|
162
|
int offset )
|
163
|
163
|
{
|
... |
... |
@@ -174,7 +174,7 @@ |
174
|
174
|
if ( error )
|
175
|
175
|
{
|
176
|
176
|
/* probably a non-existent bitmap font size */
|
177
|
|
- return error;
|
|
177
|
+ return -1;
|
178
|
178
|
}
|
179
|
179
|
|
180
|
180
|
INIT_SIZE( size, start_x, start_y, step_y, x, y );
|
... |
... |
@@ -258,11 +258,11 @@ |
258
|
258
|
status.num_fails++;
|
259
|
259
|
}
|
260
|
260
|
|
261
|
|
- return error;
|
|
261
|
+ return i - 1;
|
262
|
262
|
}
|
263
|
263
|
|
264
|
264
|
|
265
|
|
- static FT_Error
|
|
265
|
+ static int
|
266
|
266
|
Render_Fancy( int num_indices,
|
267
|
267
|
int offset )
|
268
|
268
|
{
|
... |
... |
@@ -280,7 +280,7 @@ |
280
|
280
|
if ( error )
|
281
|
281
|
{
|
282
|
282
|
/* probably a non-existent bitmap font size */
|
283
|
|
- return error;
|
|
283
|
+ return -1;
|
284
|
284
|
}
|
285
|
285
|
|
286
|
286
|
INIT_SIZE( size, start_x, start_y, step_y, x, y );
|
... |
... |
@@ -402,11 +402,11 @@ |
402
|
402
|
status.num_fails++;
|
403
|
403
|
}
|
404
|
404
|
|
405
|
|
- return error;
|
|
405
|
+ return i - 1;
|
406
|
406
|
}
|
407
|
407
|
|
408
|
408
|
|
409
|
|
- static FT_Error
|
|
409
|
+ static int
|
410
|
410
|
Render_All( int num_indices,
|
411
|
411
|
int offset )
|
412
|
412
|
{
|
... |
... |
@@ -422,7 +422,7 @@ |
422
|
422
|
if ( error )
|
423
|
423
|
{
|
424
|
424
|
/* probably a non-existent bitmap font size */
|
425
|
|
- return error;
|
|
425
|
+ return -1;
|
426
|
426
|
}
|
427
|
427
|
|
428
|
428
|
INIT_SIZE( size, start_x, start_y, step_y, x, y );
|
... |
... |
@@ -561,11 +561,11 @@ |
561
|
561
|
status.num_fails++;
|
562
|
562
|
}
|
563
|
563
|
|
564
|
|
- return FT_Err_Ok;
|
|
564
|
+ return i - 1;
|
565
|
565
|
}
|
566
|
566
|
|
567
|
567
|
|
568
|
|
- static FT_Error
|
|
568
|
+ static int
|
569
|
569
|
Render_Text( int num_indices,
|
570
|
570
|
int offset )
|
571
|
571
|
{
|
... |
... |
@@ -582,7 +582,7 @@ |
582
|
582
|
if ( error )
|
583
|
583
|
{
|
584
|
584
|
/* probably a non-existent bitmap font size */
|
585
|
|
- return error;
|
|
585
|
+ return -1;
|
586
|
586
|
}
|
587
|
587
|
|
588
|
588
|
INIT_SIZE( size, start_x, start_y, step_y, x, y );
|
... |
... |
@@ -646,11 +646,11 @@ |
646
|
646
|
status.num_fails++;
|
647
|
647
|
}
|
648
|
648
|
|
649
|
|
- return FT_Err_Ok;
|
|
649
|
+ return -1;
|
650
|
650
|
}
|
651
|
651
|
|
652
|
652
|
|
653
|
|
- static FT_Error
|
|
653
|
+ static int
|
654
|
654
|
Render_Waterfall( int mid_size,
|
655
|
655
|
int offset )
|
656
|
656
|
{
|
... |
... |
@@ -760,7 +760,7 @@ |
760
|
760
|
FTDemo_Set_Current_Charsize( handle, mid_size, status.res );
|
761
|
761
|
FTDemo_Get_Size( handle, &size );
|
762
|
762
|
|
763
|
|
- return FT_Err_Ok;
|
|
763
|
+ return -1;
|
764
|
764
|
}
|
765
|
765
|
|
766
|
766
|
|
... |
... |
@@ -1379,7 +1379,7 @@ |
1379
|
1379
|
|
1380
|
1380
|
|
1381
|
1381
|
static void
|
1382
|
|
- write_header( FT_Error error_code )
|
|
1382
|
+ write_header( int last )
|
1383
|
1383
|
{
|
1384
|
1384
|
char buf[256];
|
1385
|
1385
|
int line = 4;
|
... |
... |
@@ -1393,7 +1393,7 @@ |
1393
|
1393
|
FTDemo_Draw_Header( handle, display, status.ptsize, status.res,
|
1394
|
1394
|
status.render_mode != RENDER_MODE_TEXT &&
|
1395
|
1395
|
status.render_mode != RENDER_MODE_WATERFALL ?
|
1396
|
|
- status.topleft : -1, error_code );
|
|
1396
|
+ status.topleft : -1, error );
|
1397
|
1397
|
|
1398
|
1398
|
/* render mode */
|
1399
|
1399
|
{
|
... |
... |
@@ -1573,14 +1573,28 @@ |
1573
|
1573
|
}
|
1574
|
1574
|
}
|
1575
|
1575
|
|
1576
|
|
- /* Last index or charcode */
|
1577
|
|
- snprintf( buf, sizeof ( buf ),
|
1578
|
|
- handle->encoding == FT_ENCODING_ORDER ? "last: %d" :
|
1579
|
|
- handle->encoding == FT_ENCODING_UNICODE ? "last: U+%04X" :
|
1580
|
|
- "last: 0x%X",
|
1581
|
|
- handle->current_font->num_indices - 1 );
|
1582
|
|
- grWriteCellString( display->bitmap, 0, display->bitmap->rows - GR_FONT_SIZE,
|
1583
|
|
- buf, display->fore_color );
|
|
1576
|
+ /* last and limit indices or charcodes */
|
|
1577
|
+ if ( last >= 0 )
|
|
1578
|
+ {
|
|
1579
|
+ snprintf( buf, sizeof ( buf ),
|
|
1580
|
+ handle->encoding == FT_ENCODING_ORDER ? "last: %d" :
|
|
1581
|
+ handle->encoding == FT_ENCODING_UNICODE ? "last: U+%04X" :
|
|
1582
|
+ "last: 0x%X",
|
|
1583
|
+ last );
|
|
1584
|
+ grWriteCellString( display->bitmap,
|
|
1585
|
+ 0, display->bitmap->rows - GR_FONT_SIZE
|
|
1586
|
+ - HEADER_HEIGHT,
|
|
1587
|
+ buf, display->fore_color );
|
|
1588
|
+
|
|
1589
|
+ snprintf( buf, sizeof ( buf ),
|
|
1590
|
+ handle->encoding == FT_ENCODING_ORDER ? "limit: %d" :
|
|
1591
|
+ handle->encoding == FT_ENCODING_UNICODE ? "limit: U+%04X" :
|
|
1592
|
+ "limit: 0x%X",
|
|
1593
|
+ handle->current_font->num_indices - 1 );
|
|
1594
|
+ grWriteCellString( display->bitmap,
|
|
1595
|
+ 0, display->bitmap->rows - GR_FONT_SIZE,
|
|
1596
|
+ buf, display->fore_color );
|
|
1597
|
+ }
|
1584
|
1598
|
|
1585
|
1599
|
grRefreshSurface( display->surface );
|
1586
|
1600
|
}
|
... |
... |
@@ -1771,6 +1785,9 @@ |
1771
|
1785
|
main( int argc,
|
1772
|
1786
|
char* argv[] )
|
1773
|
1787
|
{
|
|
1788
|
+ int last = -1;
|
|
1789
|
+
|
|
1790
|
+
|
1774
|
1791
|
/* Initialize engine */
|
1775
|
1792
|
handle = FTDemo_New();
|
1776
|
1793
|
|
... |
... |
@@ -1811,30 +1828,30 @@ |
1811
|
1828
|
switch ( status.render_mode )
|
1812
|
1829
|
{
|
1813
|
1830
|
case RENDER_MODE_ALL:
|
1814
|
|
- error = Render_All( handle->current_font->num_indices,
|
1815
|
|
- status.offset );
|
|
1831
|
+ last = Render_All( handle->current_font->num_indices,
|
|
1832
|
+ status.offset );
|
1816
|
1833
|
break;
|
1817
|
1834
|
|
1818
|
1835
|
case RENDER_MODE_FANCY:
|
1819
|
|
- error = Render_Fancy( handle->current_font->num_indices,
|
1820
|
|
- status.offset );
|
|
1836
|
+ last = Render_Fancy( handle->current_font->num_indices,
|
|
1837
|
+ status.offset );
|
1821
|
1838
|
break;
|
1822
|
1839
|
|
1823
|
1840
|
case RENDER_MODE_STROKE:
|
1824
|
|
- error = Render_Stroke( handle->current_font->num_indices,
|
1825
|
|
- status.offset );
|
|
1841
|
+ last = Render_Stroke( handle->current_font->num_indices,
|
|
1842
|
+ status.offset );
|
1826
|
1843
|
break;
|
1827
|
1844
|
|
1828
|
1845
|
case RENDER_MODE_TEXT:
|
1829
|
|
- error = Render_Text( -1, status.offset );
|
|
1846
|
+ last = Render_Text( -1, status.offset );
|
1830
|
1847
|
break;
|
1831
|
1848
|
|
1832
|
1849
|
case RENDER_MODE_WATERFALL:
|
1833
|
|
- error = Render_Waterfall( status.ptsize, status.offset );
|
|
1850
|
+ last = Render_Waterfall( status.ptsize, status.offset );
|
1834
|
1851
|
break;
|
1835
|
1852
|
}
|
1836
|
1853
|
|
1837
|
|
- write_header( error );
|
|
1854
|
+ write_header( last );
|
1838
|
1855
|
|
1839
|
1856
|
} while ( Process_Event() == 0 );
|
1840
|
1857
|
|