mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-13 14:00:09 +00:00
rendernode, snapshot: Slightly expand color matrix docs
Based on reverse engineering the color node and contrary to my expectations, the matrix/offset is expressed in, and applied to, unpremultiplied colors. The colors are being explicitly unpremultiplied, transformed according to the matrix/offset, and premultiplied back (see color_matrix.glsl). The matrix is getting transposed. Also, copy the same blurb to the corresponding GtkSnapshot function. Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
This commit is contained in:
parent
082fdfdb24
commit
246a7cfeab
@ -3841,11 +3841,12 @@ gsk_color_matrix_node_class_init (gpointer g_class,
|
|||||||
* Creates a `GskRenderNode` that will drawn the @child with
|
* Creates a `GskRenderNode` that will drawn the @child with
|
||||||
* @color_matrix.
|
* @color_matrix.
|
||||||
*
|
*
|
||||||
* In particular, the node will transform the operation
|
* In particular, the node will transform colors by applying
|
||||||
*
|
*
|
||||||
* pixel = color_matrix * pixel + color_offset
|
* pixel = transpose(color_matrix) * pixel + color_offset
|
||||||
*
|
*
|
||||||
* for every pixel.
|
* for every pixel. The transformation operates on unpremultiplied
|
||||||
|
* colors, with color components ordered R, G, B, A.
|
||||||
*
|
*
|
||||||
* Returns: (transfer full) (type GskColorMatrixNode): A new `GskRenderNode`
|
* Returns: (transfer full) (type GskColorMatrixNode): A new `GskRenderNode`
|
||||||
*/
|
*/
|
||||||
|
@ -656,6 +656,13 @@ gtk_snapshot_collect_color_matrix (GtkSnapshot *snapshot,
|
|||||||
* Modifies the colors of an image by applying an affine transformation
|
* Modifies the colors of an image by applying an affine transformation
|
||||||
* in RGB space.
|
* in RGB space.
|
||||||
*
|
*
|
||||||
|
* In particular, the colors will be transformed by applying
|
||||||
|
*
|
||||||
|
* pixel = transpose(color_matrix) * pixel + color_offset
|
||||||
|
*
|
||||||
|
* for every pixel. The transformation operates on unpremultiplied
|
||||||
|
* colors, with color components ordered R, G, B, A.
|
||||||
|
*
|
||||||
* The image is recorded until the next call to [method@Gtk.Snapshot.pop].
|
* The image is recorded until the next call to [method@Gtk.Snapshot.pop].
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user