mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-13 05:50:10 +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
|
||||
* @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`
|
||||
*/
|
||||
|
@ -656,6 +656,13 @@ gtk_snapshot_collect_color_matrix (GtkSnapshot *snapshot,
|
||||
* Modifies the colors of an image by applying an affine transformation
|
||||
* 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].
|
||||
*/
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user