starling-framework
Version:
A fast, productive library for 2D cross-platform development.
768 lines • 84.6 kB
HTML
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>FragmentFilter | starling-framework</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">starling-framework</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">starling</a>
</li>
<li>
<a href="../modules/starling.filters.html">filters</a>
</li>
<li>
<a href="starling.filters.fragmentfilter.html">FragmentFilter</a>
</li>
</ul>
<h1>Class FragmentFilter</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The FragmentFilter class is the base class for all filter effects in Starling.
All filters must extend this class. You can attach them to any display object through the
<code>filter</code> property.</p>
</div>
<p>A fragment filter works in the following way:</p>
<ol>
<li>The object to be filtered is rendered into a texture.</li>
<li>That texture is passed to the <code>process</code> method.</li>
<li>This method processes the texture using a <code>FilterEffect</code> subclass
that processes the input via fragment and vertex shaders to achieve a certain
effect.</li>
<li>If the filter requires several passes, the process method may execute the
effect several times, or even make use of other filters in the process.</li>
<li>In the end, a quad with the output texture is added to the batch renderer.
In the next frame, if the object hasn't changed, the filter is drawn directly
from the render cache.</li>
<li>Alternatively, the last pass may be drawn directly to the back buffer. That saves
one draw call, but means that the object may not be drawn from the render cache in
the next frame. Starling makes an educated guess if that makes sense, but you can
also force it to do so via the <code>alwaysDrawToBackBuffer</code> property.</li>
</ol>
<p>All of this is set up by the basic FragmentFilter class. Concrete subclasses
just need to override the protected method <code>createEffect</code> and (optionally)
<code>process</code>. Multi-pass filters must also override <code>numPasses</code>.</p>
<p>Typically, any properties on the filter are just forwarded to an effect instance,
which is then used automatically by <code>process</code> to render the filter pass.
For a simple example on how to write a single-pass filter, look at the implementation of
the <code>ColorMatrixFilter</code>; for a composite filter (i.e. a filter that combines
several others), look at the <code>GlowFilter</code>.
</p>
<p>Beware that a filter instance may only be used on one object at a time!</p>
<p><strong>Animated filters</strong></p>
<p>The <code>process</code> method of a filter is only called when it's necessary, i.e.
when the filter properties or the target display object changes. This means that you cannot
rely on the method to be called on a regular basis, as needed when creating an animated
filter class. Instead, you can do so by listening for an <code>ENTER_FRAME</code>-event.
It is dispatched on the filter once every frame, as long as the filter is assigned to
a display object that is connected to the stage.</p>
<p><strong>Caching</strong></p>
<p>Per default, whenever the target display object is changed in any way (i.e. the render
cache fails), the filter is reprocessed. However, you can manually cache the filter output
via the method of the same name: this will let the filter redraw the current output texture,
even if the target object changes later on. That's especially useful if you add a filter
to an object that changes only rarely, e.g. a TextField or an Image. Keep in mind, though,
that you have to call <code>cache()</code> again in order for any changes to show up.</p>
<p> @see starling.rendering.FilterEffect</p>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<a href="starling.events.eventdispatcher.html" class="tsd-signature-type">EventDispatcher</a>
<ul class="tsd-hierarchy">
<li>
<span class="target">FragmentFilter</span>
<ul class="tsd-hierarchy">
<li>
<a href="starling.filters.blurfilter.html" class="tsd-signature-type">BlurFilter</a>
</li>
<li>
<a href="starling.filters.colormatrixfilter.html" class="tsd-signature-type">ColorMatrixFilter</a>
</li>
<li>
<a href="starling.filters.compositefilter.html" class="tsd-signature-type">CompositeFilter</a>
</li>
<li>
<a href="starling.filters.displacementmapfilter.html" class="tsd-signature-type">DisplacementMapFilter</a>
</li>
<li>
<a href="starling.filters.dropshadowfilter.html" class="tsd-signature-type">DropShadowFilter</a>
</li>
<li>
<a href="starling.filters.filterchain.html" class="tsd-signature-type">FilterChain</a>
</li>
<li>
<a href="starling.filters.glowfilter.html" class="tsd-signature-type">GlowFilter</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section tsd-is-external">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-external"><a href="starling.filters.fragmentfilter.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section tsd-is-external">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#alwaysdrawtobackbuffer" class="tsd-kind-icon">always<wbr>Draw<wbr>ToBack<wbr>Buffer</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#antialiasing" class="tsd-kind-icon">anti<wbr>Aliasing</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#iscached" class="tsd-kind-icon">is<wbr>Cached</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#maintainresolutionacrosspasses" class="tsd-kind-icon">maintain<wbr>Resolution<wbr>Across<wbr>Passes</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#padding" class="tsd-kind-icon">padding</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#resolution" class="tsd-kind-icon">resolution</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#textureformat" class="tsd-kind-icon">texture<wbr>Format</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#texturesmoothing" class="tsd-kind-icon">texture<wbr>Smoothing</a></li>
</ul>
</section>
<section class="tsd-index-section tsd-is-external">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#addeventlistener" class="tsd-kind-icon">add<wbr>Event<wbr>Listener</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#cache" class="tsd-kind-icon">cache</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#clearcache" class="tsd-kind-icon">clear<wbr>Cache</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="starling.filters.fragmentfilter.html#dispatchevent" class="tsd-kind-icon">dispatch<wbr>Event</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="starling.filters.fragmentfilter.html#dispatcheventwith" class="tsd-kind-icon">dispatch<wbr>Event<wbr>With</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#dispose" class="tsd-kind-icon">dispose</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#get_alwaysdrawtobackbuffer" class="tsd-kind-icon">get_<wbr>always<wbr>Draw<wbr>ToBack<wbr>Buffer</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#get_antialiasing" class="tsd-kind-icon">get_<wbr>anti<wbr>Aliasing</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#get_iscached" class="tsd-kind-icon">get_<wbr>is<wbr>Cached</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#get_maintainresolutionacrosspasses" class="tsd-kind-icon">get_<wbr>maintain<wbr>Resolution<wbr>Across<wbr>Passes</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#get_padding" class="tsd-kind-icon">get_<wbr>padding</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#get_resolution" class="tsd-kind-icon">get_<wbr>resolution</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#get_textureformat" class="tsd-kind-icon">get_<wbr>texture<wbr>Format</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#get_texturesmoothing" class="tsd-kind-icon">get_<wbr>texture<wbr>Smoothing</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="starling.filters.fragmentfilter.html#haseventlistener" class="tsd-kind-icon">has<wbr>Event<wbr>Listener</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#process" class="tsd-kind-icon">process</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#removeeventlistener" class="tsd-kind-icon">remove<wbr>Event<wbr>Listener</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="starling.filters.fragmentfilter.html#removeeventlisteners" class="tsd-kind-icon">remove<wbr>Event<wbr>Listeners</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.filters.fragmentfilter.html#render" class="tsd-kind-icon">render</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#set_alwaysdrawtobackbuffer" class="tsd-kind-icon">set_<wbr>always<wbr>Draw<wbr>ToBack<wbr>Buffer</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#set_antialiasing" class="tsd-kind-icon">set_<wbr>anti<wbr>Aliasing</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#set_maintainresolutionacrosspasses" class="tsd-kind-icon">set_<wbr>maintain<wbr>Resolution<wbr>Across<wbr>Passes</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#set_padding" class="tsd-kind-icon">set_<wbr>padding</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#set_resolution" class="tsd-kind-icon">set_<wbr>resolution</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#set_textureformat" class="tsd-kind-icon">set_<wbr>texture<wbr>Format</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.filters.fragmentfilter.html#set_texturesmoothing" class="tsd-kind-icon">set_<wbr>texture<wbr>Smoothing</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-external">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-external">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-external">
<li class="tsd-signature tsd-kind-icon">new <wbr>Fragment<wbr>Filter<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="starling.filters.fragmentfilter.html" class="tsd-signature-type">FragmentFilter</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Overrides <a href="starling.events.eventdispatcher.html">EventDispatcher</a>.<a href="starling.events.eventdispatcher.html#constructor">constructor</a></p>
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L88">lib/starling/filters/FragmentFilter.d.ts:88</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Creates a new instance. The base class' implementation just draws the unmodified
input texture.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="starling.filters.fragmentfilter.html" class="tsd-signature-type">FragmentFilter</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-external">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external">
<a name="alwaysdrawtobackbuffer" class="tsd-anchor"></a>
<h3>always<wbr>Draw<wbr>ToBack<wbr>Buffer</h3>
<div class="tsd-signature tsd-kind-icon">always<wbr>Draw<wbr>ToBack<wbr>Buffer<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L214">lib/starling/filters/FragmentFilter.d.ts:214</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Indicates if the last filter pass is always drawn directly to the back buffer.</p>
</div>
<p>Per default, the filter tries to automatically render in a smart way: objects that
are currently moving are rendered to the back buffer, objects that are static are
rendered into a texture first, which allows the filter to be drawn directly from the
render cache in the next frame (in case the object remains static).</p>
<p>However, this fails when filters are added to an object that does not support the
render cache, or to a container with such a child (e.g. a Sprite3D object or a masked
display object). In such a case, enable this property for maximum performance.</p>
<p> @default false</p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external">
<a name="antialiasing" class="tsd-anchor"></a>
<h3>anti<wbr>Aliasing</h3>
<div class="tsd-signature tsd-kind-icon">anti<wbr>Aliasing<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L187">lib/starling/filters/FragmentFilter.d.ts:187</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The anti-aliasing level. This is only used for rendering the target object
into a texture, not for the filter passes. 0 - none, 4 - maximum. @default 0</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external">
<a name="iscached" class="tsd-anchor"></a>
<h3>is<wbr>Cached</h3>
<div class="tsd-signature tsd-kind-icon">is<wbr>Cached<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L158">lib/starling/filters/FragmentFilter.d.ts:158</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Indicates if the filter is cached (via the <code>cache</code> method).</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-external">
<a name="maintainresolutionacrosspasses" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> maintain<wbr>Resolution<wbr>Across<wbr>Passes</h3>
<div class="tsd-signature tsd-kind-icon">maintain<wbr>Resolution<wbr>Across<wbr>Passes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L181">lib/starling/filters/FragmentFilter.d.ts:181</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Indicates if the filter requires all passes to be processed with the exact same
resolution.</p>
</div>
<p>Some filters must use the same resolution for input and output; e.g. the blur filter
is very sensitive to changes of pixel / texel sizes. When the filter is used as part
of a filter chain, or if its last pass is drawn directly to the back buffer, such a
filter produces artifacts. In that case, the filter author must set this property
to <code>true</code>.</p>
<p> @default false</p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external">
<a name="padding" class="tsd-anchor"></a>
<h3>padding</h3>
<div class="tsd-signature tsd-kind-icon">padding<span class="tsd-signature-symbol">:</span> <a href="starling.utils.padding.html" class="tsd-signature-type">Padding</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L152">lib/starling/filters/FragmentFilter.d.ts:152</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Padding can extend the size of the filter texture in all directions.
That's useful when the filter "grows" the bounds of the object in any direction.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external">
<a name="resolution" class="tsd-anchor"></a>
<h3>resolution</h3>
<div class="tsd-signature tsd-kind-icon">resolution<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L166">lib/starling/filters/FragmentFilter.d.ts:166</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The resolution of the filter texture. "1" means stage resolution, "0.5" half the stage
resolution. A lower resolution saves memory and execution time, but results in a lower
output quality. Values greater than 1 are allowed; such values might make sense for a
cached filter when it is scaled up. @default 1</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external">
<a name="textureformat" class="tsd-anchor"></a>
<h3>texture<wbr>Format</h3>
<div class="tsd-signature tsd-kind-icon">texture<wbr>Format<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L197">lib/starling/filters/FragmentFilter.d.ts:197</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The format of the filter texture. @default BGRA</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external">
<a name="texturesmoothing" class="tsd-anchor"></a>
<h3>texture<wbr>Smoothing</h3>
<div class="tsd-signature tsd-kind-icon">texture<wbr>Smoothing<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L192">lib/starling/filters/FragmentFilter.d.ts:192</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The smoothing mode of the filter texture. @default bilinear</p>
</div>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-external">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected tsd-is-external">
<a name="addeventlistener" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> add<wbr>Event<wbr>Listener</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected tsd-is-external">
<li class="tsd-signature tsd-kind-icon">add<wbr>Event<wbr>Listener<span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Overrides <a href="starling.events.eventdispatcher.html">EventDispatcher</a>.<a href="starling.events.eventdispatcher.html#addeventlistener">addEventListener</a></p>
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L143">lib/starling/filters/FragmentFilter.d.ts:143</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>type: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>listener: <span class="tsd-signature-type">Function</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external">
<a name="cache" class="tsd-anchor"></a>
<h3>cache</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external">
<li class="tsd-signature tsd-kind-icon">cache<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L134">lib/starling/filters/FragmentFilter.d.ts:134</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Caches the filter output into a texture.</p>
</div>
<p>An uncached filter is rendered every frame (except if it can be rendered from the
global render cache, which happens if the target object does not change its appearance
or location relative to the stage). A cached filter is only rendered once; the output
stays unchanged until you call <code>cache</code> again or change the filter settings.
</p>
<p>Beware: you cannot cache filters on 3D objects; if the object the filter is attached
to is a Sprite3D or has a Sprite3D as (grand-) parent, the request will be silently
ignored. However, you <em>can</em> cache a 2D object that has 3D children!</p>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external">
<a name="clearcache" class="tsd-anchor"></a>
<h3>clear<wbr>Cache</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external">
<li class="tsd-signature tsd-kind-icon">clear<wbr>Cache<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L138">lib/starling/filters/FragmentFilter.d.ts:138</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Clears the cached output of the filter. After calling this method, the filter will be
processed once per frame again.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
<a name="dispatchevent" class="tsd-anchor"></a>
<h3>dispatch<wbr>Event</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
<li class="tsd-signature tsd-kind-icon">dispatch<wbr>Event<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><a href="starling.events.event.html" class="tsd-signature-type">Event</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="starling.events.eventdispatcher.html">EventDispatcher</a>.<a href="starling.events.eventdispatcher.html#dispatchevent">dispatchEvent</a></p>
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/events/EventDispatcher.d.ts#L45">lib/starling/events/EventDispatcher.d.ts:45</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Dispatches an event to all objects that have registered listeners for its type.
If an event with enabled 'bubble' property is dispatched to a display object, it will
travel up along the line of parents, until it either hits the root object or someone
stops its propagation manually.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>event: <a href="starling.events.event.html" class="tsd-signature-type">Event</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
<a name="dispatcheventwith" class="tsd-anchor"></a>
<h3>dispatch<wbr>Event<wbr>With</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
<li class="tsd-signature tsd-kind-icon">dispatch<wbr>Event<wbr>With<span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, bubbles<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span>, data<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="starling.events.eventdispatcher.html">EventDispatcher</a>.<a href="starling.events.eventdispatcher.html#dispatcheventwith">dispatchEventWith</a></p>
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/events/EventDispatcher.d.ts#L50">lib/starling/events/EventDispatcher.d.ts:50</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Dispatches an event with the given parameters to all objects that have registered
listeners for the given type. The method uses an internal pool of event objects to
avoid allocations.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>type: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> bubbles: <span class="tsd-signature-type">boolean</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> data: <span class="tsd-signature-type">any</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external">
<a name="dispose" class="tsd-anchor"></a>
<h3>dispose</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external">
<li class="tsd-signature tsd-kind-icon">dispose<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L94">lib/starling/filters/FragmentFilter.d.ts:94</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Disposes all resources that have been created by the filter.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<a name="get_alwaysdrawtobackbuffer" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>always<wbr>Draw<wbr>ToBack<wbr>Buffer</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<li class="tsd-signature tsd-kind-icon">get_<wbr>always<wbr>Draw<wbr>ToBack<wbr>Buffer<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L215">lib/starling/filters/FragmentFilter.d.ts:215</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<a name="get_antialiasing" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>anti<wbr>Aliasing</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<li class="tsd-signature tsd-kind-icon">get_<wbr>anti<wbr>Aliasing<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L188">lib/starling/filters/FragmentFilter.d.ts:188</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<a name="get_iscached" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>is<wbr>Cached</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<li class="tsd-signature tsd-kind-icon">get_<wbr>is<wbr>Cached<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L159">lib/starling/filters/FragmentFilter.d.ts:159</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<a name="get_maintainresolutionacrosspasses" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>maintain<wbr>Resolution<wbr>Across<wbr>Passes</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<li class="tsd-signature tsd-kind-icon">get_<wbr>maintain<wbr>Resolution<wbr>Across<wbr>Passes<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L182">lib/starling/filters/FragmentFilter.d.ts:182</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<a name="get_padding" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>padding</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<li class="tsd-signature tsd-kind-icon">get_<wbr>padding<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="starling.utils.padding.html" class="tsd-signature-type">Padding</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L153">lib/starling/filters/FragmentFilter.d.ts:153</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <a href="starling.utils.padding.html" class="tsd-signature-type">Padding</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<a name="get_resolution" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>resolution</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<li class="tsd-signature tsd-kind-icon">get_<wbr>resolution<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L167">lib/starling/filters/FragmentFilter.d.ts:167</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<a name="get_textureformat" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>texture<wbr>Format</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<li class="tsd-signature tsd-kind-icon">get_<wbr>texture<wbr>Format<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L198">lib/starling/filters/FragmentFilter.d.ts:198</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<a name="get_texturesmoothing" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>texture<wbr>Smoothing</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external">
<li class="tsd-signature tsd-kind-icon">get_<wbr>texture<wbr>Smoothing<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L193">lib/starling/filters/FragmentFilter.d.ts:193</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
<a name="haseventlistener" class="tsd-anchor"></a>
<h3>has<wbr>Event<wbr>Listener</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
<li class="tsd-signature tsd-kind-icon">has<wbr>Event<wbr>Listener<span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="starling.events.eventdispatcher.html">EventDispatcher</a>.<a href="starling.events.eventdispatcher.html#haseventlistener">hasEventListener</a></p>
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/events/EventDispatcher.d.ts#L55">lib/starling/events/EventDispatcher.d.ts:55</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>If called with one argument, figures out if there are any listeners registered for
the given event type. If called with two arguments, also determines if a specific
listener is registered.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>type: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> listener: <span class="tsd-signature-type">any</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external">
<a name="process" class="tsd-anchor"></a>
<h3>process</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external">
<li class="tsd-signature tsd-kind-icon">process<span class="tsd-signature-symbol">(</span>painter<span class="tsd-signature-symbol">: </span><a href="starling.rendering.painter.html" class="tsd-signature-type">Painter</a>, helper<span class="tsd-signature-symbol">: </span><a href="starling.filters.ifilterhelper.html" class="tsd-signature-type">IFilterHelper</a>, input0<span class="tsd-signature-symbol">?: </span><a href="starling.textures.texture.html" class="tsd-signature-type">Texture</a>, input1<span class="tsd-signature-symbol">?: </span><a href="starling.textures.texture.html" class="tsd-signature-type">Texture</a>, input2<span class="tsd-signature-symbol">?: </span><a href="starling.textures.texture.html" class="tsd-signature-type">Texture</a>, input3<span class="tsd-signature-symbol">?: </span><a href="starling.textures.texture.html" class="tsd-signature-type">Texture</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="starling.textures.texture.html" class="tsd-signature-type">Texture</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/filters/FragmentFilter.d.ts#L118">lib/starling/filters/FragmentFilter.d.ts:118</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Does the actual filter processing. This method will be called with up to four input
textures and must return a new texture (acquired from the <code>helper</code>) that
contains the filtered output. To to do this, it configures the FilterEffect
(provided via <code>createEffect</code>) and calls its <code>render</code> method.</p>
</div>
<p>In a standard filter, only <code>input0</code> will contain a texture; that's the
object the filter was applied to, rendered into an appropriately sized texture.
However, filters may also accept multiple textures; that's useful when you need to
combine the output of several filters into one. For example, the DropShadowFilter
uses a BlurFilter to create the shadow and then feeds both input and shadow texture
into a CompositeFilter.</p>
<p>Never create or dispose any textures manually within this method; instead, get
new textures from the provided helper object, and pass them to the helper when you do
not need them any longer. Ownership of both input textures and returned texture
lies at the caller; only temporary textures should be put into the helper.</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>painter: <a href="starling.rendering.painter.html" class="tsd-signature-type">Painter</a></h5>
</li>
<li>
<h5>helper: <a href="starling.filters.ifilterhelper.html" class="tsd-signature-type">IFilt