www.pudn.com > eMule0.42e-Sources.zip > BarShader.h
#pragma once
class CBarShader
{
public:
CBarShader(uint32 height = 1, uint32 width = 1);
~CBarShader(void);
//set the width of the bar
void SetWidth(int width);
//set the height of the bar
void SetHeight(int height);
//returns the width of the bar
int GetWidth() {
return m_iWidth;
}
//returns the height of the bar
int GetHeight() {
return m_iHeight;
}
//call this to blank the shaderwithout changing file size
void Reset();
//sets new file size and resets the shader
void SetFileSize(uint32 fileSize);
//fills in a range with a certain color, new ranges overwrite old
void FillRange(uint32 start, uint32 end, COLORREF color);
//fills in entire range with a certain color
void Fill(COLORREF color);
//draws the bar
void Draw(CDC* dc, int iLeft, int iTop, bool bFlat);
protected:
void BuildModifiers();
void FillRect(CDC *dc, LPRECT rectSpan, float fRed, float fGreen, float fBlue, bool bFlat);
void FillRect(CDC *dc, LPRECT rectSpan, COLORREF color, bool bFlat);
int m_iWidth;
int m_iHeight;
double m_dPixelsPerByte;
double m_dBytesPerPixel;
uint32 m_uFileSize;
private:
CRBMap m_Spans; // SLUGFILLER: speedBarShader
float *m_Modifiers;
uint16 m_used3dlevel;
};