25 lines
537 B
C++
25 lines
537 B
C++
#pragma once
|
|
|
|
#include "AbstractVisualNode.h"
|
|
#include "SvgDocument.h"
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
class SvgNode : public AbstractVisualNode
|
|
{
|
|
public:
|
|
SvgNode(const Point& location);
|
|
|
|
void setContent(std::unique_ptr<SvgDocument> doc);
|
|
|
|
void update(SceneInfo* sceneInfo);
|
|
private:
|
|
void createOrUpdateGeometry(SceneInfo* sceneInfo);
|
|
void updateTransform();
|
|
|
|
bool mContentDirty{ true };
|
|
|
|
std::vector<std::unique_ptr<AbstractVisualNode> > mManagedChildren;
|
|
std::unique_ptr<SvgDocument> mContent;
|
|
};
|