Hermet Park
7fc8e616da
sw_engine: support hue, color, saturation, luminosity, hardmix blends
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
- Hue: Creates a result color with the luminance and saturation
of the base color and the hue of the blend color.
- Color: Creates a result color with the luminance of the base color
and the hue and saturation of the blend color. This preserves the gray
levels in the image and is useful for coloring monochrome images and
for tinting color images.
- Luminosity: reates a result color with the hue and saturation of the base color
and the luminance of the blend color. This mode creates the inverse effect of
Color mode.
- Saturation: Creates a result color with the luminance and hue of
the base color and the saturation of the blend color. Painting with this mode
in an area with no (0) saturation (gray) causes no change.
- HardMix: Adds the bottom & top. If the resulting sum for a channel is 255 or
greater, it receives a value of 255; if less than 255, a value of 0.
issue: https://github.com/thorvg/thorvg/issues/2701
2025-07-23 18:47:32 +09:00
Sergii Liebodkin
bada5691bc
wg_engine: tessellator optimization
...
1. new tesseletor and stroker are used: less vertexes generated
In general, the previous implementation was based on the path-outline-mesh approach.
It has now been changed to a path-mesh approach, so we skip the path-outline transformation.
For shape fills, a BW-tesselator now used, and all submeshes (moveTo) are stored in a single buffer.
For strokes, all intermediate operations such as trimming and dash use path-path logic instead of outline-outline logic.
In addition, the new stroker generates fewer polygons for joints, especially for Rounds
2. render all sub-shapes by single draw call
https://github.com/thorvg/thorvg/issues/3557
https://github.com/thorvg/thorvg/issues/3288
https://github.com/thorvg/thorvg/issues/3273
2025-07-23 15:38:36 +09:00
Hermet Park
16604a873a
lottie: code cleanup++
...
Android / build_x86_64 (push) Has been cancelled
Android / build_aarch64 (push) Has been cancelled
iOS / build_x86_64 (push) Has been cancelled
iOS / build_arm64 (push) Has been cancelled
macOS / build (push) Has been cancelled
macOS / compact_test (push) Has been cancelled
macOS / unit_test (push) Has been cancelled
Ubuntu / build (push) Has been cancelled
Ubuntu / compact_test (push) Has been cancelled
Ubuntu / unit_test (push) Has been cancelled
Windows / build (push) Has been cancelled
Windows / compact_test (push) Has been cancelled
Windows / unit_test (push) Has been cancelled
just renamed internal variable.
2025-07-21 18:23:03 +09:00
Hermet Park
c3d1e6e519
common: consolidate color-related functions
...
- Introduced RGB, RGBA, and HSL structures
- Migrated hsl2Rgb() from SVG loader to common module
This is a refactoring for upcoming hsl color functionlaities.
2025-07-21 18:23:03 +09:00
Hermet Park
930de44359
api: Add Composition blend mode
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
The composition mode enables intermediate blending. When a scene
uses Composition mode, it generates an intermediate buffer to
render the scene image first. This image can then be blended
with the canvas afterward.
Please avoid to use this, unless you really need to composite
the precomposite scene. This feature is relatively expensive
at performance.
C++ API:
+BlendMethod::Composition
C API:
+Tvg_Blend_Method::TVG_BLEND_METHOD_COMPOSITION
2025-07-21 11:23:07 +09:00
Sungun No
3ca2c0edfd
gl_engine: Fix GlRenderTarget reset function
...
- Avoid deleting the framebuffer when mFbo == GL_INVALID_VALUE, as this is not a valid framebuffer object.
2025-07-21 11:22:07 +09:00
Hermet Park
a79f9788c1
common: code cleanup++
...
Android / build_x86_64 (push) Has been cancelled
Android / build_aarch64 (push) Has been cancelled
iOS / build_x86_64 (push) Has been cancelled
iOS / build_arm64 (push) Has been cancelled
macOS / build (push) Has been cancelled
macOS / compact_test (push) Has been cancelled
macOS / unit_test (push) Has been cancelled
Ubuntu / build (push) Has been cancelled
Ubuntu / compact_test (push) Has been cancelled
Ubuntu / unit_test (push) Has been cancelled
Windows / build (push) Has been cancelled
Windows / compact_test (push) Has been cancelled
Windows / unit_test (push) Has been cancelled
- Use RenderPath common interfaces instead of
direct array manipulations.
- Replace multiple scalar operations with Point utility
operations where applicable.
2025-07-18 23:06:26 +09:00
Sergii Liebodkin
d85952b252
renderer: refactored to share gl stroke dasher among engines
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
Move stroke dasher to the common code space to create an abillity
to use it on the cross API renderers (wg and gl). Stroke dasher is
a path-to-path operation, same as path trim, so can be placed to
the common space.
Now RenderShape can generate dashed path by itself. Dashing mechanics
fully hiden from the user but can be used in gl and wg renderers.
issue: https://github.com/thorvg/thorvg/issues/3557
Co-Authored-By: Hermet Park <hermet@lottiefiles.com>
2025-07-18 15:21:33 +09:00
Mira Grudzinska
d8bbb0df31
svg: fix nested use nodes
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
Previously, only single-level <use> references were supported.
If a <use> node pointed to another element that itself contained
a <use> node, the reference wasn’t resolved.
This has been fixed by replacing the array of postponed elements
with a list. The list is traversed, and nodes aren’t cloned while
they or any of their children remain unresolved. In such cases,
the target element also gets added to the list, enabling recursive
resolution of nested href references.
issue: https://github.com/thorvg/thorvg/issues/3615
2025-07-18 11:10:51 +09:00
Sergii Liebodkin
d44098180c
gl_engine: remove level parameter from blur
...
level parameter removed from blur and dropshadows shaders.
data structures alligment keeped
2025-07-18 10:51:02 +09:00
Jaedeok Kim
7b59b1869d
wg_engine: Fixed typo in comment
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
Fixed spelling error from 'neccessary' to 'necessary' in two comment lines within the renderShape() and renderImage() methods.
2025-07-17 15:31:50 +03:00
Hermet Park
52f23f6acd
gl_engine: revised the effect logic
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
- consolidated the effect implementation from renderer
- applied the deferred initialization
2025-07-17 17:42:06 +09:00
Hermet Park
a80b0aa188
renderer: propagate picture blending to internal scene
...
Users can regard a picture and its nested scene as
a single entity, so blending options can be properly
applied to the actual visual paint object.
2025-07-17 14:50:33 +09:00
Hermet Park
bc4afd8ef7
sw_engine: trimmed out unnecessary blending parameters
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
2025-07-17 12:13:47 +09:00
jjm2317
d3a49fe20b
docs: update test setup command to use meson setup [options]
2025-07-17 10:57:03 +09:00
Hermet Park
15aafbfe62
sw_engine: support the fast drop shadow version
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
The direct raster version has been restored with a proper fix
for the out-of-range bug.
see history: 78753eed31
2025-07-16 13:39:06 +09:00
Hermet Park
d88c2c1184
sw_engine: improved the dropshadow effect support
...
- shadow rendering was skipped when the blur value was 0.
it now correctly renders shadows without blur.
- this also fixes the distance offset scalability.
issue: https://github.com/thorvg/thorvg/issues/3602
2025-07-16 13:39:06 +09:00
Hermet Park
1d41f9aa10
examples: exception handling++
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
2025-07-16 10:43:58 +09:00
Hermet Park
43a082798d
sw_engine: improved blending quality
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
enhanced anti-aliasing in image blending by properly
applying unpremultiply/premultiply computations during
blending operations.
2025-07-15 12:24:25 +09:00
Hermet Park
4a0d17ba83
sw_engine: tint effect optimization++
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
skip interpolation when intensity is 1.0.
since intensity adjustment is optional and
computationally expensive, avoiding it in this case
is worthwhile.
2025-07-15 00:00:03 +09:00
Hermet Park
d2b2fb02f0
sw_engine: rectifiy logic wrt overall blendings
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
- minor optimization of the unpremultiply logic
- exception handling for the unpremultipy logic for anti-aliasing quality
- appropriate alpha pre/unpre multiplication is applied
- clean code++
- updated doc blending equation
issue: https://github.com/thorvg/thorvg/issues/1944
2025-07-14 16:48:10 +09:00
Hermet Park
f6a9efcc3f
sw_engine: rectified softlight blending equation
...
Android / build_x86_64 (push) Has been cancelled
Android / build_aarch64 (push) Has been cancelled
iOS / build_x86_64 (push) Has been cancelled
iOS / build_arm64 (push) Has been cancelled
macOS / build (push) Has been cancelled
macOS / compact_test (push) Has been cancelled
macOS / unit_test (push) Has been cancelled
Ubuntu / build (push) Has been cancelled
Ubuntu / compact_test (push) Has been cancelled
Ubuntu / unit_test (push) Has been cancelled
Windows / build (push) Has been cancelled
Windows / compact_test (push) Has been cancelled
Windows / unit_test (push) Has been cancelled
slightly adjusted the equation for adobe/figma alignment
2025-07-10 20:25:31 +09:00
Hermet Park
ac12c8c9a3
renderer: fixed a wrong fillrule option
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
- fixed to use the default option NonZero fillrule.
- updated the doc about text font as well
2025-07-10 10:50:27 +09:00
Hermet Park
543b705f2e
example: code clean up++
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
that exception handling is helpless
2025-07-09 18:47:01 +09:00
Hermet Park
4b11fea32f
api: rename shape fill rule API for clarity
...
Clarify the FillRule usage by associating it
explicitly with color/gradient fills.
C++ API
* Result Shape::fill(FillRule r)
-> Result Shape::fillRule(FillRule r)
issue: https://github.com/thorvg/thorvg/issues/3116
2025-07-09 18:37:48 +09:00
Hermet Park
c9aba593e0
renderer: hotfix a regression of the partial rendering
...
artifacts can be remained by wrong conditional logic.
now it's fixed.
2025-07-09 18:09:32 +09:00
Hermet Park
8390cb1def
renderer: ++exception handling
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
2025-07-09 15:41:07 +09:00
Hermet Park
295d20f915
renderer: TODO++
2025-07-09 14:02:59 +09:00
Mira Grudzinska
7bb701b22e
renderer: fix render region for multiple masks
...
Previously, when more than two masks were applied,
the render region only took the first added mask into
account.
@Issue: https://github.com/thorvg/thorvg/issues/3600
2025-07-09 14:01:42 +09:00
Hermet Park
761259ca59
sw_engine: fix omitted update for zero opacity
...
ensure the dirty region is updated when opacity becomes zero.
a regression bug of the recent partial rendering.
issue: https://github.com/orgs/thorvg/discussions/3570
2025-07-09 11:44:16 +09:00
Hermet Park
7e0f394c2c
wg_engine: corrected tint/tritone wrong alpha multiplication
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
2025-07-08 21:55:10 +09:00
Hermet Park
668c818240
gl_engine: corrected tint/tritone wrong alpha multiplication
2025-07-08 21:55:10 +09:00
Hermet Park
78753eed31
sw_engine: dropshadow stability++
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
removed the direct rendering optimization of the dropshadow,
because it's a buggy.
2025-07-08 00:40:43 +09:00
Hermet Park
4e645918c7
lottie: adjusted the effect distance
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
2025-07-07 19:18:57 +09:00
Hermet Park
3fe7432ac5
common: added blending factor to tritone post-effect
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
- introduced a blending factor to control the mix between the original color and the tritone effect.
- improved Lottie compliance with this enhancement.
- implemented the spec by all engines
CAPI:
* Tvg_Result tvg_scene_push_effect_tritone(Tvg_Paint* scene, int shadow_r, int shadow_g, int shadow_b, int midtone_r, int midtone_g, int midtone_b, int highlight_r, int highlight_g, int highlight_b);
-> TVG_API Tvg_Result tvg_scene_push_effect_tritone(Tvg_Paint* scene, int shadow_r, int shadow_g, int shadow_b, int midtone_r, int midtone_g, int midtone_b, int highlight_r, int highlight_g, int highlight_b, int blend);
2025-07-07 15:31:45 +09:00
Hermet Park
53680eae2f
Revert "gl_engine: --unused code"
...
This reverts commit d8c06add22
.
drop shadow has been broken...
2025-07-07 12:59:57 +09:00
Hermet Park
c216805a87
engines: fine-tune scene effect performance
...
Skip scene effects whenever possible, based on predefined conditions.
2025-07-07 12:59:57 +09:00
Hermet Park
3f9adf2270
Update CODEOWNERS
2025-07-07 12:56:54 +09:00
Hermet Park
3f7cb2bbb5
engines: fixed tint effect issues
...
Android / build_x86_64 (push) Has been cancelled
Android / build_aarch64 (push) Has been cancelled
iOS / build_x86_64 (push) Has been cancelled
iOS / build_arm64 (push) Has been cancelled
macOS / build (push) Has been cancelled
macOS / compact_test (push) Has been cancelled
macOS / unit_test (push) Has been cancelled
Ubuntu / build (push) Has been cancelled
Ubuntu / compact_test (push) Has been cancelled
Ubuntu / unit_test (push) Has been cancelled
Windows / build (push) Has been cancelled
Windows / compact_test (push) Has been cancelled
Windows / unit_test (push) Has been cancelled
- corrected the reversed black/white intensity multiplication.
- made a minor adjustment to the luma equation.
- updated and aligned the API documentation accordingly.
2025-07-05 12:43:20 +09:00
Hermet Park
d8c06add22
gl_engine: --unused code
2025-07-05 10:15:53 +09:00
Hermet Park
8f022b3642
lottie: arrange the blur quality
...
there are several reports about poor quality,
arranged the value to the medium level.
2025-07-05 10:15:53 +09:00
Hermet Park
1cfd1758dc
example: added capi scene effect
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
2025-07-04 21:19:23 +09:00
Jaremy Creechley
0b72adb02e
capi: add scene effects
...
+ Tvg_Result tvg_scene_reset_effects(Tvg_Paint* scene)
+ Tvg_Result tvg_scene_push_effect_gaussian_blur(Tvg_Paint* scene, double sigma, int direction, int border, int quality)
+ Tvg_Result tvg_scene_push_effect_drop_shadow(Tvg_Paint* scene, int r, int g, int b, int a, double angle, double distance, double sigma, int quality)
+ Tvg_Result tvg_scene_push_effect_fill(Tvg_Paint* scene, int r, int g, int b, int a)
+ Tvg_Result tvg_scene_push_effect_tint(Tvg_Paint* scene, int black_r, int black_g, int black_b, int white_r, int white_g, int white_b, double intensity)
+ Tvg_Result tvg_scene_push_effect_tritone(Tvg_Paint* scene, int shadow_r, int shadow_g, int shadow_b, int midtone_r, int midtone_g, int midtone_b, int highlight_r, int highlight_g, int highlight_b)
issue: https://github.com/thorvg/thorvg/issues/3580
2025-07-04 21:19:23 +09:00
Hermet Park
1d92a16739
common: chores wrt scene effect
...
- corrected data type (float -> double)
- guarantee to call va_end()
- docs / samples revision
- include cstdarg as an essential header
2025-07-04 17:17:34 +09:00
Hermet Park
9124342f28
capi: clean++
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
2025-07-04 12:43:41 +09:00
Hermet Park
f3fb04c63c
common: improve thread safety for partial rendering
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
- clear resources on the main thread to safely remove resources associated with dirty regions.
- skip redundant condition checks for unsafe disabled add calls.
2025-07-03 23:16:20 +09:00
Hermet Park
380d2c3f3f
sw_engine: tweak operations to better align with the designed bevaviors
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
- presere source values in empty buffer
- properly unpremultiply dst values before blending
issue: https://github.com/thorvg/thorvg/issues/3072
2025-07-03 21:16:59 +09:00
Hermet Park
f59da6a79f
sw_engine: keep the code in a more primitive style
2025-07-03 15:13:58 +09:00
Mira Grudzinska
ea8abe8912
lottie: prevent mem leak
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
Masks of pooled shapes were not unrefed, filling up
the memory pool.
2025-07-02 23:05:41 +09:00
Hermet Park
5e17fe0034
sw_engine: ++clean code
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
2025-07-02 16:30:14 +09:00