-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLTexture.h
70 lines (51 loc) · 1.31 KB
/
LTexture.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#pragma once
#include <SDL.h>
#include <SDL_image.h>
#include <SDL_ttf.h>
#include <string>
#ifndef __LTEXTURE_H__
#define __LTEXTURE_H__
#ifndef _SDL_TTF_H
#define _SDL_TTF_H
class LTexture
{
public:
//Initializes variables
LTexture();
//Renderer pass Constructor
LTexture(SDL_Renderer *gRenderer);
//Deallocates memory
~LTexture();
//Loads image at specified path
bool loadFromFile(std::string path, SDL_Renderer *mRenderer);
#ifdef _SDL_TTF_H
//Creates image from font string
bool loadFromRenderedText(SDL_Renderer* Renderer, std::string textureText, SDL_Color textColor, TTF_Font* Font);
#endif
//Deallocates texture
void free();
//Set color modulation
void setColor(Uint8 red, Uint8 green, Uint8 blue);
//Set blending
void setBlendMode(SDL_BlendMode blending);
//Set alpha modulation
void setAlpha(Uint8 alpha);
//Renders texture at given point
void render(int x, int y, SDL_Rect* clip = NULL, double angle = 0.0, SDL_Point* center = NULL, SDL_RendererFlip flip = SDL_FLIP_NONE);
//Gets image dimensions
int getWidth();
int getHeight();
SDL_Texture *getTexture() { return mTexture; };
private:
//The actual hardware texture
SDL_Texture* mTexture;
void* mPixels;
int mPitch;
//Image dimensions
int mWidth;
int mHeight;
SDL_Renderer* gRendptr;
TTF_Font *Font = NULL;
};
#endif
#endif