34 lines
843 B
C++
34 lines
843 B
C++
#pragma once
|
|
|
|
#include "GrpDib.h"
|
|
|
|
class CBlockTexture;
|
|
|
|
class CDibBar
|
|
{
|
|
public:
|
|
CDibBar();
|
|
virtual ~CDibBar();
|
|
|
|
bool Create(HDC hdc, DWORD dwWidth, DWORD dwHeight);
|
|
void Invalidate();
|
|
void SetClipRect(const RECT & c_rRect);
|
|
void ClearBar();
|
|
void Render(int ix, int iy);
|
|
|
|
protected:
|
|
DWORD __NearTextureSize(DWORD dwSize);
|
|
void __DivideTextureSize(DWORD dwSize, DWORD dwMax, DWORD * pdwxStep, DWORD * pdwxCount, DWORD * pdwxRest);
|
|
CBlockTexture * __BuildTextureBlock(DWORD dwxPos, DWORD dwyPos, DWORD dwImageWidth, DWORD dwImageHeight, DWORD dwTextureWidth, DWORD dwTextureHeight);
|
|
void __BuildTextureBlockList(DWORD dwWidth, DWORD dwHeight, DWORD dwMax=256);
|
|
|
|
virtual void OnCreate(){}
|
|
|
|
protected:
|
|
CGraphicDib m_dib;
|
|
std::vector<CBlockTexture *> m_kVec_pkBlockTexture;
|
|
|
|
DWORD m_dwWidth;
|
|
DWORD m_dwHeight;
|
|
};
|