Program Listing for File canvas_node.h¶
↰ Return to documentation for file (simple2dengine/nodes/canvas/canvas_node.h
)
#ifndef _SIMPLE2DENGINE_NODES_CANVAS_CANVAS_NODE_H_
#define _SIMPLE2DENGINE_NODES_CANVAS_CANVAS_NODE_H_
#include <string>
#include "simple2dengine/core/anchor.h"
#include "simple2dengine/engine.h"
#include "simple2dengine/nodes/node.h"
namespace simple2dengine
{
class CanvasNode : public Node
{
public:
using Node::Node;
bool addChild(std::shared_ptr<CanvasNode> child);
void setPosition(const sf::Vector2f& position);
void move(const sf::Vector2f& position);
const sf::Vector2f& getPosition() const;
const sf::Vector2f& getGlobalPosition() const;
void setVisible(bool isVisible);
bool isVisible() const;
bool isVisibleInTree() const;
void setAnchor(const Anchor anchor);
Anchor getAnchor() const;
virtual void updateTransform();
private:
bool visible = true; // visibility of node
Anchor anchor = Anchor::Top | Anchor::Left; // anchor of node
sf::Vector2f position = sf::Vector2f(0.0f, 0.0f); // position that relative to parents
sf::Vector2f globalPosition = sf::Vector2f(0.0f, 0.0f); // global position
};
} // namespace simple2dengine
#endif // _SIMPLE2DENGINE_NODES_CANVAS_CANVAS_NODE_H_