============================== o LOAD MS-WINDOWS BITMAP FILE ============================== Syntax ------ GrBmpImage *GrLoadBmpImage ( char *_filename ); Description ----------- This function load BMP file format ( 1, 4, 8 Bytes Per Pixel ) from the file _filename into structure GrBmpImage*. Return Value ------------ On succes pointer to new GrBmpImage structure, otherwise NULL Example ------- GrBmpImage* bmp = GrLoadBmpImage("logogrx.bmp"); ============================== o SETTING GrBmpImage COLORS ============================== Syntax ------ int GrAllocBmpImageColors ( GrBmpImage *_bmp, GrBmpImageColors *_col ); Description ----------- This function setting GrBmpImage colors. (_bmp) is pointer to GrBmpImage structure and (_pal) is pointer to structrure, where we want to store information about BMP palette and colors. If (_col) is NULL, it set colors and into (_bmp) structure write 1 for own destroing palette by GrUnloadBmpImage. Otherwise palette will be destroy only by function GrEraseBmpImageColors. Return Value ------------ On succes 1, otherwise 0 Example 1 ( _col is NULL ) ------- GrBmpImage* bmp = GrLoadBmpImage("logogrx.bmp"); GrAllocBmpImageColors(bmp, NULL); GrUnloadBmpImage(bmp); Example 2 ( _col is pointer to structure ) ------- GrBmpImage* bmp = GrLoadBmpImage("logogrx.bmp"); GrBmpImageColors col; GrAllocBmpImageColors(bmp, &col); GrUnloadBmpImage(bmp); GrFreeBmpImageColors(&pal); ============================== o FREE GrBmpImage COLORS ============================== Syntax ------ int GrFreeBmpImageColors ( GrBmpImageColors *_col ); Description ----------- It destroy _col structure, free GrBmpImage Colors and set to NULL Return Value ------------ On succes 1, otherwise 0 Example ------- GrBmpImage* bmp = GrLoadBmpImage("logogrx.bmp"); GrBmpImageColors bmpcolors; GrAllocBmpImageColors(bmp, &bmpcolors); GrUnloadBmpImage(bmp); GrFreeBmpImageColors(&bmpcolors); =============================== o CONVERT GrBmpImage STRUCTURE =============================== Syntax ------ GrPattern *GrConvertBmpImageToPattern ( GrBmpImage *_bmp ); Description ----------- Make GrPattern structure from GrBmpImage pointer. Return Value ------------ On succes pointer to new GrPattern structure, else NULL Example ------- GrPattern *bmppat; GrBmpImage *bmp = GrLoadBmpImage("logogrx.bmp"); GrAllocBmpImageColors(bmp, NULL); bmppat = GrConvertBmpImageToPattern(bmp); if ( bmppat ) GrPatternFilledBox(0, 0, GrMaxX(), GrMaxY(), bmppat); GrUnloadBmpImage(bmp); if ( bmppat ) GrDestroyPattern(bmppat); IN THE OTHER WAY Syntax ------ GrPattern *GrConvertBmpImageToStaticPattern ( GrBmpImage *_bmp ); Description ----------- Make GrPattern structure from GrBmpImage pointer, AND GrBmpImage (_bmp) structure unload. Return Value ------------ On succes pointer to new GrPattern structure, else NULL Example ------- GrPattern *bmppat; GrBmpImage *bmp = GrLoadBmpImage("logogrx.bmp"); GrAllocBmpImageColors(bmp, NULL); bmppat = GrConvertBmpImageToStaticPattern(bmp); if ( bmppat ) GrPatternFilledBox(0, 0, GrMaxX(), GrMaxY(), bmppat); if ( bmppat ) GrDestroyPattern(bmppat); ============================== o UNLOAD GrBmpImage STRUCTURE ============================== Syntax ------ int GrUnloadBmpImage ( GrBmpImage *_bmp ); Description ----------- Free _bmp and BmpImage colors/palette (only if GrAllocBmpImagePalette contains NULL in 2nd variable ). Return Value ------------ On succes 1, else 0 Example ------- GrBmpImage* bmp = GrLoadBmpImage("logogrx.bmp"); GrUnloadBmpImage(bmp); ========================================= o SAVE CONTEXT TO MS-WINDOWS BITMAP FILE ========================================= Syntax ------ int GrSaveBmpImage ( char *_filename, GrContext *_c, int _x1, int _y1, int _x2, int _y2 ); Description ----------- Save context from the position ( where _x1,_y1 is left uppon origin && _x2,_y2 right bottom origin) to BMP ( 8 or 24 bpp file ). The BMP file will be set to 8 Bits Per Line, when GrNumColors() in GRXxx.H is set to 256, otherwise it'll be set to 24 Bits Per Line. If _context is set to NULL, _c will be pointer to current context structure. Return Value ------------ On succes 1, owtherwise 0 Example ------- GrSaveBmpImage("logogrx.bmp", NULL, 100, 100, 400, 400); ========================================= ======= THE END ========================= ========================================= Michal Stencl - [stenclpmd@ba.telecom.sk]