Vladimír Vondruš
3482c451ac
Text: no need to have virtual destructor here.
...
Protected constructor and destructor is sufficient, AbstractTextRenderer
itself isn't meant to be deleted (via pointer).
13 years ago
Vladimír Vondruš
4752166097
Text: use CHROMIUM_map_sub rather than OES_mapbuffer.
...
OES_mapbuffer isn't available in (my) NaCl anyway and CHROMIUM_map_sub
should be faster.
13 years ago
Vladimír Vondruš
9a8ec588dc
Text: fallback to OES_mapbuffer if EXT_map_buffer_range is not supported.
...
The renderer emits warning about crappy hardware, similarly to what
GlyphCache does.
13 years ago
Vladimír Vondruš
c3de32e55f
Getting rid of <>, part 7: documentation.
13 years ago
Vladimír Vondruš
41f4d2fa5d
Text: added tests for TextRenderer.
...
Exposed vertex and index buffer of mutable TextRenderer, fixed
computation of bounding rectangle.
13 years ago
Vladimír Vondruš
345abcc7ba
Text: removed redundant `inline` keyword.
13 years ago
Vladimír Vondruš
61e1ec0082
No need to have `const` also in function declarations.
13 years ago
Vladimír Vondruš
cc19e78983
Text: moved glyph caching into separate classes.
...
The API is similar for both basic and distance field caching.
13 years ago
Vladimír Vondruš
0f4e2f8a37
Text: made constructors explicit.
13 years ago
Vladimír Vondruš
6a5d75d1e4
Relicensing to MIT/Expat license, part 2: headers.
13 years ago
Vladimír Vondruš
2afda6f34d
Text: split out HarfBuzz layouting into new HarfBuzzFont class.
...
It now allows to transparently select between FreeType and HarfBuzz
layouting. The new class is built only if USE_HARFBUZZ is enabled.
13 years ago
Vladimír Vondruš
9525dfd51b
Text: abstract base for fonts and layouters.
...
Font and text layouting is now abstracted out from its implementation.
Font class is renamed to FreeTypeFont and all the work can be done
through AbstractFont and AbstractLayouter interface.
13 years ago
Vladimír Vondruš
2944a4e205
Text: non-templated base for TextRenderer.
...
Saves a lot of duplicated generated code.
13 years ago
Vladimír Vondruš
0d7baef932
Text: no need to explicitly specify Z coordinate in 3D text.
...
The coordinate is always 0 and Mesh can be configured to add it
implicitly. The code is now nearly the same for 2D and 3D, will redo it
without templates later.
13 years ago
Vladimír Vondruš
91f0d302c2
Shaders: renamed TextShader to VectorShader.
...
The code can be used for drawing any vector art, not only font glyphs.
13 years ago
Vladimír Vondruš
a7a4d3eeb8
Text: using new type aliases in whole Text namespace.
13 years ago
Vladimír Vondruš
faf94c74e2
Adapted to recent meshdata/shader changes.
13 years ago
Vladimír Vondruš
9a1f1e1a16
Text: mutable TextRenderer implementation.
...
Allows fast text updates (using buffer mapping). Also fully documented
the workflow.
13 years ago
Vladimír Vondruš
3eef49ae8b
Text: cleaned up TextRenderer header.
13 years ago
Vladimír Vondruš
2267627242
Text: return rendered rectangle from TextRenderer::render().
13 years ago
Vladimír Vondruš
dc5a4d83d9
Removing IndexedMesh, part 5: merged documentation, removed IndexedMesh.
13 years ago
Vladimír Vondruš
9d260b72d8
Text: initial implementation of font and text rendering.
...
The library uses FreeType for glyph pre-rendering and basic glyph
geometry and HarfBuzz for text layouting (i.e. ligatures, kerning, ...).
Currently all used glyphs must be prerendered into texture atlas, other
glyphs are simply not rendered (although the layouting code handles them
like if they are there).
Text rendering supports UTF-8, although glyph pre-rendering is currently
ASCII only, as I couldn't find any working implementation of Unicode
STL function in recent GCC versions. Will be fixed later.
14 years ago