Donner
C++20 SVG rendering library
Loading...
Searching...
No Matches
Property.h File Reference
#include <optional>
#include <ostream>
#include "donner/css/Specificity.h"
Include dependency graph for Property.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  donner::svg::Property< T, kCascade >
 Holds a CSS property, which has a name and value, and integrates with inheritance to allow cascading values using the CSS model with specificity. More...
 

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.
 
namespace  donner::svg
 Donner SVG library, which can load, manipulate and render SVG files.
 

Typedefs

template<typename T >
using donner::svg::GetInitialFn = std::optional<T> (*)()
 Callback function to get the initial value of a property.
 

Enumerations

enum class  donner::svg::PropertyCascade {
  donner::svg::None ,
  donner::svg::Inherit ,
  donner::svg::PaintInherit
}
 Defines how this property cascades between the parent and child elements. More...
 
enum class  donner::svg::PropertyState {
  donner::svg::NotSet = 0 ,
  donner::svg::Set = 1 ,
  donner::svg::Inherit = 2 ,
  donner::svg::ExplicitInitial = 3 ,
  donner::svg::ExplicitUnset = 4
}
 The current property state, which can be either set, not set, or a specific CSS keyword such as "inherit", "initial", or "unset". More...
 
enum class  donner::svg::PropertyInheritOptions {
  donner::svg::All ,
  donner::svg::NoPaint
}
 Options to control how inheritance is performed, to either inherit everything or conditionally disable inheritance of paint servers. More...
 

Functions

template<typename T , PropertyCascade kCascade>
std::ostream & donner::svg::operator<< (std::ostream &os, const Property< T, kCascade > &property)
 Ostream output operator, which outputs the current property value, how it was set (e.g.