/
superwizard
/
openhmm
Обзор
Документация
Войти
/
superwizard
/
openhmm
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
sdl_renderer.hpp
54 строки
1 KB
Denis Burlaka
Initial project setup
20 июл 2026, 22:19
Верифицирован
20 июл 2026, 22:19
a818c95
Код
Авторство
О чём код?
#ifndef SDL_RENDERER_HPP #define SDL_RENDERER_HPP #include <SDL2/SDL.h> #include <SDL2/SDL_image.h> #include <functional> #include <memory> #include <string_view> class Hero; class SdlRenderer { public: SdlRenderer(int width, int height); ~SdlRenderer(); SdlRenderer(const SdlRenderer &) = delete; SdlRenderer &operator=(const SdlRenderer &) = delete; void clear(); void drawHero(const Hero &hero); void present(); bool handleEvents(); void setOnClick(std::function<void(int, int)> fn); void tickAnim() { if (++animTick % 6 == 0) animFrame = (animFrame + 1) % 4; } private: struct Sprite { SDL_Texture *texture; int fw, fh; int frames; }; Sprite loadSprite(const char *path, int frameW, int frameH, int frames); void drawSprite(const Sprite &sprite, int frame, int worldX, int worldY); SDL_Window *window; SDL_Renderer *renderer; Sprite knightSprite; Sprite goblinSprite; int scale; int animFrame; int animTick; bool quit; std::function<void(int, int)> onClick; }; #endif