|
15 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT |
16 | 16 | NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
17 | 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES |
18 | | - OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
19 | | - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
| 18 | + OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 19 | + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
20 | 20 | */ |
21 | 21 |
|
| 22 | +#include <cmath> |
| 23 | +#include <cstdint> |
| 24 | + |
22 | 25 | /* |
23 | | ----------------------------------- How to plug into rendering API ---------------------------------------- |
| 26 | +---------------------------------- How to plug into rendering API ---------------------------------------- |
24 | 27 |
|
25 | 28 | 1. Create these simple shaders ( GLSL example provided ): |
26 | 29 |
|
@@ -384,17 +387,17 @@ typedef uint64_t ve_fontcache_poollist_value; |
384 | 387 |
|
385 | 388 | struct ve_fontcache_poollist_item |
386 | 389 | { |
387 | | - ve_fontcache_poollist_itr prev = -1; |
388 | | - ve_fontcache_poollist_itr next = -1; |
| 390 | + ve_fontcache_poollist_itr prev = 0xFFFFFFFFU; |
| 391 | + ve_fontcache_poollist_itr next = 0xFFFFFFFFU; |
389 | 392 | ve_fontcache_poollist_value value = 0; |
390 | 393 | }; |
391 | 394 |
|
392 | 395 | struct ve_fontcache_poollist |
393 | 396 | { |
394 | 397 | std::vector< ve_fontcache_poollist_item > pool; |
395 | 398 | std::vector< ve_fontcache_poollist_itr > freelist; |
396 | | - ve_fontcache_poollist_itr front = -1; |
397 | | - ve_fontcache_poollist_itr back = -1; |
| 399 | + ve_fontcache_poollist_itr front = 0xFFFFFFFFU; |
| 400 | + ve_fontcache_poollist_itr back = 0xFFFFFFFFU; |
398 | 401 | size_t size = 0; |
399 | 402 | size_t capacity = 0; |
400 | 403 | }; |
@@ -1456,7 +1459,7 @@ void ve_fontcache_shape_text_uncached( ve_fontcache* cache, ve_font_id font, ve_ |
1456 | 1459 | } |
1457 | 1460 | if ( std::abs( entry.size ) <= VE_FONTCACHE_ADVANCE_SNAP_SMALLFONT_SIZE ) { |
1458 | 1461 | // Expand advance to closest pixel for hb_font small sizes. |
1459 | | - pos = std::ceilf( pos ); |
| 1462 | + pos = std::ceil( pos ); |
1460 | 1463 | } |
1461 | 1464 |
|
1462 | 1465 | output.glyphs.push_back( glyph_id ); |
@@ -1529,7 +1532,7 @@ void ve_fontcache_shape_text_uncached( ve_fontcache* cache, ve_font_id font, ve_ |
1529 | 1532 | } |
1530 | 1533 | if ( std::abs( entry.size ) <= VE_FONTCACHE_ADVANCE_SNAP_SMALLFONT_SIZE ) { |
1531 | 1534 | // Expand advance to closest pixel for hb_font small sizes. |
1532 | | - pos = std::ceilf( pos ); |
| 1535 | + pos = std::ceil( pos ); |
1533 | 1536 | } |
1534 | 1537 |
|
1535 | 1538 | output.glyphs.push_back( stbtt_FindGlyphIndex( &entry.info, codepoint ) ); |
|
0 commit comments