import Context3DBlendFactor from "openfl/display3D/Context3DBlendFactor"; declare namespace starling.display { /** * A class that provides constant values for visual blend mode effects. * * * *
A blend mode is always defined by two 'Context3DBlendFactor' values. A blend factor * * represents a particular four-value vector that is multiplied with the source or destination * * color in the blending formula. The blending formula is:
* * * *result = source � sourceFactor + destination � destinationFactor* * * *
In the formula, the source color is the output color of the pixel shader program. The * * destination color is the color that currently exists in the color buffer, as set by * * previous clear and draw operations.
* * * *Beware that blending factors produce different output depending on the texture type. * * Textures may contain 'premultiplied alpha' (pma), which means that their RGB values were * * multiplied with their alpha value (to save processing time). Textures based on 'BitmapData' * * objects have premultiplied alpha values, while ATF textures haven't. For this reason, * * a blending mode may have different factors depending on the pma value.
* * * * @see openfl.display3D.Context3DBlendFactor * */ export class BlendMode { /** * Creates a new BlendMode instance. Don't call this method directly; instead, * * register a new blend mode usingBlendMode.register.
*/
constructor(name: string, sourceFactor: Context3DBlendFactor, destinationFactor: Context3DBlendFactor);
/**
* Inherits the blend mode from this display object's parent.
*/
static readonly AUTO = "auto";
/**
* Deactivates blending, i.e. disabling any transparency.
*/
static readonly NONE = "none";
/**
* The display object appears in front of the background.
*/
static readonly NORMAL = "normal";
/**
* Adds the values of the colors of the display object to the colors of its background.
*/
static readonly ADD = "add";
/**
* Multiplies the values of the display object colors with the the background color.
*/
static readonly MULTIPLY = "multiply";
/**
* Multiplies the complement (inverse) of the display object color with the complement of
* * the background color, resulting in a bleaching effect.
*/
static readonly SCREEN = "screen";
/**
* Erases the background when drawn on a RenderTexture.
*/
static readonly ERASE = "erase";
/**
* When used on a RenderTexture, the drawn object will act as a mask for the current
* * content, i.e. the source alpha overwrites the destination alpha.
*/
static readonly MASK = "mask";
/**
* Draws under/below existing objects; useful especially on RenderTextures.
*/
static readonly BELOW = "below";
/**
* Returns the blend mode with the given name.
* * Throws an ArgumentError if the mode does not exist.
*/
static get(modeName: string): BlendMode;
/**
* Returns allready registered blend mode by
* * given blend mode factors. Returns null if not exist.
*/
static getByFactors(srcFactor: Context3DBlendFactor, dstFactor: Context3DBlendFactor): BlendMode;
/**
* Registers a blending mode under a certain name.
*/
static register(name: string, srcFactor: Context3DBlendFactor, dstFactor: Context3DBlendFactor): BlendMode;
/**
* Returns an array with all currently registered blend modes.
*/
static getAll(out?: Array