mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-04 01:31:13 +00:00
a05a021fd1
Cairo and the GL renderer have a different idea of how to handle transitioning of colors outside the defined range. Consider these stops: black 50%, white 50% What color is at 0%? Cairo would transition between the last and first stop, ie it'd do a white-to-black transition and end up at rgb(0.5,0.5,0.5) at 0%. GL would behave as it would for non-repeating gradients and use black for the range [0%..50%] and white for [50%..100%]. The web would rescale the range so the first stop would be at 0% and the last stop would be at 100%, so this gradient would be illegal. Considering that it's possible for code to transition between the different behaviors by adding explicit stops at 0%/100%, I could choose any method. So I chose the simplest one, which is what the GL renderer does and which treats repeating and non-repeating gradients the same. Tests attached. |
||
---|---|---|
.. | ||
compare | ||
nodeparser | ||
boundingbox.c | ||
compare-render.c | ||
curve-special-cases.c | ||
curve.c | ||
diff.c | ||
half-float.c | ||
meson.build | ||
misc.c | ||
node-parser.c | ||
path-private.c | ||
path-special-cases.c | ||
path.c | ||
render-nodes-cairo.test.in | ||
render-nodes-vulkan.test.in | ||
replay-node.c | ||
rounded-rect.c | ||
shader.c | ||
transform.c |