mirror of
https://github.com/DrBeef/Raze.git
synced 2024-12-15 15:11:01 +00:00
30 lines
672 B
C++
30 lines
672 B
C++
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include "tarray.h"
|
|
|
|
typedef TMap<int, bool> SpriteHits;
|
|
class FTexture;
|
|
|
|
class IHardwareTexture
|
|
{
|
|
public:
|
|
enum
|
|
{
|
|
MAX_TEXTURES = 16
|
|
};
|
|
|
|
IHardwareTexture() = default;
|
|
virtual ~IHardwareTexture() = default;
|
|
|
|
virtual void AllocateBuffer(int w, int h, int texelsize) = 0;
|
|
virtual uint8_t *MapBuffer() = 0;
|
|
virtual unsigned int CreateTexture(unsigned char * buffer, int w, int h, int texunit, bool mipmap, const char *name) = 0;
|
|
|
|
void Resize(int swidth, int sheight, int width, int height, unsigned char *src_data, unsigned char *dst_data);
|
|
|
|
int GetBufferPitch() const { return bufferpitch; }
|
|
|
|
protected:
|
|
int bufferpitch = -1;
|
|
};
|