| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #ifndef BBGRAPHICS_H
- #define BBGRAPHICS_H
- #include "bbsys.h"
- #include "../gxruntime/gxgraphics.h"
- extern gxGraphics *gx_graphics;
- extern gxCanvas *gx_canvas;
- extern gxScene *gx_scene;
- class bbImage;
- //general graphics functions
- int bbCountGfxDrivers();
- BBStr * bbGfxDriverName( int n );
- BBStr * bbGfxDriverDesc( int n );
- void bbSetGfxDriver( int n );
- int bbGfxModeExists( int w,int h,int d );
- int bbCountGfxModes();
- int bbGfxModeWidth( int n );
- int bbGfxModeHeight( int n );
- int bbGfxModeDepth( int n );
- int bbGraphicsWidth();
- int bbGraphicsHeight();
- int bbGraphicsDepth();
- int bbAvailVidMem();
- int bbTotalVidMem();
- //mode functions
- void bbGraphics( int w,int h,int d,int mode );
- gxCanvas * bbFrontBuffer();
- gxCanvas * bbBackBuffer();
- void bbEndGraphics();
- int bbGraphicsLost();
- int bbScanLine();
- void bbVWait( int n );
- void bbFlip( int vwait );
- //graphics buffer functions
- void bbSetBuffer( gxCanvas *buff );
- gxCanvas * bbGraphicsBuffer();
- int bbLoadBuffer( gxCanvas *surf,BBStr *str );
- int bbSaveBuffer( gxCanvas *surf,BBStr *str );
- //fast read/write operations...
- void bbLockBuffer( gxCanvas *buff );
- void bbUnlockBuffer( gxCanvas *buff );
- int bbReadPixel( int x,int y,gxCanvas *buff );
- void bbWritePixel( int x,int y,int argb,gxCanvas *buff );
- int bbReadPixelFast( int x,int y,gxCanvas *buff );
- void bbWritePixelFast( int x,int y,int argb,gxCanvas *buff );
- //2d rendering functions
- void bbOrigin( int x,int y );
- void bbViewport( int x,int y,int w,int h );
- void bbColor( int r,int g,int b );
- void bbClsColor( int r,int g,int b );
- void bbCls();
- void bbPlot( int x,int y );
- void bbLine( int x1,int y1,int x2,int y2 );
- void bbRect( int x,int y,int w,int h,int solid );
- void bbOval( int x,int y,int w,int h,int solid );
- void bbText( int x,int y,BBStr *str,int centre_x,int centre_y );
- void bbGetColor( int x,int y );
- int bbColorRed();
- int bbColorGreen();
- int bbColorBlue();
- //font functions
- gxFont * bbLoadFont( BBStr *name,int height,int bold,int italic,int underline );
- void bbFreeFont( gxFont *f );
- void bbSetFont( gxFont *f );
- int bbFontWidth();
- int bbFontHeight();
- int bbStringWidth( BBStr *str );
- int bbStringHeight( BBStr *str );
- //image functions
- bbImage* bbLoadImage( BBStr *s );
- bbImage* bbCopyImage( bbImage *i );
- bbImage* bbCreateImage( int w,int h,int n );
- bbImage* bbLoadAnimImage( BBStr *s,int w,int h,int first,int cnt );
- void bbFreeImage( bbImage *i );
- int bbSaveImage( bbImage *i,BBStr *filename,int frame );
- void bbGrabImage( bbImage *i,int x,int y,int n );
- gxCanvas * bbImageBuffer( bbImage *i,int n );
- void bbDrawImage( bbImage *i,int x,int y,int frame );
- void bbDrawBlock( bbImage *i,int x,int y,int frame );
- void bbTileImage( bbImage *i,int x,int y,int frame );
- void bbTileBlock( bbImage *i,int x,int y,int frame );
- void bbDrawImageRect( bbImage *i,int x,int y,int r_x,int r_y,int r_w,int r_h,int frame );
- void bbDrawBlockRect( bbImage *i,int x,int y,int r_x,int r_y,int r_w,int r_h,int frame );
- void bbMaskImage( bbImage *i,int r,int g,int b );
- void bbHandleImage( bbImage *i,int x,int y );
- void bbScaleImage( bbImage *i,float w,float h );
- void bbResizeImage( bbImage *i,float w,float h );
- void bbRotateImage( bbImage *i,float angle );
- void bbTFormImage( bbImage *i,float a,float b,float c,float d );
- void bbTFormFilter( int enable );
- void bbAutoMidHandle( int enable );
- void bbMidHandle( bbImage *i );
- int bbImageWidth( bbImage *i );
- int bbImageHeight( bbImage *i );
- int bbImageXHandle( bbImage *i );
- int bbImageYHandle( bbImage *i );
- int bbImagesOverlap( bbImage *i1,int x1,int y1,bbImage *i2,int x2,int y2 );
- int bbImagesCollide( bbImage *i1,int x1,int y1,int f1,bbImage *i2,int x2,int y2,int f2 );
- int bbRectsOverlap( int x1,int y1,int w1,int h1,int x2,int y2,int w2,int h2 );
- int bbImageRectOverlap( bbImage *i,int x,int y,int r_x,int r_y,int r_w,int r_h );
- int bbImageRectCollide( bbImage *i,int x,int y,int f,int r_x,int r_y,int r_w,int r_h );
- //simple print functions
- void bbWrite( BBStr *str );
- void bbPrint( BBStr *str );
- BBStr * bbInput( BBStr *prompt );
- void bbLocate( int x,int y );
- #endif
|