import Texture from "../textures/Texture"; import DisplayObject from "../display/DisplayObject"; import Rectangle from "openfl/geom/Rectangle"; declare namespace starling.filters { /** * An interface describing the methods available on the helper object passed * * to the process call of fragment filters. It provides information about the * * target object and methods to acquire and release pass textures. * * * * @see FragmentFilter#process() * */ export interface IFilterHelper { /** * Gets a pass texture from the pool, or creates a new one (cleared and ready to be used * * as render target). Its size is dictated by the bounds of the target display object * * plus padding. * * * *

Beware: each call of this method counts as one render pass. For performance reasons, * * the filter may be configured to render the last pass directly to the back buffer. In * * that case, this method will return null for the last pass! That's the * * sign for the process method to draw to the back buffer. If you receive * * null too soon, the filter class probably didn't correctly override * * numPasses.

* */ getTexture(resolution?: number): Texture; /** * Puts a texture back into the pool to be reused later (or to be disposed * * with the pool). */ putTexture(texture: Texture): void; /** * The bounds of the target object (plus padding) in stage coordinates. */ get targetBounds(): Rectangle; /** * The display object the filter is currently attached to. */ get target(): DisplayObject; } } type IFilterHelper = starling.filters.IFilterHelper; export default IFilterHelper;