Skip to main content

Module filter_effects

Module filter_effects 

Source
Expand description

Filter effects API based on the W3C Filter Effects specification.

This module provides a comprehensive filter system supporting both high-level CSS filter functions and low-level SVG filter primitives. The API is designed to follow the W3C Filter Effects Module Level 1 specification.

See: https://drafts.fxtf.org/filter-effects/

§Implementation Status

§✅ Implemented

Filter Functions:

  • Blur - Gaussian blur effect

Filter Primitives (Single Use Only):

  • Flood - Solid color fill
  • GaussianBlur - Gaussian blur filter
  • DropShadow - Drop shadow effect (compound primitive)
  • DropShadowOnly - Drop shadow effect without the original input
  • Offset - Translation/shift (single primitive)

Note: Currently only single primitive filters are supported. Filter graphs with multiple connected primitives are not yet implemented.

§🚧 Not Yet Implemented

Core Features:

  • FilterGraph execution - Chaining multiple filter primitives together
  • FilterInputs - Connecting primitives to create complex effects

Filter Functions:

  • Brightness, Contrast, Grayscale, HueRotate, Invert, Opacity, Saturate, Sepia

Filter Primitives:

  • ColorMatrix - Matrix-based color transformation
  • Composite - Porter-Duff compositing operations
  • Blend - Blend mode operations
  • Morphology - Dilate/erode operations
  • ConvolveMatrix - Custom convolution kernels
  • Turbulence - Perlin noise generation
  • DisplacementMap - Pixel displacement
  • ComponentTransfer - Per-channel transfer functions
  • Image - External image reference
  • Tile - Tiling operation
  • DiffuseLighting, SpecularLighting - Lighting effects

Modules§

kernels
Common convolution kernels.
matrices
Common color transformation matrices.

Structs§

ConvolutionKernel
Convolution kernel for custom filtering operations.
Filter
The main filter system.
FilterGraph
A directed acyclic graph (DAG) of filter operations.
FilterId
Unique identifier for a filter primitive in the graph.
FilterInputs
Input connections for a filter primitive.

Enums§

ColorChannel
Color channels for displacement mapping and channel selection.
CompositeOperator
Composite operators for combining filter inputs.
CompoundFilter
Pre-built compound effects for common use cases.
EdgeMode
Edge mode for filter operations.
FilterEffect
All possible filter effects.
FilterFunction
High-level filter functions for common effects (CSS filter functions).
FilterInput
A single filter input.
FilterPrimitive
Low-level filter primitives for granular control (SVG filter primitives).
FilterSource
Filter input sources.
LightSource
Light source configurations for lighting effects.
MorphologyOperator
Morphological operators for dilate/erode operations.
TransferFunction
Transfer functions for component transfer operations.
TurbulenceType
Types of turbulence noise generation.

Functions§

blur_radius 🔒

Type Aliases§

BlendMode
Blend modes for combining colors.