#ifndef COMPONENTS_TEXTURE_HPP #define COMPONENTS_TEXTURE_HPP #include "window.hpp" class Texture { public: Texture(const char *path) { tex = sdl2LoadTexture(path); } ~Texture() { if (tex != nullptr) SDL_DestroyTexture(tex); } void operator()(SDL_Renderer *rend, Point p) const noexcept { const int x = static_cast(p.x); const int y = static_cast(p.y); SDL_Rect rect {x, y, 0, 0}; /* TODO err check */ SDL_QueryTexture(tex, nullptr, nullptr, &rect.w, &rect.h); SDL_RenderCopy(rend, tex, nullptr, &rect); } private: SDL_Texture *tex; }; #endif // COMPONENTS_TEXTURE_HPP