Adds a soft shadow to the filtered Object.

Constructor

@:value({ smoothColor : false, quality : 1., gain : 1, radius : 1., alpha : 1., color : 0, angle : 0.785, distance : 4. })new(distance:Float = 4., angle:Float = 0.785, color:Int = 0, alpha:Float = 1., radius:Float = 1., gain:Float = 1, quality:Float = 1., smoothColor:Bool = false)

Create a new Shadow filter.

Parameters:

distance

The offset of the shadow in the angle direction.

angle

Shadow offset direction angle.

color

The color of the shadow.

alpha

Transparency value of the shadow.

radius

The shadow glow distance in pixels.

gain

The shadow color intensity.

quality

The sample count on each pixel as a tradeoff of speed/quality.

smoothColor

Produce gradient shadow when enabled, otherwise creates hard shadow without smoothing.

Variables

angle:Float

The shadow offset direction angle.

distance:Float

The offset distance of the shadow in the direction of DropShadow.angle.

Methods

Inherited Variables

Defined by Glow

alpha:Float

Transparency value of the glow.

color:Int

The color of the glow.

knockout:Bool

Subtracts the original image from the glow output when enabled.

smoothColor:Bool

Produce gradient glow when enabled, otherwise creates hard glow without smoothing.

Defined by Blur

Defined by Filter

@:value(true)autoBounds:Bool = true

When enabled, rendering bounds of the filter will be expanded by Filter.boundsExtend in all directions. Otherwise filter should provide custom bounds through Filter.getBounds call. Default : true.

@:value(0.)boundsExtend:Float = 0.

Rendering texture boundaries extent. Increases the rendering area by twice the Filter.boundsExtend value. Automatically applied to object bounds when autoBounds = true or Filter.getBounds is not overridden. Does not affect boundaries when autoBounds = true and boundsExtend is less than 0.

@:value(true)@:isVarenable:Bool = true

When filter is disabled, attached object will render as usual.

@:value(1)resolutionScale:Float = 1

Custom rendering resolution scaling of the filter.

Stacks with additional scaling from Filter.useResolutionScaling if enabled.

@:value(false)smooth:Bool = false

When enabled, filters on not Object which are not Drawable will use bilinear filtering when displayed and some filter will also use bilinear filtering on intermediate textures.

@:value(defaultUseScreenResolution)useScreenResolution:Bool = defaultUseScreenResolution

Use the screen resolution to upscale/downscale the filter rendering resolution.

Stacks with additional scaling from Filter.resolutionScale if enabled.

Inherited Methods

Defined by Filter

bind(s:Object):Void

Sent when filter is bound to an Object s. If Object was not yet allocated, method will be called when it's added to allocated Scene.

getBounds(s:Object, bounds:Bounds, scale:Point):Void

Method should populate bounds with rendering boundaries of the Filter for Object s. Initial bounds contents are undefined and it's recommended to either clear them or call s.getBounds(s, bounds). Only used when Filter.autoBounds is false.

By default uses given Object bounds and extends them with Filter.boundsExtend. Compared to autoBounds = true, negative boundsExtend are still applied, causing rendering area to shrink.

Parameters:

s

The Object instance to which the filter is applied.

bounds

The Bounds instance which should be populated by the filter boundaries.

scale

Contains the desired rendering resolution scaling which should be accounted when constructing the bounds. Can be edited to override provided scale values.

unbind(s:Object):Void

Sent when filter was unbound from an Object s. Method won't be called if Object was not yet allocated.