|
|
//---------------------------------------------------------------------------
// TextDraw.h - implements the drawing API for text
//---------------------------------------------------------------------------
#pragma once
//---------------------------------------------------------------------------
#include "wrapper.h"
//---------------------------------------------------------------------------
class CRenderObj; // forward
//---------------------------------------------------------------------------
// Note: draw objects like CBorderFill cannot have virtual methods
// since they reside in the shared memory map file.
//---------------------------------------------------------------------------
class CTextDraw { public: //---- methods ----
HRESULT PackProperties(CRenderObj *pRender, int iPartId, int iStateId); static BOOL KeyProperty(int iPropId); void DumpProperties(CSimpleFile *pFile, BYTE *pbThemeData, BOOL fFullInfo);
HRESULT DrawText(CRenderObj *pRender, HDC hdc, int iPartId, int iStateId, LPCWSTR _pszText, DWORD dwCharCount, DWORD dwTextFlags, const RECT *pRect, const DTTOPTS *pOptions);
HRESULT DrawEdge(CRenderObj *pRender, HDC hdc, int iPartId, int iStateId, const RECT *pDestRect, UINT uEdge, UINT uFlags, OUT RECT *pContentRect);
HRESULT GetTextExtent(CRenderObj *pRender, HDC hdc, int iPartId, int iStateId, LPCWSTR _pszText, int iCharCount, DWORD dwTextFlags, const RECT *pBoundingRect, RECT *pExtentRect);
HRESULT GetTextMetrics(CRenderObj *pRender, HDC hdc, int iPartId, int iStateId, TEXTMETRIC* ptm);
public: //---- data ----
//---- text ----
COLORREF _crText;
//---- edge ----
COLORREF _crEdgeLight; COLORREF _crEdgeHighlight; COLORREF _crEdgeShadow; COLORREF _crEdgeDkShadow; COLORREF _crEdgeFill;
//---- shadow ----
POINT _ptShadowOffset; COLORREF _crShadow; TEXTSHADOWTYPE _eShadowType;
//---- border ----
int _iBorderSize; COLORREF _crBorder;
//---- font ----
LOGFONT _lfFont; BOOL _fHaveFont;
//---- id ----
int _iSourcePartId; int _iSourceStateId; }; //---------------------------------------------------------------------------
|