Base class for an element of an SVG Document. More...
#include <Svg.h>
Inherited by cinder::svg::Circle, cinder::svg::Ellipse, cinder::svg::Gradient, cinder::svg::Group, cinder::svg::Image, cinder::svg::Line, cinder::svg::Path, cinder::svg::Polygon, cinder::svg::Polyline, cinder::svg::Rect, cinder::svg::Text, cinder::svg::TextSpan, and cinder::svg::Use.
Public Member Functions | |
Node (const Node *parent) | |
virtual | ~Node () |
class Doc * | getDoc () const |
Returns the svg::Doc this Node is an element of. | |
const Node * | getParent () const |
Returns the immediate parent of this node. | |
const std::string & | getId () const |
Returns the ID of this Node when present. | |
std::string | getDomPath () const |
Returns a DOM-style path to this node. | |
const Style & | getStyle () const |
Returns the style elements defined on this Node but not inherited from ancestors. | |
void | setStyle (const Style &style) |
Sets the style defined on this Node but not inherited from ancestors. | |
Style | calcInheritedStyle () const |
Returns the node's Style, including attributes inherited from its ancestors for attributes it does not specify. | |
virtual bool | containsPoint (const Vec2f &pt) const |
Returns whether the point pt is inside of the Node's shape. | |
void | render (Renderer &renderer) const |
Renders the node and its descendants. | |
virtual const Node * | findInAncestors (const std::string &elementId) const |
Finds the node with ID elementId amongst this Node's ancestors. Returns NULL on failure. | |
Paint | findPaintInAncestors (const std::string &paintName) const |
Finds the svg::Paint node with ID elementId amongst this Node's ancestors. Returns a default svg::Paint instance on failure. | |
bool | specifiesTransform () const |
Returns whether this Node specifies a transformation. | |
MatrixAffine2f | getTransform () const |
Returns the local transformation of this node. Returns identity if the Node's transform isn't specified. | |
void | setTransform (const MatrixAffine2f &transform) |
Sets the local transformation of this node. | |
void | unspecifyTransform () |
Removes the local transformation of this node, effectively making it the identity matrix. | |
MatrixAffine2f | getTransformInverse () const |
Returns the inverse of the local transformation of this node. Returns identity if the Node's transform isn't specified. | |
MatrixAffine2f | getTransformAbsolute () const |
Returns the absolute transformation of this node, which includes inherited transformations. | |
MatrixAffine2f | getTransformAbsoluteInverse () const |
Returns the inverse of the absolute transformation of this node, which includes inherited transformations. | |
Rectf | getBoundingBox () const |
Returns the local bounding box of the Node. Calculated and cached the first time it is requested. | |
Rectf | getBoundingBoxAbsolute () const |
Returns the absolute bounding box of the Node. Calculated and cached the first time it is requested. | |
virtual Shape2d | getShape () const |
Returns a Shape2d representing the node in local coordinates. Not supported for Text. | |
Shape2d | getShapeAbsolute () const |
Returns a Shape2d representing the node in absolute coordinates. Not supported for Text. | |
const Paint & | getFill () const |
Returns node's fill, or the first among its ancestors when it has none. | |
const Paint & | getStroke () const |
Returns node's stroke, or the first among its ancestors when it has none. | |
float | getOpacity () const |
Returns node's opacity, or the first among its ancestors when it has none. | |
float | getFillOpacity () const |
Returns node's fill opacity, or the first among its ancestors when it has none. | |
float | getStrokeOpacity () const |
Returns node's stroke opacity, or the first among its ancestors when it has none. | |
FillRule | getFillRule () const |
Returns node's fill rule, or the first among its ancestors when it has none. | |
LineCap | getLineCap () const |
Returns node's line cap, or the first among its ancestors when it has none. | |
LineJoin | getLineJoin () const |
Returns node's line join, or the first among its ancestors when it has none. | |
float | getStrokeWidth () const |
Returns node's stroke width, or the first among its ancestors when it has none. | |
const std::vector< std::string > & | getFontFamilies () const |
Returns node's font families, or the first among its ancestors when it has none. | |
Value | getFontSize () const |
Returns node's font size, or the first among its ancestors when it has none. | |
bool | isVisible () const |
Returns whether this Node is visible, or the first among its ancestors when unspecified. | |
bool | isDisplayNone () const |
Returns whether the Display property of this Node is set to 'None', preventing rendering of the node and its children. | |
Protected Member Functions | |
Node (const Node *parent, const XmlTree &xml) | |
virtual bool | isDrawable () const |
void | startRender (Renderer &renderer, const Style &style) const |
void | finishRender (Renderer &renderer, const Style &style) const |
virtual void | renderSelf (Renderer &renderer) const =0 |
virtual Rectf | calcBoundingBox () const |
void | parseStyle (const std::string &value) |
Static Protected Member Functions | |
static Paint | parsePaint (const char *value, bool *specified, const Node *parentNode) |
static MatrixAffine2f | parseTransform (const std::string &value) |
static bool | parseTransformComponent (const char **c, MatrixAffine2f *result) |
static std::string | findStyleValue (const std::string &styleString, const std::string &key) |
Protected Attributes | |
const Node * | mParent |
std::string | mId |
Style | mStyle |
bool | mSpecifiesTransform |
MatrixAffine2f | mTransform |
bool | mBoundingBoxCached |
Rectf | mBoundingBox |
Friends | |
class | Group |
class | Use |
Base class for an element of an SVG Document.
cinder::svg::Node::Node | ( | const Node * | parent | ) |
virtual cinder::svg::Node::~Node | ( | ) | [virtual] |
cinder::svg::Node::Node | ( | const Node * | parent, |
const XmlTree & | xml | ||
) | [protected] |
Doc * cinder::svg::Node::getDoc | ( | ) | const |
const Node* cinder::svg::Node::getParent | ( | ) | const |
Returns the immediate parent of this node.
const std::string& cinder::svg::Node::getId | ( | ) | const |
Returns the ID of this Node when present.
string cinder::svg::Node::getDomPath | ( | ) | const |
Returns a DOM-style path to this node.
const Style& cinder::svg::Node::getStyle | ( | ) | const |
Returns the style elements defined on this Node but not inherited from ancestors.
void cinder::svg::Node::setStyle | ( | const Style & | style | ) |
Sets the style defined on this Node but not inherited from ancestors.
Style cinder::svg::Node::calcInheritedStyle | ( | ) | const |
Returns the node's Style, including attributes inherited from its ancestors for attributes it does not specify.
virtual bool cinder::svg::Node::containsPoint | ( | const Vec2f & | pt | ) | const [virtual] |
Returns whether the point pt is inside of the Node's shape.
Reimplemented in cinder::svg::Image, cinder::svg::Polyline, cinder::svg::Polygon, cinder::svg::Rect, cinder::svg::Path, cinder::svg::Ellipse, and cinder::svg::Circle.
void cinder::svg::Node::render | ( | Renderer & | renderer | ) | const |
Renders the node and its descendants.
const Node * cinder::svg::Node::findInAncestors | ( | const std::string & | elementId | ) | const [virtual] |
Finds the node with ID elementId amongst this Node's ancestors. Returns NULL on failure.
Reimplemented in cinder::svg::Group.
Paint cinder::svg::Node::findPaintInAncestors | ( | const std::string & | paintName | ) | const |
Finds the svg::Paint node with ID elementId amongst this Node's ancestors. Returns a default svg::Paint instance on failure.
bool cinder::svg::Node::specifiesTransform | ( | ) | const |
Returns whether this Node specifies a transformation.
Reimplemented in cinder::svg::Gradient.
Returns the local transformation of this node. Returns identity if the Node's transform isn't specified.
void cinder::svg::Node::setTransform | ( | const MatrixAffine2f & | transform | ) |
Sets the local transformation of this node.
Removes the local transformation of this node, effectively making it the identity matrix.
Returns the inverse of the local transformation of this node. Returns identity if the Node's transform isn't specified.
Returns the absolute transformation of this node, which includes inherited transformations.
Returns the inverse of the absolute transformation of this node, which includes inherited transformations.
Rectf cinder::svg::Node::getBoundingBox | ( | ) | const |
Returns the local bounding box of the Node. Calculated and cached the first time it is requested.
Returns the absolute bounding box of the Node. Calculated and cached the first time it is requested.
virtual Shape2d cinder::svg::Node::getShape | ( | ) | const [virtual] |
Returns a Shape2d representing the node in local coordinates. Not supported for Text.
Reimplemented in cinder::svg::Group, cinder::svg::Use, cinder::svg::Polyline, cinder::svg::Polygon, cinder::svg::Rect, cinder::svg::Line, cinder::svg::Path, cinder::svg::Ellipse, and cinder::svg::Circle.
Shape2d cinder::svg::Node::getShapeAbsolute | ( | ) | const |
const Paint & cinder::svg::Node::getFill | ( | ) | const |
Returns node's fill, or the first among its ancestors when it has none.
const Paint & cinder::svg::Node::getStroke | ( | ) | const |
Returns node's stroke, or the first among its ancestors when it has none.
float cinder::svg::Node::getOpacity | ( | ) | const |
Returns node's opacity, or the first among its ancestors when it has none.
float cinder::svg::Node::getFillOpacity | ( | ) | const |
Returns node's fill opacity, or the first among its ancestors when it has none.
float cinder::svg::Node::getStrokeOpacity | ( | ) | const |
Returns node's stroke opacity, or the first among its ancestors when it has none.
FillRule cinder::svg::Node::getFillRule | ( | ) | const |
Returns node's fill rule, or the first among its ancestors when it has none.
LineCap cinder::svg::Node::getLineCap | ( | ) | const |
Returns node's line cap, or the first among its ancestors when it has none.
LineJoin cinder::svg::Node::getLineJoin | ( | ) | const |
Returns node's line join, or the first among its ancestors when it has none.
float cinder::svg::Node::getStrokeWidth | ( | ) | const |
Returns node's stroke width, or the first among its ancestors when it has none.
const vector< string > & cinder::svg::Node::getFontFamilies | ( | ) | const |
Returns node's font families, or the first among its ancestors when it has none.
Value cinder::svg::Node::getFontSize | ( | ) | const |
Returns node's font size, or the first among its ancestors when it has none.
bool cinder::svg::Node::isVisible | ( | ) | const |
Returns whether this Node is visible, or the first among its ancestors when unspecified.
bool cinder::svg::Node::isDisplayNone | ( | ) | const |
virtual bool cinder::svg::Node::isDrawable | ( | ) | const [protected, virtual] |
Reimplemented in cinder::svg::Group, cinder::svg::Use, cinder::svg::RadialGradient, and cinder::svg::LinearGradient.
void cinder::svg::Node::startRender | ( | Renderer & | renderer, |
const Style & | style | ||
) | const [protected] |
void cinder::svg::Node::finishRender | ( | Renderer & | renderer, |
const Style & | style | ||
) | const [protected] |
virtual void cinder::svg::Node::renderSelf | ( | Renderer & | renderer | ) | const [protected, pure virtual] |
virtual Rectf cinder::svg::Node::calcBoundingBox | ( | ) | const [protected, virtual] |
Paint cinder::svg::Node::parsePaint | ( | const char * | value, |
bool * | specified, | ||
const Node * | parentNode | ||
) | [static, protected] |
MatrixAffine2f cinder::svg::Node::parseTransform | ( | const std::string & | value | ) | [static, protected] |
bool cinder::svg::Node::parseTransformComponent | ( | const char ** | c, |
MatrixAffine2f * | result | ||
) | [static, protected] |
std::string cinder::svg::Node::findStyleValue | ( | const std::string & | styleString, |
const std::string & | key | ||
) | [static, protected] |
void cinder::svg::Node::parseStyle | ( | const std::string & | value | ) | [protected] |
friend class Group [friend] |
friend class Use [friend] |
const Node* cinder::svg::Node::mParent [protected] |
std::string cinder::svg::Node::mId [protected] |
Style cinder::svg::Node::mStyle [protected] |
bool cinder::svg::Node::mSpecifiesTransform [protected] |
Reimplemented in cinder::svg::Gradient.
MatrixAffine2f cinder::svg::Node::mTransform [protected] |
Reimplemented in cinder::svg::Gradient.
bool cinder::svg::Node::mBoundingBoxCached [mutable, protected] |
Rectf cinder::svg::Node::mBoundingBox [mutable, protected] |