Skip to main content

ferroui_base/rendering/composition/effects/
mod.rs

1//! The effects of the WinUI composition API (phase 6, scoped): the effect
2//! descriptions an effect factory is made from (the FerroUI form of the
3//! Win2D effects WinUI takes), the factory, and the loaded graph its
4//! brushes draw.
5//!
6//! The descriptions are the effects the drawing contexts of FerroUI can
7//! express: a Gaussian blur (the blur effect of the drawing context), an
8//! opacity, a cross-fade of two sources, composites in every mode but
9//! `MaskInvert`, a colour fill, blends, colour matrices (saturation, tint,
10//! invert, grayscale, luminance to alpha), an arithmetic composite with a
11//! colour, an alpha mask, a border that tiles a surface and scene lighting
12//! (winui-materials.md). A graph with another effect or mode loads with the
13//! status `Other`, and its brushes draw nothing.
14
15mod composition_effect_factory;
16mod effect_graph;
17mod graphics_effects;
18
19pub use composition_effect_factory::{
20    CompositionEffectFactory, CompositionEffectFactoryError, CompositionEffectFactoryLoadStatus,
21};
22pub use effect_graph::blur_amount_to_radius;
23pub(crate) use effect_graph::{
24    EffectColor, EffectGraph, EffectMatrix, EffectNode, EffectNodeKind, EffectPropertyValue, EffectScalar, PixelOp,
25};
26pub use graphics_effects::{
27    AlphaMaskEffect, ArithmeticCompositeEffect, BlendEffect, BlendEffectMode, BorderEffect, CanvasComposite,
28    CanvasEdgeBehavior, ColorMatrixEffect, ColorSourceEffect, CompositeEffect, CompositionEffectSourceParameter,
29    CrossFadeEffect, EffectBorderMode, EffectOptimization, GaussianBlurEffect, GraphicsEffect, GraphicsEffectSource,
30    GrayscaleEffect, InvertEffect, LuminanceToAlphaEffect, OpacityEffect, SaturationEffect, SceneLightingEffect,
31    ShadowEffect, TintEffect,
32};