Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//
// mxToolKit (c) 1999 by Mete Ciragan
//
// file: mxImage.h
// implementation: all
// last modified: Apr 15 1999, Mete Ciragan
// copyright: The programs and associated files contained in this
// distribution were developed by Mete Ciragan. The programs
// are not in the public domain, but they are freely
// distributable without licensing fees. These programs are
// provided without guarantee or warrantee expressed or
// implied.
//
#ifndef INCLUDED_MXIMAGE
#define INCLUDED_MXIMAGE
#ifndef byte
typedef unsigned char byte; #endif // byte
#ifndef word
typedef unsigned short word; #endif // word
class mxImage { public: int width; int height; int bpp; void *data; void *palette;
// CREATORS
mxImage () : width (0), height (0), bpp (0), data (0), palette (0) { }
mxImage (int w, int h, int bpp) { create (w, h, bpp); }
virtual ~mxImage () { destroy (); }
// MANIPULATORS
bool create (int w, int h, int pixelSize) { if (data) delete[] data;
if (palette) delete[] palette;
data = new byte[w * h * pixelSize / 8]; if (!data) return false;
// allocate a palette for 8-bit images
if (pixelSize == 8) { palette = new byte[768]; if (!palette) { delete[] data; return false; } } else palette = 0;
width = w; height = h; bpp = pixelSize;
return true; }
void destroy () { if (data) delete[] data;
if (palette) delete[] palette;
data = palette = 0; width = height = bpp = 0; }
private: // NOT IMPLEMENTED
mxImage (const mxImage&); mxImage& operator= (const mxImage&); };
#endif // INCLUDED_MXIMAGE
|