/* Buffer Blitting */ #ifndef BLITTING_H #define BLITTING_H #include #include #include "../include/graphics.h" #include "../include/widget.h" /* Need to know about WColorStruct */ #include "../include/os.h" /* * Magnification bounds: */ #define BLIT_MAGNIFICATION_MIN 1 #define BLIT_MAGNIFICATION_MAX 255 /* In blitbeam.cpp */ extern void BlitBufBeam( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, float theta, /* Bearing in radians */ unsigned int len, /* Length in pixels */ unsigned int broadness, /* Thickness in pixels */ const WColorStruct *c ); /* In blitcircle.cpp */ extern void BlitBufCircle( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, float thickness, /* Length in pixels */ float radius, /* Thickness in pixels */ const WColorStruct *c ); /* In blitclear.cpp */ extern void BlitBufClear( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, const WColorStruct *c ); /* In blitcursor.cpp */ extern void BlitBufCursor( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, const u_int8_t *src_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, unsigned int src_width, unsigned int src_height, unsigned int src_bpl, const WColorStruct *c ); /* In blitstd.cpp */ extern void BlitBufNormal( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, const u_int8_t *src_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, int src_x, int src_y, unsigned int src_width, unsigned int src_height, unsigned int src_bpl, unsigned int src_copy_width, unsigned int src_copy_height, float zoom, /* 0.1 to 1.0 supported */ float vis, /* 0.0 to 1.0 supported */ float magnification /* 1.0 to 255.0 supported */ ); extern void BlitBufAbsolute( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, const u_int8_t *src_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, int src_x, int src_y, unsigned int src_width, unsigned int src_height, unsigned int src_bpl, unsigned int src_copy_width, unsigned int src_copy_height, float zoom, /* 0.1 to 1.0 supported */ float magnification /* 1.0 to 255.0 supported */ ); extern void BlitBufAdditive( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, const u_int8_t *src_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, int src_x, int src_y, unsigned int src_width, unsigned int src_height, unsigned int src_bpl, unsigned int src_copy_width, unsigned int src_copy_height, float zoom, /* 0.1 to 1.0 supported */ float magnification /* 1.0 to 255.0 supported */ ); /* In blitfade.cpp */ extern void BlitBufFade( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, unsigned int tar_apply_width, unsigned int tar_apply_height, float gamma /* 0.1 to 1.0 */ ); extern void BlitBufGlow( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, unsigned int tar_apply_width, unsigned int tar_apply_height, const WColorStruct *c ); /* In blitpointlight.cpp */ extern void BlitBufPointLight( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, float radius, const WColorStruct *c ); /* In blitline.cpp */ extern void BlitBufLine( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, float theta, /* Bearing in radians */ unsigned int len, /* Length in pixels */ unsigned int broadness, /* Thickness in pixels */ const WColorStruct *c ); extern void BlitBufLineAdditive( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, int tar_x, int tar_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, float theta, /* Bearing in radians */ unsigned int len, /* Length in pixels */ unsigned int broadness, /* Thickness in pixels */ const WColorStruct *c ); /* In blittile.cpp */ extern void BlitBufTile( unsigned int bpp, unsigned int depth, u_int8_t *tar_buf, const u_int8_t *src_buf, int offset_x, int offset_y, unsigned int tar_width, unsigned int tar_height, unsigned int tar_bpl, unsigned int src_width, unsigned int src_height, unsigned int src_bpl, float zoom, /* 0.1 to 1.0 supported */ float magnification /* 1.0 to 255.0 supported */ ); #endif /* BLITTING_H */