mirror of
https://github.com/devZoGok/vb01.git
synced 2026-08-26 19:43:30 +00:00
37 lines
811 B
C++
Executable File
37 lines
811 B
C++
Executable File
#ifndef TEXTURE_H
|
|
#define TEXTURE_H
|
|
|
|
#include<string>
|
|
#include<ft2build.h>
|
|
#include"util.h"
|
|
#include FT_FREETYPE_H
|
|
|
|
namespace vb01{
|
|
class Texture{
|
|
public:
|
|
enum TextureType{TEXTURE_2D,TEXTURE_CUBEMAP};
|
|
|
|
~Texture();
|
|
Texture(int,int,bool=true);
|
|
Texture(std::string[],int,int=0,bool=false);
|
|
Texture(std::string[6],bool=false);
|
|
Texture(int,bool=true);
|
|
Texture(FT_Face&,char);
|
|
void select(int=0);
|
|
void update(int=0);
|
|
inline unsigned int* getTexture(int i=0){return &(texture[i]);}
|
|
inline std::string getPath(){return path;}
|
|
private:
|
|
TextureType type=TextureType::TEXTURE_2D;
|
|
u32 *texture=nullptr;
|
|
s32 updateRate=0,numFrames=0,frame=0;
|
|
s64 lastUpdateTime=0;
|
|
int width,height,numChannels;
|
|
float weight;
|
|
u8 *data;
|
|
std::string path="",paths[6];
|
|
};
|
|
}
|
|
|
|
#endif
|