Commit graph

2980 commits

Author SHA1 Message Date
RuiwenTang
95dde5807e gl_engine: Fix memory leak caused by no deleted GlRenderTask 2024-06-27 14:42:27 +09:00
Hermet Park
376acfacdb examples: --unnecessary initial buffer clear 2024-06-27 14:42:27 +09:00
Mira Grudzinska
01b99f1cf5 docs: add missing args description 2024-06-27 14:42:27 +09:00
Hermet Park
340ed76d11 svg2png: ++help message 2024-06-27 14:42:27 +09:00
Hermet Park
58de35c911 lottie2gif: fix an issue where the background color is omitted
the issus is occurred when the input is a source folder.
2024-06-27 14:42:27 +09:00
Hermet Park
7ee3db0ce9 tvg: updated binaries 2024-06-27 14:42:27 +09:00
Hermet Park
2761f75a4e example/LottieExtension: adjusted its window size 2024-06-27 14:42:27 +09:00
RuiwenTang
667b259b89 gl_engine: Fix compose render not correct after canvas resize
When canvas size changed, need to clear cached GLRenderTarget and
GLCompose.
2024-06-27 14:42:27 +09:00
Hermet Park
518be23db2 gl_engine: revise the gl portability
- guarantee minimum gl version requirement
- removed glesv2 dependency
- corrected gl ver dependency

issue: https://github.com/thorvg/thorvg/issues/2282
2024-06-27 14:42:27 +09:00
Hermet Park
4b01c0ef52 renderer/canvas: ++exceptional handling.
do not allow change the target if the condition is not satisfied.
2024-06-27 14:42:27 +09:00
JunsuChoi
35b1d9a544 renderer/canvas: Check refresh before draw
If target() is called again after update() is called and the size of the buffer changes, a crash may occur.
Therefore, check the refresh variable and perform drawing after update().
2024-06-27 14:42:27 +09:00
RuiwenTang
5836661155 gl_engine: Fix compile error if only has OpenGL library on MacOS
Since GLES headers and library can not be found on MacOS,
use macros to determin if link with OpenGL library.
2024-06-27 14:42:27 +09:00
Hermet Park
2fb79eca7d sw_engine: fix missing fill/stroke raster
properly update the fill/stroke when the path
has been changed
2024-06-27 14:42:27 +09:00
Hermet Park
d5c38cebb7 renderer: minor optimization
reduce the path flag writing
2024-06-27 14:42:27 +09:00
Hermet Park
c2a205047e example: clear buffer properly.
The update might affect areas outside of the
default window. Update the sample to handle window
resizing.
2024-06-27 14:42:27 +09:00
Hermet Park
933176e309 lottie: hotfix for preventing a crash.
MaskMode=None is not properly addressed,
Prevent the crash from the use-case.

issue: https://github.com/thorvg/thorvg/issues/2426
2024-06-27 14:42:27 +09:00
Mira Grudzinska
58e24f63a4 sw_engine: fix stroke miterlimit precision
Since the value was casted to int the results
were different than expected.
2024-06-27 14:42:27 +09:00
JunsuChoi
400511c123 examples: Support window resizable
Add SDL_WINDOW_RESIZABLE to the sdl window property
and call canvas->update() in the resize event.

Afterwards, if the canvas needs to be expanded by the window size by passing the size as an argument
to the update(canvas,elapsed) interface, it can be processed individually.
2024-06-27 14:42:27 +09:00
Hermet Park
bb9749094c test: corrected wrong test-suite.
The value should be out of the range to make "NonSupport"
2024-06-27 14:42:27 +09:00
Hermet Park
b322860745 infra/workflow: includes the gl engine build test. 2024-06-27 14:42:27 +09:00
Hermet Park
ef409139c2 infra: promote the GL engine to an official one.
The ThorVG OpenGL/ES engine has been stabilized and improved
significantly. Now, as a graphics engine, its drawing features
are quite functional. It is time to officially release the
engine and maintain it in the release process.

Thanks @Ruiwen for going above and beyond!

issue: https://github.com/thorvg/thorvg/issues/2435
2024-06-27 14:42:27 +09:00
Hermet Park
53734cae10 Update README.md 2024-06-27 14:42:27 +09:00
Mira Grudzinska
a61286afaa tests: resolve different type comparison warning 2024-06-27 14:42:27 +09:00
Mira Grudzinska
0a53090a87 docs: descriptions++ 2024-06-27 14:42:27 +09:00
Sergii Liebodkin
f40586bd3d wg_engine: fix incorrect geomatry
Fix computation of segments count for cubic curves.
Using screen coordinates of base points, instead of world coordinates
2024-06-27 14:42:27 +09:00
Hermet Park
38765b7ac0 examples: replace the efl toolkit with sdl
see also: https://www.libsdl.org/

issue: https://github.com/thorvg/thorvg/issues/1244
2024-06-27 14:42:27 +09:00
Hermet Park
a716e516fa doc: updated example dependency 2024-06-27 14:42:27 +09:00
Hermet Park
0d9b7c2006 gl_engine: improve the dependency check
- dependency() works with a pkgconfig, more preferred.
- add fallback to GL library search with candididates.
2024-06-27 14:42:27 +09:00
Hermet Park
a0c6025132 lottie: fix a compile error on MSC with clang.
issue: https://github.com/thorvg/thorvg/issues/2347
2024-06-27 14:42:27 +09:00
Hermet Park
8b5d2e4a13 sw_engine: ++exception handling
prevent the out of range anti-aliasing frames.

issue: https://github.com/thorvg/thorvg/issues/2401
2024-06-27 14:42:27 +09:00
Hermet Park
8332ee3b95 sw_engine: hotfix avx/neon 8 bit rasterizer.
recte/rle 8 bit rasterizer has been broken,
make it work safely with c raster version.

issue: https://github.com/thorvg/thorvg/issues/2146
2024-06-27 14:42:27 +09:00
Mira Grudzinska
410f58fa26 tests: add missing capi saver tests & ifdefs 2024-06-27 14:42:23 +09:00
Mira Grudzinska
03242b5367 common: add missing ifdef
In the absence of support for the TTF loader
crashes occurred. Fixed.
2024-06-24 14:56:36 +09:00
Mira Grudzinska
d9326921fa lottie: fix repeater order
Assigning numbers 1 or 2 to a bool always
resulted in true. Now fixed and repeated
shapes are drawn in the proper order.
If the repeater had no elements, iterating
shapes from the end would result in a segf.
This issue is now fixed.
2024-06-24 14:56:31 +09:00
Hermet Park
70daa7b399 infra: --EGL dependency
there is no more EGL dependency in gl engine.
2024-06-24 14:56:24 +09:00
Sergii Liebodkin
9c9999169e wg_engine: fix scene rendering with blend
Fix allplience of the blend method, that setuped for scene, but not for a shape
Overlay blend func changed to be close to spec
2024-06-24 14:56:14 +09:00
Mira Grudzinska
4f32a15acb examples: add FillSpread example
@Issue: https://github.com/thorvg/thorvg/issues/2124
2024-06-24 14:56:07 +09:00
Mira Grudzinska
fd28cb9304 test: capi tests updated by text apis 2024-06-24 14:55:15 +09:00
Mira Grudzinska
80b1e911ba examples: capi updated with text examples 2024-06-24 14:55:09 +09:00
Mira Grudzinska
08d310111e capi: text c-api binding
@Issue: https://github.com/thorvg/thorvg/issues/2374
2024-06-24 14:55:02 +09:00
Sergii Liebodkin
2725ccfcd7 wg_engine: skip shapes with zero opacity values
Skip shapes rendering, if opacity is 0 and if fill color for shape and strokes also equal to 0
This behavior is used in sw renderer and fix visual artifacts in referenced animations.
Also this rule fix composition results in case of AlphaMask and InvAlphaMask methods
2024-06-24 14:54:56 +09:00
Hermet Park
7008d26d05 wg_engine: --redundant code 2024-06-24 14:54:49 +09:00
Mira Grudzinska
5dfe2d92cf tests: add tests for text loading from memory 2024-06-24 14:54:42 +09:00
Mira Grudzinska
7ec67baf9a examples: ensure the file is closed
In case of an error during memory allocation
for file data, the file was not closed.
2024-06-24 14:53:32 +09:00
Mira Grudzinska
393fc88570 common: force the use of ttf loader for font data
Providing an incorrect mimetype or not specifying one
was not handled and resulted in data not being loaded
when loading the font from memory.
Now, the use of the TTF loader is enforced regardless
of the provided mimetype.
2024-06-24 14:53:21 +09:00
Mira Grudzinska
33640eae83 common: fix returned value
In the case of requesting to unload a font that
has not been previously loaded, InsufficientCondition
should be returned, not InvalidArgument.
2024-06-24 14:52:27 +09:00
Sergii Liebodkin
596845d1cf wg_engine: fix composition math
Fix AlphaMask, InvAlphaMask, LumaMask and InvLumaMask math
Fix double apllience of opacity value
2024-06-24 14:52:21 +09:00
Sergii Liebodkin
7bbd058bd7 wg_engine: fix fill rule usage
Fix wronk application of fill rule in a cases of terminated path (.close()/.moveTo())
2024-06-24 14:52:15 +09:00
Sergii Liebodkin
5cf7c756db wg_engine: fix strokes failers and visual atrifacts
Ignoring rezo-width strokes, single point strokes.
Fix visual artifacts in case of mitter joints.
2024-06-24 14:52:09 +09:00
Hermet Park
2079c95668 infra: build wg canvas properly. 2024-06-24 14:52:03 +09:00