Скачиваний:
27
Добавлен:
02.05.2014
Размер:
1.42 Кб
Скачать
// DibGL.h: interface for the CDibGL class.
//
//////////////////////////////////////////////////////////////////////

#ifndef _INC_VFW
#pragma message ("NOTE: You can speed compilation by including <vfw.h> in stdafx.h")
#endif

class CDibGL : public CBitmap  
{
protected:
	DECLARE_DYNAMIC(CDibGL)
	BITMAP	 m_bm;	  // stored for speed
	CPalette m_pal;	  // palette
	HDRAWDIB m_hdd;	  // for DrawDib
  RGBQUAD* colorTab;

public:
  int      GetHeight() {return m_bm.bmHeight;}
  int      GetWidth() {return m_bm.bmWidth;}
  int      GetBitsPerPixel() {return m_bm.bmBitsPixel;}
  void*    GetBitsAddress() {return m_bm.bmBits;}
  int      GetWidthBytes() {return m_bm.bmWidthBytes;}
  RGBQUAD* GetColorTabAddress() {return colorTab;}

	CDibGL();
	~CDibGL();

	CSize	GetSize() { return CSize(m_bm.bmWidth, m_bm.bmHeight); }
	BOOL Attach(HGDIOBJ hbm);
	BOOL Load(LPCTSTR szPathName);
	BOOL Load(HINSTANCE hInst, LPCTSTR lpResourceName);
	BOOL Load(HINSTANCE hInst, UINT uID)
		{ return Load(hInst, MAKEINTRESOURCE(uID)); }

	// Universal Draw function can use DrawDib or not.
	BOOL Draw(CDC& dc, const CRect* rcDst=NULL, const CRect* rcSrc=NULL,
		BOOL bUseDrawDib=TRUE, CPalette* pPal=NULL, BOOL bForeground=FALSE);

	BOOL DeleteObject();
	BOOL CreatePalette(CPalette& pal);
	CPalette* GetPalette()  { return &m_pal; }

	UINT GetColorTable(RGBQUAD* colorTab, UINT nColors);
};
Соседние файлы в папке Texture