#ifndef IMAGE_H
#define IMAGE_H
class CIBHelper;
class CImageBitmap : public CBitmap
{
public:
CImageBitmap();
virtual ~CImageBitmap();
BOOL LoadBMPFile(const char *Filespec);
BOOL CreateFromBMPFile(CDC *pDC);
void LoadDataFromBMPFile();
BOOL CreationRequired() {return (m_Private == NULL);};
BOOL BMPLoaded() {return (m_Image != NULL);};
operator BITMAP *() {return m_Private ? &m_Bitmap : 0;};
operator CSize *() {return m_Image ? &m_Size : 0;};
operator CIBHelper *() {return m_Private;};
void *GetPixel(CPoint *Point);
BOOL PutPixel(CPoint *Point, void *In);
void Transform(CImageBitmap *In, CPoint *TopLeft,
CPoint *BottomLeft, CPoint *TopRight,
CPoint *BottomRight, CPoint *Offset);
private:
CIBHelper *m_Private;
CSize m_Size;
BITMAP m_Bitmap;
BITMAPINFOHEADER m_Hdr;
char *m_Image;
CString m_Title;
};
#endif
End of Listing