Initial commit
This commit is contained in:
50
Torque/SDK/lib/maxsdk40/palutil.h
Normal file
50
Torque/SDK/lib/maxsdk40/palutil.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*******************************************************************
|
||||
*
|
||||
* DESCRIPTION: PALUTIL.H
|
||||
*
|
||||
* AUTHOR: D.Silva
|
||||
*
|
||||
* HISTORY:
|
||||
*
|
||||
*******************************************************************/
|
||||
|
||||
#ifndef PALUTIL_H_DEFINED
|
||||
#define PALUTIL_H_DEFINED
|
||||
|
||||
//-- 256 color dithering-----------------------------------------------------
|
||||
// For packing colors into 256 color paletted representation.
|
||||
// Create one with BMMNewColorPacker
|
||||
class ColorPacker {
|
||||
public:
|
||||
virtual void EnableDither(BOOL onoff)=0; // default: MAX default
|
||||
virtual void PropogateErrorBetweenLines(BOOL onoff)=0; // default ON;
|
||||
virtual void PackLine( BMM_Color_64* in, BYTE *out, int w)=0;
|
||||
virtual void PackLine( BMM_Color_48* in, BYTE *out, int w)=0;
|
||||
virtual void DeleteThis()=0;
|
||||
};
|
||||
|
||||
// Get a color packer. When done, be sure to call its DeleteThis();
|
||||
UtilExport ColorPacker *NewColorPacker(
|
||||
int w, // width of bitmap to be packed
|
||||
BMM_Color_48 *pal, // palette to use
|
||||
int npal, // number of entries in the palette
|
||||
BYTE* remap=NULL, // optional remap done at last stage.
|
||||
BOOL dither = FALSE
|
||||
);
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Color quantizer, for doing true-color to paletted conversion
|
||||
//
|
||||
class Quantizer {
|
||||
public:
|
||||
virtual int AllocHistogram(void)=0;
|
||||
virtual int Partition(BMM_Color_48 *pal, int palsize, BMM_Color_64 *forceCol)=0;
|
||||
virtual void AddToHistogram(BMM_Color_64 *image, int npix)=0;
|
||||
virtual void AddToHistogram(BMM_Color_48 *image, int npix)=0;
|
||||
virtual void AddToHistogram(BMM_Color_24 *image, int npix)=0;
|
||||
virtual void DeleteThis()=0;
|
||||
};
|
||||
|
||||
UtilExport Quantizer *NewQuantizer();
|
||||
|
||||
#endif // PALUTIL_H_DEFINED
|
||||
Reference in New Issue
Block a user