// Derived from PDFium's constants/transparency.h
// Original: Copyright 2018 The PDFium Authors
// Licensed under BSD-3-Clause / Apache-2.0
// See pdfium-upstream/LICENSE for the original license.

//! Transparency-related constants (blend modes, soft-mask, and group attributes).
//!
//! Corresponds to `pdfium::transparency` namespace.
//! PDF 1.7 spec, tables 7.2, 7.3, 7.10, 7.13.

// -----------------------------------------------------------------------
// Table 7.2 — standard separable blend modes
// -----------------------------------------------------------------------

/// Normal blend mode.
pub const K_NORMAL: &[u8] = b"Normal";

/// Multiply blend mode.
pub const K_MULTIPLY: &[u8] = b"Multiply";

/// Screen blend mode.
pub const K_SCREEN: &[u8] = b"Screen";

/// Overlay blend mode.
pub const K_OVERLAY: &[u8] = b"Overlay";

/// Darken blend mode.
pub const K_DARKEN: &[u8] = b"Darken";

/// Lighten blend mode.
pub const K_LIGHTEN: &[u8] = b"Lighten";

/// ColorDodge blend mode.
pub const K_COLOR_DODGE: &[u8] = b"ColorDodge";

/// ColorBurn blend mode.
pub const K_COLOR_BURN: &[u8] = b"ColorBurn";

/// HardLight blend mode.
pub const K_HARD_LIGHT: &[u8] = b"HardLight";

/// SoftLight blend mode.
pub const K_SOFT_LIGHT: &[u8] = b"SoftLight";

/// Difference blend mode.
pub const K_DIFFERENCE: &[u8] = b"Difference";

/// Exclusion blend mode.
pub const K_EXCLUSION: &[u8] = b"Exclusion";

// -----------------------------------------------------------------------
// Table 7.3 — standard nonseparable blend modes
// -----------------------------------------------------------------------

/// Hue blend mode.
pub const K_HUE: &[u8] = b"Hue";

/// Saturation blend mode.
pub const K_SATURATION: &[u8] = b"Saturation";

/// Color blend mode.
pub const K_COLOR: &[u8] = b"Color";

/// Luminosity blend mode.
pub const K_LUMINOSITY: &[u8] = b"Luminosity";

// -----------------------------------------------------------------------
// Table 7.10 — entries in a soft-mask dictionary
// -----------------------------------------------------------------------

/// `/S` — soft-mask subtype.
pub const K_SOFT_MASK_SUB_TYPE: &[u8] = b"S";

/// `/Alpha` — soft-mask formed from alpha of transparency group.
pub const K_ALPHA: &[u8] = b"Alpha";

/// `/G` — transparency group XObject for soft mask.
pub const K_G: &[u8] = b"G";

/// `/BC` — backdrop color for soft mask.
pub const K_BC: &[u8] = b"BC";

/// `/TR` — transfer function.
pub const K_TR: &[u8] = b"TR";

// -----------------------------------------------------------------------
// Table 7.13 — additional entries for transparency group attributes dict
// -----------------------------------------------------------------------

/// `/S` — group subtype.
pub const K_GROUP_SUB_TYPE: &[u8] = b"S";

/// `Transparency` — value for /S in a transparency group.
pub const K_TRANSPARENCY: &[u8] = b"Transparency";

/// `/CS` — color space.
pub const K_CS: &[u8] = b"CS";

/// `/I` — isolated group flag.
pub const K_I: &[u8] = b"I";
