Files
wagic/JGE/include/hge/hgedistort.h

71 lines
1.6 KiB
C++

/*
** Haaf's Game Engine 1.7
** Copyright (C) 2003-2007, Relish Games
** hge.relishgames.com
**
** hgeDistortionMesh helper class header
*/
#ifndef HGEDISTORT_H
#define HGEDISTORT_H
//#include "hge.h"
#include "../JTypes.h"
#define HGEDISP_NODE 0
#define HGEDISP_TOPLEFT 1
#define HGEDISP_CENTER 2
class JTexture;
class JQuad;
/*
** HGE Distortion mesh class
*/
class hgeDistortionMesh
{
public:
hgeDistortionMesh(int cols, int rows);
hgeDistortionMesh(const hgeDistortionMesh &dm);
~hgeDistortionMesh();
hgeDistortionMesh& operator= (const hgeDistortionMesh &dm);
void Render(float x, float y);
void Clear(PIXEL_TYPE col=ARGB(0xFF,0xFF,0xFF,0xFF), float z=0.5f);
void SetTexture(JTexture* tex);
void SetTextureRect(float x, float y, float w, float h);
void SetBlendMode(int blend);
void SetZ(int col, int row, float z);
void SetColor(int col, int row, PIXEL_TYPE color);
void SetDisplacement(int col, int row, float dx, float dy, int ref);
JTexture* GetTexture() const {return quad->mTex;}
void GetTextureRect(float *x, float *y, float *w, float *h) const { *x=tx; *y=ty; *w=width; *h=height; }
int GetBlendMode() const { return 0; }
float GetZ(int col, int row) const;
PIXEL_TYPE GetColor(int col, int row) const;
void GetDisplacement(int col, int row, float *dx, float *dy, int ref) const;
int GetRows() { return nRows; }
int GetCols() { return nCols; }
private:
hgeDistortionMesh();
//static HGE *hge;
Vertex *disp_array;
int nRows, nCols;
float cellw,cellh;
float tx,ty,width,height;
JQuad* quad;
};
#endif