www.pudn.com > etree_src.zip > DIB.H
//****************************************************************************
// Dib.h: interface for the CDib class.
//
// Copyright (c) Boris J. Wang (e_boris2002@hotmail.com) 2002 - 2003
// From Institute of Computing Technology, Chinese Academy of Sciences
// Beijing 100871, China
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//****************************************************************************
#if !defined(AFX_DIB_H__6C294E63_FE8B_11D0_9B6B_444553540000__INCLUDED_)
#define AFX_DIB_H__6C294E63_FE8B_11D0_9B6B_444553540000__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
////////////////////////////////////////////////////////////////////
//Disable it for loading texture for file or loading it for resource
#define DIB_LOAD_FILE_FROM_RESOURCE
////////////////////////////////////////////////////////////////////
#ifdef DIB_LOAD_FILE_FROM_RESOURCE
class CDib
{
protected:
LPBYTE lpBits;
int cx,cy;
public:
CDib(){lpBits = NULL;}
~CDib();
UINT GetDibHeight();
UINT GetDibWidth();
BYTE* GetDibBitsPtr();
BOOL LoadBitmapFile(const char* fileName);
};
#else
class CDib
{
public:
BYTE* GetDibBitsPtr();
LPBITMAPINFO GetDIbInfoPtr();
LPBITMAPINFOHEADER GetDibInfoHeaderPtr();
UINT GetDibHeight();
UINT GetDibWidth();
DWORD GetDibSizeImage();
CDib();
BOOL LoadBitmapFile(const char* fileName);
CDib(const char* fileName);
virtual ~CDib();
protected:
LPBITMAPFILEHEADER m_pBmFileHeader;
LPBITMAPINFO m_pBmInfo;
LPBITMAPINFOHEADER m_pBmInfoHeader;
RGBQUAD* m_pRGBTable;
BYTE* m_pDibBits;
UINT m_numColors;
};
#endif
#endif // !defined(AFX_DIB_H__6C294E63_FE8B_11D0_9B6B_444553540000__INCLUDED_)