gsk: Document blend modes
authorMatthias Clasen <mclasen@redhat.com>
Mon, 18 May 2020 22:21:39 +0000 (18:21 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 18 May 2020 22:21:39 +0000 (18:21 -0400)
Add some information about blend modes, mostly taken
from the css compositing spec.

Fixes: #2739
gsk/gskenums.h

index d5fcb8ec55b878b4e601105809ebbaad73309e92..d7607fbcb1691886b63e8b932c7b754b7defb8fc 100644 (file)
@@ -98,25 +98,30 @@ typedef enum {
  * @GSK_BLEND_MODE_DEFAULT: The default blend mode, which specifies no blending
  * @GSK_BLEND_MODE_MULTIPLY: The source color is multiplied by the destination
  *   and replaces the destination
- * @GSK_BLEND_MODE_SCREEN: ...
- * @GSK_BLEND_MODE_OVERLAY: ...
- * @GSK_BLEND_MODE_DARKEN: ...
- * @GSK_BLEND_MODE_LIGHTEN: ...
- * @GSK_BLEND_MODE_COLOR_DODGE: ...
- * @GSK_BLEND_MODE_COLOR_BURN: ...
- * @GSK_BLEND_MODE_HARD_LIGHT: ...
- * @GSK_BLEND_MODE_SOFT_LIGHT: ...
- * @GSK_BLEND_MODE_DIFFERENCE: ...
- * @GSK_BLEND_MODE_EXCLUSION: ...
- * @GSK_BLEND_MODE_COLOR: ...
- * @GSK_BLEND_MODE_HUE: ...
- * @GSK_BLEND_MODE_SATURATION: ...
- * @GSK_BLEND_MODE_LUMINOSITY: ...
+ * @GSK_BLEND_MODE_SCREEN: Multiplies the complements of the destination and source
+ *   color values, then complements the result.
+ * @GSK_BLEND_MODE_OVERLAY: Multiplies or screens the colors, depending on the
+ *   destination color value. This is the inverse of hard-list
+ * @GSK_BLEND_MODE_DARKEN: Selects the darker of the destination and source colors
+ * @GSK_BLEND_MODE_LIGHTEN: Selects the lighter of the destination and source colors
+ * @GSK_BLEND_MODE_COLOR_DODGE: Brightens the destination color to reflect the source color
+ * @GSK_BLEND_MODE_COLOR_BURN: Darkens the destination color to reflect the source color
+ * @GSK_BLEND_MODE_HARD_LIGHT: Multiplies or screens the colors, depending on the source color value
+ * @GSK_BLEND_MODE_SOFT_LIGHT: Darkens or lightens the colors, depending on the source color value
+ * @GSK_BLEND_MODE_DIFFERENCE: Subtracts the darker of the two constituent colors from the lighter color
+ * @GSK_BLEND_MODE_EXCLUSION: Produces an effect similar to that of the difference mode but lower in contrast
+ * @GSK_BLEND_MODE_COLOR: Creates a color with the hue and saturation of the source color and the luminosity of the destination color
+ * @GSK_BLEND_MODE_HUE: Creates a color with the hue of the source color and the saturation and luminosity of the destination color
+ * @GSK_BLEND_MODE_SATURATION: Creates a color with the saturation of the source color and the hue and luminosity of the destination color
+ * @GSK_BLEND_MODE_LUMINOSITY: Creates a color with the luminosity of the source color and the hue and saturation of the destination color
  *
  * The blend modes available for render nodes.
  *
  * The implementation of each blend mode is deferred to the
  * rendering pipeline.
+ *
+ * See https://www.w3.org/TR/compositing-1/#blending for more information
+ * on blending and blend modes.
  */
 typedef enum {
   GSK_BLEND_MODE_DEFAULT = 0,