Files
2018-05-28 11:31:24 +08:00

115 lines
3.0 KiB
C++

#ifndef __UILABEL_H__
#define __UILABEL_H__
#pragma once
#define _USE_GDIPLUS 1
#ifdef _USE_GDIPLUS
#include <GdiPlus.h>
#pragma comment( lib, "GdiPlus.lib" )
// UMU: DO NOT use "using namespace" in .h file
//using namespace Gdiplus;
class DUILIB_API Gdiplus::RectF;
struct DUILIB_API Gdiplus::GdiplusStartupInput;
using Gdiplus::RectF;
using Gdiplus::GdiplusStartupInput;
#endif
namespace DuiLib
{
class DUILIB_API CLabelUI : public CControlUI
{
public:
CLabelUI();
~CLabelUI();
LPCTSTR GetClass() const;
LPVOID GetInterface(LPCTSTR pstrName);
void SetFixedWidth(int cx);
void SetFixedHeight(int cy);
void SetText(LPCTSTR pstrText);
void SetTextStyle(UINT uStyle);
UINT GetTextStyle() const;
bool IsMultiLine();
void SetMultiLine(bool bMultiLine = true);
void SetTextColor(DWORD dwTextColor);
DWORD GetTextColor() const;
void SetDisabledTextColor(DWORD dwTextColor);
DWORD GetDisabledTextColor() const;
void SetFont(int index);
int GetFont() const;
RECT GetTextPadding() const;
void SetTextPadding(RECT rc);
bool IsShowHtml();
void SetShowHtml(bool bShowHtml = true);
SIZE EstimateSize(SIZE szAvailable);
void DoEvent(TEventUI& event);
void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);
void PaintText(HDC hDC);
#ifdef _USE_GDIPLUS
void SetEnabledEffect(bool _EnabledEffect);
bool GetEnabledEffect();
void SetEnabledLuminous(bool bEnableLuminous);
bool GetEnabledLuminous();
void SetLuminousFuzzy(float fFuzzy);
float GetLuminousFuzzy();
void SetGradientLength(int _GradientLength);
int GetGradientLength();
void SetShadowOffset(int _offset,int _angle);
RectF GetShadowOffset();
void SetTextColor1(DWORD _TextColor1);
DWORD GetTextColor1();
void SetTextShadowColorA(DWORD _TextShadowColorA);
DWORD GetTextShadowColorA();
void SetTextShadowColorB(DWORD _TextShadowColorB);
DWORD GetTextShadowColorB();
void SetStrokeColor(DWORD _StrokeColor);
DWORD GetStrokeColor();
void SetGradientAngle(int _SetGradientAngle);
int GetGradientAngle();
void SetEnabledStroke(bool _EnabledStroke);
bool GetEnabledStroke();
void SetEnabledShadow(bool _EnabledShadowe);
bool GetEnabledShadow();
#endif
protected:
LPWSTR m_pWideText;
DWORD m_dwTextColor;
DWORD m_dwDisabledTextColor;
int m_iFont;
UINT m_uTextStyle;
RECT m_rcTextPadding;
bool m_bShowHtml;
SIZE m_szAvailableLast;
SIZE m_cxyFixedLast;
bool m_bNeedEstimateSize;
float m_fLuminousFuzzy;
int m_GradientLength;
int m_GradientAngle;
bool m_EnableEffect;
bool m_bEnableLuminous;
bool m_EnabledStroke;
bool m_EnabledShadow;
DWORD m_dwTextColor1;
DWORD m_dwTextShadowColorA;
DWORD m_dwTextShadowColorB;
DWORD m_dwStrokeColor;
RectF m_ShadowOffset;
ULONG_PTR m_gdiplusToken;
#ifdef _USE_GDIPLUS
GdiplusStartupInput m_gdiplusStartupInput;
#endif
};
}
#endif // __UILABEL_H__