9a120ebab5f21415bdb6aff14a9f962150021563 to 1083873cafc9bdb58461a8f3f3c196bb61cf99d9 · Martin Owens / inkscape · GitLab
Martin Owens
·
2026-05-19
·
via Martin Owens activity
-
-
Fix divide-by-zero crash when using calligraphy tool
·
d34276f8
When getting the average color of a cairo surface, if the alpha is
zero, we were getting a divide-by-zero error, because we were
dividing r, g, and b by the cumulutive alpha of the surface.
Instead, we should return black in that case.
Fixes #6098
-
Update Color API preparing for new Rendering Engine
·
9ee108d7
Added isDirect to Colors::Space::* which tells us if a color space is
backed by a single icc profile, and no other processing steps with some
public method cleanups.
Removed Lab toXYZ and fromXYZ which were orphaned by previous commit.
Reformatted CairoTransform into generic SurfaceTransform so it can work
with any memory surface of pixels and in a greater number of data formats.
Split out CMS transform class from SurfaceTransforms and use a base class
Allowing for different assumptions with formatting and alpha premultiplication.
Add a forward.h header to make including color namespaces easier and cleaner.
Clean up generic testing utils for VectorIs Add colors and some better flexibility
for arrays and vectors in testing.
-
Add Alpha color space
·
f2554883
This color space allows surfaces to be converted to luminosity masks
and varius other useful alpha related filtering for the new rendering
engine.
We use lcms2 to hold the gray scale profile for quicker conversions.
The transform-cms is modified so it can cope with outputs which do
not have an allpha channel of their own. Tests for this are added.
-
Allow color conversions using static arrays instead of just vectors
·
1083873c
Most color conversion will be done with std::vectors of doubles
but to speed up and provide compile time checks for color converting
on Surfaces we want the ability to take an array directly at some
but not all of the various levels.
Formalise the interface for ProfileSpace and the Convertable type
using a self-referential templating pattern.
Move most conversion code to static functions and make as agnostic
to the array type as possible, allowing for convertors to use them
directly without expensive vector types.
This content is automatically aggregated by InertiaRSS (RSS Reader) for reading reference only. Original from — Copyright belongs to the original author.