UNPKG

openfl

Version:

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

136 lines (120 loc) 5.58 kB
import BitmapFilter from "./BitmapFilter"; declare namespace openfl.filters { /** * The BlurFilter class lets you apply a blur visual effect to display * objects. A blur effect softens the details of an image. You can produce * blurs that range from a softly unfocused look to a Gaussian blur, a hazy * appearance like viewing an image through semi-opaque glass. When the * `quality` property of this filter is set to low, the result is a * softly unfocused look. When the `quality` property is set to * high, it approximates a Gaussian blur filter. 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. * * To create a new filter, use the constructor `new * BlurFilter()`. The use of filters depends on the object to which you * apply the filter: * * * * To apply filters to movie clips, text fields, buttons, and video, 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 * `cacheAsBitmap` property of the display object is set to * `true`. If you remove 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 * (`scaleX` and `scaleY` are not set to 100%), the * filter effect 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 BlurFilter extends BitmapFilter { /** * The amount of horizontal blur. Valid values are from 0 to 255(floating * point). The default value is 4. Values that are a power of 2(such as 2, * 4, 8, 16 and 32) are optimized to render more quickly than other values. */ public blurX:number; /** * The amount of vertical blur. Valid values are from 0 to 255(floating * point). The default value is 4. Values that are a power of 2(such as 2, * 4, 8, 16 and 32) are optimized to render more quickly than other values. */ public blurY:number; /** * The number of times to perform the blur. 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 and approximates a Gaussian blur. 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 increase the number of times the blur is applied, 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. * * You can use the following BitmapFilterQuality constants to specify * values of the `quality` property: * * * * `BitmapFilterQuality.LOW` * * `BitmapFilterQuality.MEDIUM` * * `BitmapFilterQuality.HIGH` * */ public quality:number; /** * Initializes the filter with the specified parameters. The default values * create a soft, unfocused image. * * @param blurX The amount to blur horizontally. Valid values are from 0 to * 255.0(floating-point value). * @param blurY The amount to blur vertically. Valid values are from 0 to * 255.0(floating-point value). * @param quality The number of times to apply the filter. You can specify * the quality using the BitmapFilterQuality constants: * * * * `flash.filters.BitmapFilterQuality.LOW` * * * `flash.filters.BitmapFilterQuality.MEDIUM` * * * `flash.filters.BitmapFilterQuality.HIGH` * * * High quality approximates a Gaussian blur. For most * applications, these three values are sufficient. Although * you can use additional numeric values up to 15 to achieve * different effects, be aware that higher values are rendered * more slowly. */ public constructor (blurX?:number, blurY?:number, quality?:number); } } export default openfl.filters.BlurFilter;