Holy fucking shit I don't want to work on this. Sibly, you son of a ...
This commit is contained in:
+65
-62
@@ -9,35 +9,35 @@ class gxGraphics;
|
||||
|
||||
typedef IDirectDrawSurface7 ddSurf;
|
||||
|
||||
class gxCanvas{
|
||||
class gxCanvas {
|
||||
public:
|
||||
gxCanvas( gxGraphics *graphics,ddSurf *surface,int flags );
|
||||
gxCanvas(gxGraphics *graphics, ddSurf *surface, int flags);
|
||||
~gxCanvas();
|
||||
|
||||
void backup()const;
|
||||
void restore()const;
|
||||
ddSurf *getSurface()const;
|
||||
ddSurf *getTexSurface()const;
|
||||
void setModify( int n );
|
||||
void setModify(int n);
|
||||
int getModify()const;
|
||||
|
||||
bool attachZBuffer();
|
||||
void releaseZBuffer();
|
||||
|
||||
bool clip( RECT *d )const;
|
||||
bool clip( RECT *d,RECT *s )const;
|
||||
void damage( const RECT &r )const;
|
||||
bool clip(RECT *d)const;
|
||||
bool clip(RECT *d, RECT *s)const;
|
||||
void damage(const RECT &r)const;
|
||||
|
||||
private:
|
||||
int flags,cube_mode;
|
||||
int flags, cube_mode;
|
||||
gxGraphics *graphics;
|
||||
|
||||
ddSurf *main_surf,*surf,*z_surf,*cube_surfs[6];
|
||||
ddSurf *main_surf, *surf, *z_surf, *cube_surfs[6];
|
||||
|
||||
mutable int mod_cnt;
|
||||
mutable ddSurf *t_surf;
|
||||
|
||||
mutable int locked_pitch,locked_cnt,lock_mod_cnt,remip_cnt;
|
||||
mutable int locked_pitch, locked_cnt, lock_mod_cnt, remip_cnt;
|
||||
mutable unsigned char *locked_surf;
|
||||
|
||||
mutable int cm_pitch;
|
||||
@@ -49,85 +49,88 @@ private:
|
||||
|
||||
gxFont *font;
|
||||
RECT viewport;
|
||||
int origin_x,origin_y,handle_x,handle_y;
|
||||
unsigned mask_surf,color_surf,color_argb,clsColor_surf;
|
||||
int origin_x, origin_y, handle_x, handle_y;
|
||||
unsigned mask_surf, color_surf, color_argb, clsColor_surf;
|
||||
|
||||
void updateBitMask( const RECT &r )const;
|
||||
void updateBitMask(const RECT &r)const;
|
||||
|
||||
/***** GX INTERFACE *****/
|
||||
public:
|
||||
enum{
|
||||
CANVAS_TEX_RGB= 0x0001,
|
||||
CANVAS_TEX_ALPHA= 0x0002,
|
||||
CANVAS_TEX_MASK= 0x0004,
|
||||
CANVAS_TEX_MIPMAP= 0x0008,
|
||||
CANVAS_TEX_CLAMPU= 0x0010,
|
||||
CANVAS_TEX_CLAMPV= 0x0020,
|
||||
CANVAS_TEX_SPHERE= 0x0040,
|
||||
CANVAS_TEX_CUBE= 0x0080,
|
||||
CANVAS_TEX_VIDMEM= 0x0100,
|
||||
CANVAS_TEX_HICOLOR= 0x0200,
|
||||
enum {
|
||||
CANVAS_TEX_RGB = 0x0001,
|
||||
CANVAS_TEX_ALPHA = 0x0002,
|
||||
CANVAS_TEX_MASK = 0x0004,
|
||||
CANVAS_TEX_MIPMAP = 0x0008,
|
||||
CANVAS_TEX_CLAMPU = 0x0010,
|
||||
CANVAS_TEX_CLAMPV = 0x0020,
|
||||
CANVAS_TEX_SPHERE = 0x0040,
|
||||
CANVAS_TEX_CUBE = 0x0080,
|
||||
CANVAS_TEX_VIDMEM = 0x0100,
|
||||
CANVAS_TEX_HICOLOR = 0x0200,
|
||||
|
||||
CANVAS_TEXTURE= 0x10000,
|
||||
CANVAS_NONDISPLAY= 0x20000,
|
||||
CANVAS_HIGHCOLOR= 0x40000
|
||||
CANVAS_TEXTURE = 0x10000,
|
||||
CANVAS_NONDISPLAY = 0x20000,
|
||||
CANVAS_HIGHCOLOR = 0x40000,
|
||||
|
||||
CANVAS_3DRENDER = 0x1000,
|
||||
CANVAS_3DZRENDER = 0x2000,
|
||||
};
|
||||
|
||||
enum{
|
||||
CUBEMODE_REFLECTION=1,
|
||||
CUBEMODE_NORMAL=2,
|
||||
CUBEMODE_POSITION=3,
|
||||
enum {
|
||||
CUBEMODE_REFLECTION = 1,
|
||||
CUBEMODE_NORMAL = 2,
|
||||
CUBEMODE_POSITION = 3,
|
||||
|
||||
CUBESPACE_WORLD=0,
|
||||
CUBESPACE_CAMERA=4
|
||||
CUBESPACE_WORLD = 0,
|
||||
CUBESPACE_CAMERA = 4
|
||||
};
|
||||
|
||||
//MANIPULATORS
|
||||
void setFont( gxFont *font );
|
||||
void setMask( unsigned argb );
|
||||
void setColor( unsigned argb );
|
||||
void setClsColor( unsigned argb );
|
||||
void setOrigin( int x,int y );
|
||||
void setHandle( int x,int y );
|
||||
void setViewport( int x,int y,int w,int h );
|
||||
void setFont(gxFont *font);
|
||||
void setMask(unsigned argb);
|
||||
void setColor(unsigned argb);
|
||||
void setClsColor(unsigned argb);
|
||||
void setOrigin(int x, int y);
|
||||
void setHandle(int x, int y);
|
||||
void setViewport(int x, int y, int w, int h);
|
||||
|
||||
void cls();
|
||||
void plot( int x,int y );
|
||||
void line( int x,int y,int x2,int y2 );
|
||||
void rect( int x,int y,int w,int h,bool solid );
|
||||
void oval( int x,int y,int w,int h,bool solid );
|
||||
void text( int x,int y,const std::string &t );
|
||||
void blit( int x,int y,gxCanvas *src,int src_x,int src_y,int src_w,int src_h,bool solid );
|
||||
void plot(int x, int y);
|
||||
void line(int x, int y, int x2, int y2);
|
||||
void rect(int x, int y, int w, int h, bool solid);
|
||||
void oval(int x, int y, int w, int h, bool solid);
|
||||
void text(int x, int y, const std::string &t);
|
||||
void blit(int x, int y, gxCanvas *src, int src_x, int src_y, int src_w, int src_h, bool solid);
|
||||
|
||||
bool collide( int x,int y,const gxCanvas *src,int src_x,int src_y,bool solid )const;
|
||||
bool rect_collide( int x,int y,int rect_x,int rect_y,int rect_w,int rect_h,bool solid )const;
|
||||
bool collide(int x, int y, const gxCanvas *src, int src_x, int src_y, bool solid)const;
|
||||
bool rect_collide(int x, int y, int rect_x, int rect_y, int rect_w, int rect_h, bool solid)const;
|
||||
|
||||
bool lock()const;
|
||||
void setPixel( int x,int y,unsigned argb );
|
||||
void setPixelFast( int x,int y,unsigned argb ){
|
||||
format.setPixel( locked_surf+y*locked_pitch+x*format.getPitch(),argb );
|
||||
void setPixel(int x, int y, unsigned argb);
|
||||
void setPixelFast(int x, int y, unsigned argb) {
|
||||
format.setPixel(locked_surf + y*locked_pitch + x*format.getPitch(), argb);
|
||||
++mod_cnt;
|
||||
}
|
||||
void copyPixel( int x,int y,gxCanvas *src,int src_x,int src_y );
|
||||
void copyPixelFast( int x,int y,gxCanvas *src,int src_x,int src_y );
|
||||
unsigned getPixel( int x,int y )const;
|
||||
unsigned getPixelFast( int x,int y )const{
|
||||
return format.getPixel( locked_surf+y*locked_pitch+x*format.getPitch() );
|
||||
void copyPixel(int x, int y, gxCanvas *src, int src_x, int src_y);
|
||||
void copyPixelFast(int x, int y, gxCanvas *src, int src_x, int src_y);
|
||||
unsigned getPixel(int x, int y)const;
|
||||
unsigned getPixelFast(int x, int y)const {
|
||||
return format.getPixel(locked_surf + y*locked_pitch + x*format.getPitch());
|
||||
};
|
||||
void unlock()const;
|
||||
|
||||
void setCubeMode( int mode );
|
||||
void setCubeFace( int face );
|
||||
void setCubeMode(int mode);
|
||||
void setCubeFace(int face);
|
||||
|
||||
//ACCESSORS
|
||||
int getWidth()const;
|
||||
int getHeight()const;
|
||||
int getDepth()const;
|
||||
int getFlags()const{ return flags; }
|
||||
int cubeMode()const{ return cube_mode; }
|
||||
void getOrigin( int *x,int *y )const;
|
||||
void getHandle( int *x,int *y )const;
|
||||
void getViewport( int *x,int *y,int *w,int *h )const;
|
||||
int getFlags()const { return flags; }
|
||||
int cubeMode()const { return cube_mode; }
|
||||
void getOrigin(int *x, int *y)const;
|
||||
void getHandle(int *x, int *y)const;
|
||||
void getViewport(int *x, int *y, int *w, int *h)const;
|
||||
unsigned getMask()const;
|
||||
unsigned getColor()const;
|
||||
unsigned getClsColor()const;
|
||||
|
||||
Reference in New Issue
Block a user