diff --git a/Helper.cpp b/Helper.cpp new file mode 100644 index 0000000..3dddb9d --- /dev/null +++ b/Helper.cpp @@ -0,0 +1,36 @@ +#include "Helper.h" +void drawTexture(SDL_Renderer *renderer, SDL_Texture *texture, int x, int y, int w, int h) { + SDL_Rect src; + src.x = 0; + src.y = 0; + SDL_QueryTexture(texture, nullptr, nullptr, &src.w, &src.h); + + SDL_Rect dist; + dist.x = x; + dist.y = y; + dist.w = w; + dist.h = h; + + SDL_RenderCopy(renderer, texture, &src, &dist); +} + +void drawText(SDL_Renderer *renderer, TTF_Font *font, const std::string text, int x, int y, int w, int h) { + SDL_Surface *surface = TTF_RenderText_Solid(font, text.c_str(), {255, 255, 255}); + SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, surface); + + SDL_Rect src; + src.x = 0; + src.y = 0; + SDL_QueryTexture(texture, nullptr, nullptr, &src.w, &src.h); + + SDL_Rect dist; + dist.x = x; + dist.y = y; + dist.w = w; + dist.h = h; + + SDL_RenderCopy(renderer, texture, &src, &dist); + + SDL_FreeSurface(surface); + SDL_DestroyTexture(texture); +} \ No newline at end of file diff --git a/Helper.h b/Helper.h new file mode 100644 index 0000000..5ac0e0a --- /dev/null +++ b/Helper.h @@ -0,0 +1,10 @@ +#ifndef CPP_LEARNING_HELPER_H +#define CPP_LEARNING_HELPER_H +#include +#include +#include + +void drawTexture(SDL_Renderer *renderer, SDL_Texture *texture, int x, int y, int w, int h); +void drawText(SDL_Renderer *renderer, TTF_Font *font, const std::string text, int x, int y, int w, int h); + +#endif \ No newline at end of file