Files
Leviathan/Library/External/XTToolkitPro/include/DockingPane/Themes/XTPDockingPaneThemeVisualStudio2012.h
T
2026-06-01 12:46:52 +02:00

132 lines
5.7 KiB
C++

class CXTPResourceImages;
class _XTP_EXT_CLASS CXTPDockingPaneVisualStudio2012Theme : public CXTPDockingPaneDefaultTheme // CXTPDockingPanePaintManager
{
// Construction / Destruction
public:
//-------------------------------------------------------------------------
// Summary:
// Constructs a CXTPDockingPaneVisualStudio2012Theme object.
//-------------------------------------------------------------------------
CXTPDockingPaneVisualStudio2012Theme();
//-------------------------------------------------------------------------
// Summary:
// Destroys a CXTPDockingPaneVisualStudio2012Theme object, handles cleanup and deallocation.
//-------------------------------------------------------------------------
virtual ~CXTPDockingPaneVisualStudio2012Theme();
public:
//-----------------------------------------------------------------------
// Summary:
// This method is called to refresh the visual metrics of the pane.
//-----------------------------------------------------------------------
virtual void RefreshMetrics();
//-----------------------------------------------------------------------
// Summary:
// Call this method to get pane's caption rectangle.
// Parameters:
// pPane - Side Panel container to get caption CRECT.
// Returns:
// Bounding rectangle of the side panel's caption.
//-----------------------------------------------------------------------
virtual CRect GetPaneCaptionRect(const CXTPDockingPaneSidePanel *pPane);
virtual void AdjustClientRect(CXTPDockingPaneTabbedContainer* pPane, CRect& rc, BOOL bApply);
virtual void AdjustCaptionRect(const CXTPDockingPaneTabbedContainer* pPane, CRect& rc);
// Drawing methods
public:
//-----------------------------------------------------------------------
// Summary:
// Override this method to draw splitter.
// Parameters:
// pDC - Pointer to a valid device context
// pSplitter - Pointer to splitter window
//-----------------------------------------------------------------------
virtual void DrawSplitter(CDC *pDC, CXTPDockingPaneSplitterWnd *pSplitter);
//-----------------------------------------------------------------------
// Summary:
// Override this member function to draw a caption.
// Parameters:
// pDC - Reference to the device context in which to draw.
// pPane - Pointer to the tabbed container.
// rc - Client rectangle of the tabbed container.
//-----------------------------------------------------------------------
virtual void DrawCaption(CDC *pDC, CXTPDockingPaneTabbedContainer *pPane, CRect rc);
//-----------------------------------------------------------------------
// Summary:
// Call this method to draw frame of floating window
// Parameters:
// pDC - Pointer to a valid device context
// pPane - Floating window pointer
// rc - Client rectangle of floating frame
//-----------------------------------------------------------------------
virtual void DrawFloatingFrame(CDC *pDC, CXTPDockingPaneMiniWnd *pPane, CRect rc);
//-----------------------------------------------------------------------
// Summary:
// Override this member function to draw a tabbed container.
// Parameters:
// pDC - Reference to the device context in which to draw.
// pPane - Pointer to the tabbed container.
// rc - Client rectangle of the tabbed container.
//-----------------------------------------------------------------------
virtual void DrawPane(CDC *pDC, CXTPDockingPaneTabbedContainer *pPane, CRect rc);
//-----------------------------------------------------------------------
// Summary:
// Override this member function to draw the side panel.
// Parameters:
// pDC - Reference to the device context in which to draw.
// pPane - Pointer to the side panel.
// rc - Client rectangle of the side panel.
//-----------------------------------------------------------------------
virtual void DrawSidePanel(CDC *pDC, CXTPDockingPaneSidePanel *pPane, CRect rc);
//-----------------------------------------------------------------------
// Summary:
// Override this member function to draw button of tabbed caption.
// Parameters:
// pDC - Pointer to a valid device context
// pButton - Button pointer need to draw.
// clrButton - Color of button text.
//-----------------------------------------------------------------------
virtual void DrawCaptionButton(CDC *pDC, CXTPDockingPaneCaptionButton *pButton, COLORREF clrButton);
//-----------------------------------------------------------------------
// Summary:
// This mmethod is called by the framework to draw the docking pane
// auto hide panel background and splitter.
// Parameters:
// pDC - Pointer to the auto hide panes device context.
// rc - Size of the area to draw.
// direction - Docking direction either xtpPaneDockLeft, xtpPaneDockRight,
// xtpPaneDockTop or xtpPaneDockBottom.
//-----------------------------------------------------------------------
virtual void DrawAutoHidePanel(CDC* pDC, CRect rc, XTPDockingPaneDirection direction);
protected:
void DrawTitleBar(CDC *pDC, CXTPDockingPaneBase *pPane, CRect rc, BOOL bVertical);
void DrawGripper(CDC *pDC, CRect rcGripper, COLORREF clr, BOOL bVertical);
void DrawDashedLineH(CDC *pDC, int left, int top, int right, COLORREF clr);
void DrawDashedLineV(CDC *pDC, int left, int top, int bottom, COLORREF clr);
public:
CXTPDockingPaneColorSetVisualStudio2012 m_csInactive;
CXTPDockingPaneColorSetVisualStudio2012 m_csActive;
CString m_strFontFace; // Font face name
int m_nFontSize; // Font size in points
};