#pragma once #include "../Texture.h" #include "../ManagementContext/BlendingPipelineManagementContext.h" // Blendmode class LayerNode { protected: static uint32_t idCounter; public: virtual ~LayerNode(); LayerNode(); static void SetIdCounter(uint32_t count); std::string Name = ""; LayerNode* Parent = nullptr; // nullptr is root Blendmode BlendMode = Blendmode::NORMAL; double Opacity = 1.0; bool Visible = true; bool Locked = false; bool AlphaLocked = false; bool Clipped = false; virtual void Composite(Texture* target) = 0; uint32_t ID = 0; };