Hermet Park
ced252e0eb
renderer: ++reliability in text drawing
...
Allow the canvas to pass through
even if text elements are not properly supported.
issue: https://github.com/thorvg/thorvg/issues/2715
2024-09-12 22:11:26 +09:00
Hermet Park
1eb3e068df
sw_engine: cleaned up the blending operations.
...
Corrected the alpha interpolation order during blending.
This also corrected the hard mix blending result in the guitar sample.
issue: https://github.com/thorvg/thorvg/issues/2704
2024-09-12 22:09:54 +09:00
Hermet Park
759354f7cd
sw_engine: fixed incorrect image blending operations
...
The anti-aliased outline color was incorrectly blended
at the multiply option.
The fix can be observed in the example:
'examples/lottie/resourcesguitar.json'
in order to do this, RenderMehthod::blend() method introduced
`bool direct` for figuring out the intermediate composition.
2024-08-30 01:08:37 +09:00
Łukasz Pomietło
f324cc993d
renderer/text: fix a missing text update
...
previously font size & italic style had been ignored
even if its attributes are changed.
Co-Authored-By: Hermet Park <hermet@lottiefiles.com>
issue: https://github.com/thorvg/thorvg/issues/2676
2024-08-30 01:00:42 +09:00
lpogic
35ffa9edf8
text: fixed a corrupted italic style application
...
issue: https://github.com/thorvg/thorvg/issues/2669
2024-08-30 00:57:57 +09:00
Mira Grudzinska
1540ecb4c0
common: prevent warning - expression result unused
2024-08-23 10:46:38 +09:00
Hermet Park
222eb2720a
renderer/text: --memory leak
...
regression by 71d3fce1dd
2024-08-23 10:46:29 +09:00
Hermet Park
f5337015e9
renderer: text refactoring
...
- assign the shape instance as mandatory.
- assign the text instance internally.
2024-08-23 10:45:55 +09:00
Hermet Park
8927294374
common: spec out Scene Clipper
...
Scene Clipper is an unusual feature
that is too unstable and ambiguous in ThorVG.
Users can achieve the same functionality
with multiple composed shapes instead of scene clipping.
size: -2.5kb
issues:
- https://github.com/thorvg/thorvg/issues/1548
- https://github.com/thorvg/thorvg/issues/1549
- https://github.com/thorvg/thorvg/issues/1573
2024-08-15 23:18:39 +09:00
Hermet Park
b88ccd2cfc
renderer: rectified the bounds() behavior
...
Text fill is broken by 43c87b4eb5
2024-08-09 11:33:38 +09:00
Hermet Park
8c4b9b2772
renderer: code refactoring
...
Replaced the transformation with
a strong associated data field.
This helps to reduce the binary size (-1k).
2024-08-09 10:49:26 +09:00
Hermet Park
0c709b2e43
common: code refactoring
...
Trimming the transform data pass,
from RenderTransform to Matrix.
No logical changes.
2024-08-09 10:37:39 +09:00
Hermet Park
183749d1aa
renderer: ++null check
...
fixed a Duplicate example crash, regression by:
f06127ab93
2024-07-19 08:41:54 +09:00
Hermet Park
cf253dd873
lottie: ++scene rendering optimization
...
Apply LottieRenderPooler to path/rect/ellipse/polystar.
This enhances the animation performance: ~10%
2024-07-19 08:41:38 +09:00
Mira Grudzinska
0f2fe0c4d4
common: fix rendering failure
...
In case of a problem with loading font data, there
is no paint inside a text that can be rendered,
but this should not interrupt the rendering process
of other paints. Now fixed.
@Issue: https://github.com/thorvg/thorvg/issues/2468
2024-06-27 14:42:27 +09:00
Hermet Park
a8fc3a6e50
renderer: revise the internal logic.
...
dispose of the resources at the end of the paint deletion.
This will help retain the resources of the retained paints
and reuse them after reconstructing the next scene.
2024-04-05 17:46:32 +09:00
Hermet Park
636890e20b
renderer: code refactoring.
...
replaced references with pointers to ensure consistency.
no logical changes.
2024-04-05 17:42:42 +09:00
Hermet Park
884a505d6a
text/ttf: fixed all memory violations.
2024-01-02 20:34:12 +09:00
Jinny You
92288c8291
updated copyright date ( #1866 )
2024-01-02 20:34:12 +09:00
Hermet Park
54528b6ac9
renderer: introduce a ThorVG Text interface.
...
Introduced New APIs under the experimental tags.
- Result Text::font(const char* name, float size, const char* style = nullptr);
- Result Text::text(const char* text);
- Result Text::fill(uint8_t r, uint8_t g, uint8_t b);
- static Result Text::load(const std::string& path);
- static Result Text::unload(const std::string& path);
- static Text::std::unique_ptr<Text> gen();
- static Text::uint32_t identifier()
@Issue: https://github.com/thorvg/thorvg/issues/969
2024-01-02 20:34:11 +09:00