#pragma once #include "rectangle.hpp" #include "ds_vk_base.hpp" namespace gz::vlk { /** * @details * Rectangle has vertex and index buffers from vlk::BufferManager * and a texture from vlk::TextureManager */ class RectangleTexturedVkDS : public DrawStrategy, public VulkanDS, public VulkanTexturedDS { public: RectangleTexturedVkDS(Renderer2D& renderer, BufferManager& bufferManager, const std::string& textureName); /** * @todo */ void draw() override; /** * @brief Set the new vertices and indices */ void update(const Rectangle& rect) override; private: void setTextureCoordinates(); }; } // namespace gz::vlk