openfl
Version:
A fast, productive library for 2D cross-platform development.
177 lines (157 loc) • 6.66 kB
TypeScript
declare namespace openfl.display {
/**
* A class that provides constant values for visual blend mode effects. These
* constants are used in the following:
*
* * The `blendMode` property of the
* openfl.display.DisplayObject class.
* * The `blendMode` parameter of the `draw()`
* method of the openfl.display.BitmapData class
*
*/
export enum BlendMode {
/**
* Adds the values of the constituent colors of the display object to the
* colors of its background, applying a ceiling of 0xFF. This setting is
* commonly used for animating a lightening dissolve between two objects.
*
* For example, if the display object has a pixel with an RGB value of
* 0xAAA633, and the background pixel has an RGB value of 0xDD2200, the
* resulting RGB value for the displayed pixel is 0xFFC833(because 0xAA +
* 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33).
*/
ADD = "add",
/**
* Applies the alpha value of each pixel of the display object to the
* background. This requires the `blendMode` property of the
* parent display object be set to
* `openfl.display.BlendMode.LAYER`.
*
* Not supported under GPU rendering.
*/
ALPHA = "alpha",
/**
* Selects the darker of the constituent colors of the display object and the
* colors of the background(the colors with the smaller values). This
* setting is commonly used for superimposing type.
*
* For example, if the display object has a pixel with an RGB value of
* 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the
* resulting RGB value for the displayed pixel is 0xDDCC00(because 0xFF >
* 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33).
*
* Not supported under GPU rendering.
*/
DARKEN = "darken",
/**
* Compares the constituent colors of the display object with the colors of
* its background, and subtracts the darker of the values of the two
* constituent colors from the lighter value. This setting is commonly used
* for more vibrant colors.
*
* For example, if the display object has a pixel with an RGB value of
* 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the
* resulting RGB value for the displayed pixel is 0x222C33(because 0xFF -
* 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33).
*/
DIFFERENCE = "difference",
/**
* Erases the background based on the alpha value of the display object. This
* process requires that the `blendMode` property of the parent
* display object be set to `openfl.display.BlendMode.LAYER`.
*
* Not supported under GPU rendering.
*/
ERASE = "erase",
/**
* Adjusts the color of each pixel based on the darkness of the display
* object. If the display object is lighter than 50% gray, the display object
* and background colors are screened, which results in a lighter color. If
* the display object is darker than 50% gray, the colors are multiplied,
* which results in a darker color. This setting is commonly used for shading
* effects.
*
* Not supported under GPU rendering.
*/
HARDLIGHT = "hardlight",
/**
* Inverts the background.
*/
INVERT = "invert",
/**
* Forces the creation of a transparency group for the display object. This
* means that the display object is precomposed in a temporary buffer before
* it is processed further. The precomposition is done automatically if the
* display object is precached by means of bitmap caching or if the display
* object is a display object container that has at least one child object
* with a `blendMode` setting other than `"normal"`.
*
* Not supported under GPU rendering.
*/
LAYER = "layer",
/**
* Selects the lighter of the constituent colors of the display object and
* the colors of the background(the colors with the larger values). This
* setting is commonly used for superimposing type.
*
* For example, if the display object has a pixel with an RGB value of
* 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the
* resulting RGB value for the displayed pixel is 0xFFF833(because 0xFF >
* 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33).
*
* Not supported under GPU rendering.
*/
LIGHTEN = "lighten",
/**
* Multiplies the values of the display object constituent colors by the
* constituent colors of the background color, and normalizes by dividing by
* 0xFF, resulting in darker colors. This setting is commonly used for
* shadows and depth effects.
*
* For example, if a constituent color(such as red) of one pixel in the
* display object and the corresponding color of the pixel in the background
* both have the value 0x88, the multiplied result is 0x4840. Dividing by
* 0xFF yields a value of 0x48 for that constituent color, which is a darker
* shade than the color of the display object or the color of the
* background.
*/
MULTIPLY = "multiply",
/**
* The display object appears in front of the background. Pixel values of the
* display object override the pixel values of the background. Where the
* display object is transparent, the background is visible.
*/
NORMAL = "normal",
/**
* Adjusts the color of each pixel based on the darkness of the background.
* If the background is lighter than 50% gray, the display object and
* background colors are screened, which results in a lighter color. If the
* background is darker than 50% gray, the colors are multiplied, which
* results in a darker color. This setting is commonly used for shading
* effects.
*
* Not supported under GPU rendering.
*/
OVERLAY = "overlay",
/**
* Multiplies the complement(inverse) of the display object color by the
* complement of the background color, resulting in a bleaching effect. This
* setting is commonly used for highlights or to remove black areas of the
* display object.
*/
SCREEN = "screen",
SHADER = "shader",
/**
* Subtracts the values of the constituent colors in the display object from
* the values of the background color, applying a floor of 0. This setting is
* commonly used for animating a darkening dissolve between two objects.
*
* For example, if the display object has a pixel with an RGB value of
* 0xAA2233, and the background pixel has an RGB value of 0xDDA600, the
* resulting RGB value for the displayed pixel is 0x338400(because 0xDD -
* 0xAA = 0x33, 0xA6 - 0x22 = 0x84, and 0x00 - 0x33 < 0x00).
*/
SUBTRACT = "subtract"
}
}
export default openfl.display.BlendMode;