Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CS_CSPLUGINCOMMON_CANVAS_CURSORCONVERT_H__
00021 #define __CS_CSPLUGINCOMMON_CANVAS_CURSORCONVERT_H__
00022
00031 #include "csextern.h"
00032
00033 struct iImage;
00034
00035 class csColorQuantizer;
00036 class csImageMemory;
00037 struct csRGBcolor;
00038 struct csRGBpixel;
00039
00044 class CS_CRYSTALSPACE_EXPORT csCursorConverter
00045 {
00046 static bool InternalConvertTo1bpp (iImage* image,
00047 csColorQuantizer& quantizer, uint8*& bitmap, uint8*& mask,
00048 int fgIndex, csRGBpixel keycolor, csRGBpixel* pal, int maxcolors,
00049 bool XbitOrder);
00050 public:
00056 static bool ConvertTo1bpp (iImage* image, uint8*& bitmap, uint8*& mask,
00057 const csRGBcolor forecolor, const csRGBcolor backcolor,
00058 const csRGBcolor* keycolor = 0, bool XbitOrder = false);
00064 static bool ConvertTo1bppAutoColor (iImage* image, uint8*& bitmap,
00065 uint8*& mask, csRGBcolor& forecolor, csRGBcolor& backcolor,
00066 const csRGBcolor* keycolor = 0, bool XbitOrder = false);
00071 static bool ConvertTo8bpp (iImage* image, uint8*& pixels,
00072 csRGBpixel*& palette, const csRGBcolor* keycolor = 0);
00077 static void StripAlphaFromRGBA (iImage* image, csRGBpixel replaceColor);
00082 static void StripAlphaFromPal8 (csImageMemory* image);
00083 };
00084
00087 #endif // __CS_CSPLUGINCOMMON_CANVAS_CURSORCONVERT_H__