starling-framework
Version:
A fast, productive library for 2D cross-platform development.
113 lines • 4.29 kB
TypeScript
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;