Donner 0.5.1
Embeddable browser-grade SVG2 engine
Loading...
Searching...
No Matches
donner::svg::FilterEffect Struct Reference

Filter effect container, which can contain a reference to another filter effect, or a CSS filter function (such as blur(), grayscale(), etc). More...

#include "donner/svg/components/filter/FilterEffect.h"

Classes

struct  None
 No effect. More...
struct  Blur
 Blur effect, which applies a gaussian blur with the given standard deviation. More...
struct  ElementReference
 Reference to another filter effect, from a url(). More...
struct  HueRotate
 CSS hue-rotate(<angle>) filter function. More...
struct  Brightness
 CSS brightness(<number-percentage>) filter function. More...
struct  Contrast
 CSS contrast(<number-percentage>) filter function. More...
struct  Grayscale
 CSS grayscale(<number-percentage>) filter function. More...
struct  Invert
 CSS invert(<number-percentage>) filter function. More...
struct  FilterOpacity
 CSS opacity(<number-percentage>) filter function. More...
struct  Saturate
 CSS saturate(<number-percentage>) filter function. More...
struct  Sepia
 CSS sepia(<number-percentage>) filter function. More...
struct  DropShadow
 CSS drop-shadow() filter function. More...

Public Types

using Type
 Variant containing all supported effects.

Public Member Functions

 FilterEffect (Type value)
 Construct a filter effect from a pre-constructed filter.
constexpr FilterEffect (None)
 Construct an empty filter, which applies no effect, as a constexpr constructor.
bool operator== (const FilterEffect &other) const
 Equality operator.
template<typename T>
bool is () const
 Returns true if this filter effect is of type T.
template<typename T>
T & get () &
 Returns the filter effect as type T, asserting that the filter effect is of type T.
template<typename T>
const T & get () const &
 Returns the filter effect as type T, asserting that the filter effect is of type T.
template<typename T>
T && get () &&
 Returns the filter effect as type T, asserting that the filter effect is of type T.

Public Attributes

Type value
 Filter effect variant value, contains the current effect.

Friends

std::ostream & operator<< (std::ostream &os, const FilterEffect &filter)
 Ostream output operator.

Detailed Description

Filter effect container, which can contain a reference to another filter effect, or a CSS filter function (such as blur(), grayscale(), etc).

See also
https://www.w3.org/TR/filter-effects/#FilterProperty

Member Typedef Documentation

◆ Type

Initial value:
Blur effect, which applies a gaussian blur with the given standard deviation.
Definition FilterEffect.h:26
CSS brightness(<number-percentage>) filter function.
Definition FilterEffect.h:56
CSS contrast(<number-percentage>) filter function.
Definition FilterEffect.h:64
CSS drop-shadow() filter function.
Definition FilterEffect.h:112
Reference to another filter effect, from a url().
Definition FilterEffect.h:37
CSS opacity(<number-percentage>) filter function.
Definition FilterEffect.h:88
CSS grayscale(<number-percentage>) filter function.
Definition FilterEffect.h:72
CSS hue-rotate(<angle>) filter function.
Definition FilterEffect.h:48
CSS invert(<number-percentage>) filter function.
Definition FilterEffect.h:80
No effect.
Definition FilterEffect.h:20
CSS saturate(<number-percentage>) filter function.
Definition FilterEffect.h:96
CSS sepia(<number-percentage>) filter function.
Definition FilterEffect.h:104

Variant containing all supported effects.

Constructor & Destructor Documentation

◆ FilterEffect()

donner::svg::FilterEffect::FilterEffect ( Type value)
inline

Construct a filter effect from a pre-constructed filter.

Parameters
valueFilter effect to assign.

Member Function Documentation

◆ get() [1/3]

template<typename T>
T & donner::svg::FilterEffect::get ( ) &
inline

Returns the filter effect as type T, asserting that the filter effect is of type T.

Template Parameters
TType to get.

◆ get() [2/3]

template<typename T>
T && donner::svg::FilterEffect::get ( ) &&
inline

Returns the filter effect as type T, asserting that the filter effect is of type T.

Template Parameters
TType to get.

◆ get() [3/3]

template<typename T>
const T & donner::svg::FilterEffect::get ( ) const &
inline

Returns the filter effect as type T, asserting that the filter effect is of type T.

Template Parameters
TType to get.

◆ is()

template<typename T>
bool donner::svg::FilterEffect::is ( ) const
inline

Returns true if this filter effect is of type T.

Template Parameters
TType to check.

The documentation for this struct was generated from the following file: