Files
panopainter/src/node_image.h

36 lines
1.1 KiB
C++

#pragma once
#include "node.h"
#include "shape.h"
#include "texture.h"
class NodeImage : public Node
{
public:
static Plane m_plane;
static Sampler m_sampler;
static Sampler m_sampler_mips;
bool m_use_atlas = false;
bool m_use_mipmaps = false;
bool m_autosize = false;
glm::vec4 m_region;
glm::vec2 m_off;
glm::vec2 m_sz;
glm::vec2 m_scale = { 1.f, 1.f };
std::string m_path;
std::string m_url;
uint16_t m_tex_id;
std::shared_ptr<Asset> m_remote_asset;
std::shared_ptr<Texture2D> m_remote_texture;
bool m_remote_header_decoded = false;
static void static_init();
virtual Node* clone_instantiate() const override;
virtual void clone_copy(Node* dest) const override;
virtual void create() override;
virtual void restore_context() override;
virtual void parse_attributes(kAttribute ka, const tinyxml2::XMLAttribute* attr) override;
virtual void draw() override;
virtual void added(Node* parent) override;
bool set_image(const std::string& path);
void load_url(const std::string& url);
};