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
Hermet Park
784ff30008
renderer/canvas: clean up code
...
pimpl is not used at all.
2024-06-24 14:51:57 +09:00
Mira Grudzinska
4c546f843f
capi: remove the incorrectly named API
...
There was a typo in the name (tvg_canvas_est_viewport),
which made it seem like it was missing. The correctly
named API has already been added, so this one can be
removed.
2024-06-24 14:51:51 +09:00
Hermet Park
56d3885f24
sw_engine: fix a crash issue.
...
set the anti-aliasing frame info properly, in an exceptional case.
issue: https://github.com/thorvg/thorvg/issues/2391
2024-06-24 14:51:40 +09:00
Hermet Park
59194b8ab2
sw_engine: fix a missing anti-aliasing
...
enable fill anti-aliasing when the stroke is trimming.
2024-06-24 14:51:34 +09:00
Hermet Park
35b1f4933d
infra: relocate the tools folder.
...
Collect only library source code in src
2024-06-24 14:51:27 +09:00
Hermet Park
bfcde7403e
examples: ++ function name alignment
2024-06-24 14:51:04 +09:00
Hermet Park
1d9adab607
infra: ++wg_native package dependency
...
Windows might need a own library linking method.
2024-06-24 14:50:55 +09:00
Sergii Liebodkin
9b4df3f0af
wg_engine: fix model view matrix
...
In a case of compostions model view matrix did not apply samples count
2024-06-24 14:50:49 +09:00
Sergii Liebodkin
23d50fcda5
wg_engine: clear bbox mesh lists
...
when cleaning the geometry of an object, it is also necessary to clean the bounding boxes and store them in the pool
2024-06-24 14:50:42 +09:00
Hermet Park
41ffcf2bdf
doc: updated the WgCanvas api doc
2024-06-24 14:50:34 +09:00
Sergii Liebodkin
47b9866f8b
wg_engine: cross-platform support
...
it provide changes public API for webgpu canvas interface to provide nessessary handles to native window for different platforms:
API Change:
- Result target(void *instance, void *surface, uint32_t w, uint32_t h) noexcept;
2024-06-24 14:50:28 +09:00
Mira Grudzinska
c35b731f0f
example: load font from memory in Text.cpp
2024-06-24 14:50:22 +09:00
Mira Grudzinska
ec77d8bd89
ttf_loader: support loading from memory
...
New text API for loading fonts from memory
is introduced. This is necessary to enable
embedded fonts support.
2024-06-24 14:50:13 +09:00
RuiwenTang
063474ba05
gl_engine: fix clip path and bounds not correct
...
* Optimize clip logical, change to use GL_GRATER and keep incrace depth
value, so no need to do depth clear after every clip draw.
* Correct geometry bounding box calculation, and make sure the bounds is
larger than all vertices
* Limit drawing area for off-screen RenderPass with correct scissor box
2024-06-24 14:47:33 +09:00