UNPKG

starling-framework

Version:

A fast, productive library for 2D cross-platform development.

113 lines 4.29 kB
import Context3DBlendFactor from "openfl/display3D/Context3DBlendFactor"; declare namespace starling.display { /** * A class that provides constant values for visual blend mode effects. * * * * <p>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:</p> * * * * <pre>result = source � sourceFactor + destination � destinationFactor</pre> * * * * <p>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.</p> * * * * <p>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.</p> * * * * @see openfl.display3D.Context3DBlendFactor * */ export class BlendMode { /** * Creates a new BlendMode instance. Don't call this method directly; instead, * * register a new blend mode using <code>BlendMode.register</code>. */ 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<BlendMode>): Array<BlendMode>; /** * Returns true if a blend mode with the given name is available. */ static isRegistered(modeName: string): boolean; /** * Sets the appropriate blend factors for source and destination on the current context. */ activate(): void; /** * Returns the name of the blend mode. */ toString(): string; /** * The source blend factor of this blend mode. */ get sourceFactor(): string; /** * The destination blend factor of this blend mode. */ get destinationFactor(): string; /** * Returns the name of the blend mode. */ get name(): string; } } export default starling.display.BlendMode;