UNPKG

openfl

Version:

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

186 lines (162 loc) 7.59 kB
import BitmapFilter from "./BitmapFilter"; declare namespace openfl.filters { /** * The DropShadowFilter class lets you add a drop shadow to display objects. * The shadow algorithm is based on the same box filter that the blur filter * uses. You have several options for the style of the drop shadow, including * inner or outer shadow and knockout mode. You can apply the filter to any * display object(that is, objects that inherit from the DisplayObject * class), such as MovieClip, SimpleButton, TextField, and Video objects, as * well as to BitmapData objects. * * The use of filters depends on the object to which you apply the * filter: * * * * To apply filters to display objects use the `filters` * property(inherited from DisplayObject). Setting the `filters` * property of an object does not modify the object, and you can remove the * filter by clearing the `filters` property. * * To apply filters to BitmapData objects, use the * `BitmapData.applyFilter()` method. Calling * `applyFilter()` on a BitmapData object takes the source * BitmapData object and the filter object and generates a filtered image as a * result. * * * If you apply a filter to a display object, the value of the * `cacheAsBitmap` property of the display object is set to * `true`. If you clear all filters, the original value of * `cacheAsBitmap` is restored. * * This filter supports Stage scaling. However, it does not support general * scaling, rotation, and skewing. If the object itself is scaled(if * `scaleX` and `scaleY` are set to a value other than * 1.0), the filter is not scaled. It is scaled only when the user zooms in on * the Stage. * * A filter is not applied if the resulting image exceeds the maximum * dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in * width or height, and the total number of pixels cannot exceed 16,777,215 * pixels.(So, if an image is 8,191 pixels wide, it can only be 2,048 pixels * high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the * limitation is 2,880 pixels in height and 2,880 pixels in width. If, for * example, you zoom in on a large movie clip with a filter applied, the * filter is turned off if the resulting image exceeds the maximum * dimensions. */ /*@:final*/ export class DropShadowFilter extends BitmapFilter { /** * The alpha transparency value for the shadow color. Valid values are 0.0 to * 1.0. For example, .25 sets a transparency value of 25%. The default value * is 1.0. */ alpha:number; /** * The angle of the shadow. Valid values are 0 to 360 degrees(floating * point). The default value is 45. */ angle:number; /** * The amount of horizontal blur. Valid values are 0 to 255.0(floating * point). The default value is 4.0. */ blurX:number; /** * The amount of vertical blur. Valid values are 0 to 255.0(floating point). * The default value is 4.0. */ blurY:number; /** * The color of the shadow. Valid values are in hexadecimal format * _0xRRGGBB_. The default value is 0x000000. */ color:number; /** * The offset distance for the shadow, in pixels. The default value is 4.0 * (floating point). */ distance:number; /** * Indicates whether or not the object is hidden. The value `true` * indicates that the object itself is not drawn; only the shadow is visible. * The default is `false`(the object is shown). */ hideObject:boolean; /** * Indicates whether or not the shadow is an inner shadow. The value * `true` indicates an inner shadow. The default is * `false`, an outer shadow(a shadow around the outer edges of * the object). */ inner:boolean; /** * Applies a knockout effect(`true`), which effectively makes the * object's fill transparent and reveals the background color of the * document. The default is `false`(no knockout). */ knockout:boolean; /** * The number of times to apply the filter. The default value is * `BitmapFilterQuality.LOW`, which is equivalent to applying the * filter once. The value `BitmapFilterQuality.MEDIUM` applies the * filter twice; the value `BitmapFilterQuality.HIGH` applies it * three times. Filters with lower values are rendered more quickly. * * For most applications, a quality value of low, medium, or high is * sufficient. Although you can use additional numeric values up to 15 to * achieve different effects, higher values are rendered more slowly. Instead * of increasing the value of `quality`, you can often get a * similar effect, and with faster rendering, by simply increasing the values * of the `blurX` and `blurY` properties. */ quality:number; /** * The strength of the imprint or spread. The higher the value, the more * color is imprinted and the stronger the contrast between the shadow and * the background. Valid values are from 0 to 255.0. The default is 1.0. */ strength:number; /** * Creates a new DropShadowFilter instance with the specified parameters. * * @param distance Offset distance for the shadow, in pixels. * @param angle Angle of the shadow, 0 to 360 degrees(floating point). * @param color Color of the shadow, in hexadecimal format * _0xRRGGBB_. The default value is 0x000000. * @param alpha Alpha transparency value for the shadow color. Valid * values are 0.0 to 1.0. For example, .25 sets a * transparency value of 25%. * @param blurX Amount of horizontal blur. Valid values are 0 to 255.0 * (floating point). * @param blurY Amount of vertical blur. Valid values are 0 to 255.0 * (floating point). * @param strength The strength of the imprint or spread. The higher the * value, the more color is imprinted and the stronger the * contrast between the shadow and the background. Valid * values are 0 to 255.0. * @param quality The number of times to apply the filter. Use the * BitmapFilterQuality constants: * * * `BitmapFilterQuality.LOW` * * `BitmapFilterQuality.MEDIUM` * * `BitmapFilterQuality.HIGH` * * * For more information about these values, see the * `quality` property description. * @param inner Indicates whether or not the shadow is an inner shadow. * A value of `true` specifies an inner shadow. * A value of `false` specifies an outer shadow * (a shadow around the outer edges of the object). * @param knockout Applies a knockout effect(`true`), which * effectively makes the object's fill transparent and * reveals the background color of the document. * @param hideObject Indicates whether or not the object is hidden. A value * of `true` indicates that the object itself is * not drawn; only the shadow is visible. */ constructor (distance?:number, angle?:number, color?:number, alpha?:number, blurX?:number, blurY?:number, strength?:number, quality?:number, inner?:boolean, knockout?:boolean, hideObject?:boolean); } } export default openfl.filters.DropShadowFilter;