1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- //
- // Created by jovian on 16/07/17.
- //
- #include "texturer.h"
- void logSDLError(std::ostream &os, const std::string &msg) {
- os << msg << " error: " << SDL_GetError() << std::endl;
- }
- SDL_Texture *loadTexture(const std::string &file, SDL_Renderer *ren) {
- SDL_Texture *texture = IMG_LoadTexture(ren, file.c_str());
- if (texture == nullptr) {
- logSDLError(std::cout, "LoadTexture");
- }
- return texture;
- }
- void renderTexture(SDL_Texture *tex, SDL_Renderer *ren, int x, int y, bool centered) {
- int w, h;
- SDL_QueryTexture(tex, NULL, NULL, &w, &h);
- renderTexture(tex, ren, x, y, w, h, centered);
- }
- void renderTexture(SDL_Texture *tex, SDL_Renderer *ren, int x, int y, int w, int h, bool centered) {
- SDL_Rect dst;
- dst.x = x;
- dst.y = y;
- dst.w = w;
- dst.h = h;
- if (centered) {
- dst.x -= dst.w / 2;
- dst.y -= dst.h / 2;
- }
- SDL_RenderCopy(ren, tex, NULL, &dst);
- }
- void renderTexture(SDL_Texture *tex, SDL_Renderer *ren, int x, int y, double angle, bool centered) {
- int w, h;
- SDL_QueryTexture(tex, NULL, NULL, &w, &h);
- renderTexture(tex, ren, x, y, angle, w, h, centered);
- }
- void
- renderTexture(SDL_Texture *tex, SDL_Renderer *ren, int x, int y, double angle, int w, int h, bool centered) {
- SDL_Rect dst;
- dst.x = x;
- dst.y = y;
- dst.w = w;
- dst.h = h;
- if (centered) {
- dst.x -= dst.w / 2;
- dst.y -= dst.h / 2;
- }
- SDL_RenderCopyEx(ren, tex, NULL, &dst, angle, NULL, SDL_FLIP_NONE);
- }
|