📄 renderer.h
字号:
const wxString& label, const wxBitmap& bitmap, const wxRect& rect, int flags = 0, long style = 0, int tbarStyle = 0) { m_renderer->DrawToolBarButton(dc, label, bitmap, rect, flags, style, tbarStyle); }#endif // wxUSE_TOOLBAR#if wxUSE_TEXTCTRL virtual void DrawTextLine(wxDC& dc, const wxString& text, const wxRect& rect, int selStart = -1, int selEnd = -1, int flags = 0) { m_renderer->DrawTextLine(dc, text, rect, selStart, selEnd, flags); } virtual void DrawLineWrapMark(wxDC& dc, const wxRect& rect) { m_renderer->DrawLineWrapMark(dc, rect); }#endif // wxUSE_TEXTCTRL#if wxUSE_NOTEBOOK virtual void DrawTab(wxDC& dc, const wxRect& rect, wxDirection dir, const wxString& label, const wxBitmap& bitmap = wxNullBitmap, int flags = 0, int accel = -1) { m_renderer->DrawTab(dc, rect, dir, label, bitmap, flags, accel); }#endif // wxUSE_NOTEBOOK#if wxUSE_SLIDER virtual void DrawSliderShaft(wxDC& dc, const wxRect& rect, int lenThumb, wxOrientation orient, int flags = 0, long style = 0, wxRect *rectShaft = NULL) { m_renderer->DrawSliderShaft(dc, rect, lenThumb, orient, flags, style, rectShaft); } virtual void DrawSliderThumb(wxDC& dc, const wxRect& rect, wxOrientation orient, int flags = 0, long style = 0) { m_renderer->DrawSliderThumb(dc, rect, orient, flags, style); } virtual void DrawSliderTicks(wxDC& dc, const wxRect& rect, int lenThumb, wxOrientation orient, int start, int end, int WXUNUSED(step) = 1, int flags = 0, long style = 0) { m_renderer->DrawSliderTicks(dc, rect, lenThumb, orient, start, end, start, flags, style); }#endif // wxUSE_SLIDER#if wxUSE_MENUS virtual void DrawMenuBarItem(wxDC& dc, const wxRect& rect, const wxString& label, int flags = 0, int indexAccel = -1) { m_renderer->DrawMenuBarItem(dc, rect, label, flags, indexAccel); } virtual void DrawMenuItem(wxDC& dc, wxCoord y, const wxMenuGeometryInfo& gi, const wxString& label, const wxString& accel, const wxBitmap& bitmap = wxNullBitmap, int flags = 0, int indexAccel = -1) { m_renderer->DrawMenuItem(dc, y, gi, label, accel, bitmap, flags, indexAccel); } virtual void DrawMenuSeparator(wxDC& dc, wxCoord y, const wxMenuGeometryInfo& geomInfo) { m_renderer->DrawMenuSeparator(dc, y, geomInfo); }#endif // wxUSE_MENUS#if wxUSE_STATUSBAR virtual void DrawStatusField(wxDC& dc, const wxRect& rect, const wxString& label, int flags = 0, int style = 0) { m_renderer->DrawStatusField(dc, rect, label, flags, style); }#endif // wxUSE_STATUSBAR virtual void DrawFrameTitleBar(wxDC& dc, const wxRect& rect, const wxString& title, const wxIcon& icon, int flags, int specialButton = 0, int specialButtonFlag = 0) { m_renderer->DrawFrameTitleBar(dc, rect, title, icon, flags, specialButton, specialButtonFlag); } virtual void DrawFrameBorder(wxDC& dc, const wxRect& rect, int flags) { m_renderer->DrawFrameBorder(dc, rect, flags); } virtual void DrawFrameBackground(wxDC& dc, const wxRect& rect, int flags) { m_renderer->DrawFrameBackground(dc, rect, flags); } virtual void DrawFrameTitle(wxDC& dc, const wxRect& rect, const wxString& title, int flags) { m_renderer->DrawFrameTitle(dc, rect, title, flags); } virtual void DrawFrameIcon(wxDC& dc, const wxRect& rect, const wxIcon& icon, int flags) { m_renderer->DrawFrameIcon(dc, rect, icon, flags); } virtual void DrawFrameButton(wxDC& dc, wxCoord x, wxCoord y, int button, int flags = 0) { m_renderer->DrawFrameButton(dc, x, y, button, flags); }#if wxUSE_COMBOBOX virtual void GetComboBitmaps(wxBitmap *bmpNormal, wxBitmap *bmpFocus, wxBitmap *bmpPressed, wxBitmap *bmpDisabled) { m_renderer->GetComboBitmaps(bmpNormal, bmpFocus, bmpPressed, bmpDisabled); }#endif // wxUSE_COMBOBOX virtual void AdjustSize(wxSize *size, const wxWindow *window) { m_renderer->AdjustSize(size, window); } virtual wxRect GetBorderDimensions(wxBorder border) const { return m_renderer->GetBorderDimensions(border); } virtual bool AreScrollbarsInsideBorder() const { return m_renderer->AreScrollbarsInsideBorder(); }#if wxUSE_SCROLLBAR virtual wxSize GetScrollbarArrowSize() const { return m_renderer->GetScrollbarArrowSize(); }#endif // wxUSE_SCROLLBAR virtual wxCoord GetListboxItemHeight(wxCoord fontHeight) { return m_renderer->GetListboxItemHeight(fontHeight); } virtual wxSize GetCheckBitmapSize() const { return m_renderer->GetCheckBitmapSize(); } virtual wxSize GetRadioBitmapSize() const { return m_renderer->GetRadioBitmapSize(); } virtual wxCoord GetCheckItemMargin() const { return m_renderer->GetCheckItemMargin(); }#if wxUSE_TOOLBAR virtual wxSize GetToolBarButtonSize(wxCoord *separator) const { return m_renderer->GetToolBarButtonSize(separator); } virtual wxSize GetToolBarMargin() const { return m_renderer->GetToolBarMargin(); }#endif // wxUSE_TOOLBAR#if wxUSE_TEXTCTRL virtual wxRect GetTextTotalArea(const wxTextCtrl *text, const wxRect& rect) const { return m_renderer->GetTextTotalArea(text, rect); } virtual wxRect GetTextClientArea(const wxTextCtrl *text, const wxRect& rect, wxCoord *extraSpaceBeyond) const { return m_renderer->GetTextClientArea(text, rect, extraSpaceBeyond); }#endif // wxUSE_TEXTCTRL#if wxUSE_NOTEBOOK virtual wxSize GetTabIndent() const { return m_renderer->GetTabIndent(); } virtual wxSize GetTabPadding() const { return m_renderer->GetTabPadding(); }#endif // wxUSE_NOTEBOOK#if wxUSE_SLIDER virtual wxCoord GetSliderDim() const { return m_renderer->GetSliderDim(); } virtual wxCoord GetSliderTickLen() const { return m_renderer->GetSliderTickLen(); } virtual wxRect GetSliderShaftRect(const wxRect& rect, int lenThumb, wxOrientation orient, long style = 0) const { return m_renderer->GetSliderShaftRect(rect, lenThumb, orient, style); } virtual wxSize GetSliderThumbSize(const wxRect& rect, int lenThumb, wxOrientation orient) const { return m_renderer->GetSliderThumbSize(rect, lenThumb, orient); }#endif // wxUSE_SLIDER virtual wxSize GetProgressBarStep() const { return m_renderer->GetProgressBarStep(); }#if wxUSE_MENUS virtual wxSize GetMenuBarItemSize(const wxSize& sizeText) const { return m_renderer->GetMenuBarItemSize(sizeText); } virtual wxMenuGeometryInfo *GetMenuGeometry(wxWindow *win, const wxMenu& menu) const { return m_renderer->GetMenuGeometry(win, menu); }#endif // wxUSE_MENUS#if wxUSE_STATUSBAR virtual wxSize GetStatusBarBorders() const { return m_renderer->GetStatusBarBorders(); } virtual wxCoord GetStatusBarBorderBetweenFields() const { return m_renderer->GetStatusBarBorderBetweenFields(); } virtual wxSize GetStatusBarFieldMargins() const { return m_renderer->GetStatusBarFieldMargins(); }#endif // wxUSE_STATUSBAR virtual wxRect GetFrameClientArea(const wxRect& rect, int flags) const { return m_renderer->GetFrameClientArea(rect, flags); } virtual wxSize GetFrameTotalSize(const wxSize& clientSize, int flags) const { return m_renderer->GetFrameTotalSize(clientSize, flags); } virtual wxSize GetFrameMinSize(int flags) const { return m_renderer->GetFrameMinSize(flags); } virtual wxSize GetFrameIconSize() const { return m_renderer->GetFrameIconSize(); } virtual int HitTestFrame(const wxRect& rect, const wxPoint& pt, int flags) const { return m_renderer->HitTestFrame(rect, pt, flags); } virtual int DrawHeaderButton(wxWindow *win, wxDC& dc, const wxRect& rect, int flags = 0, wxHeaderSortIconType sortIcon = wxHDR_SORT_ICON_NONE, wxHeaderButtonParams* params = NULL) { return m_renderer->DrawHeaderButton(win, dc, rect, flags, sortIcon, params); } virtual void DrawTreeItemButton(wxWindow *win, wxDC& dc, const wxRect& rect, int flags = 0) { m_renderer->DrawTreeItemButton(win, dc, rect, flags); }protected: wxRenderer *m_renderer;};// ----------------------------------------------------------------------------// wxControlRenderer: wraps the wxRenderer functions in a form easy to use from// OnPaint()// ----------------------------------------------------------------------------class WXDLLEXPORT wxControlRenderer{public: // create a renderer for this dc with this "fundamental" renderer wxControlRenderer(wxWindow *control, wxDC& dc, wxRenderer *renderer); // operations void DrawLabel(const wxBitmap& bitmap = wxNullBitmap, wxCoord marginX = 0, wxCoord marginY = 0);#if wxUSE_LISTBOX void DrawItems(const wxListBox *listbox, size_t itemFirst, size_t itemLast);#endif // wxUSE_LISTBOX#if wxUSE_CHECKLISTBOX void DrawCheckItems(const wxCheckListBox *listbox, size_t itemFirst, size_t itemLast);#endif // wxUSE_CHECKLISTBOX void DrawButtonBorder(); // the line must be either horizontal or vertical void DrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2); void DrawFrame(); void DrawBitmap(const wxBitmap& bitmap); void DrawBackgroundBitmap(); void DrawScrollbar(const wxScrollBar *scrollbar, int thumbPosOld);#if wxUSE_GAUGE void DrawProgressBar(const wxGauge *gauge);#endif // wxUSE_GAUGE // accessors wxWindow *GetWindow() const { return m_window; } wxRenderer *GetRenderer() const { return m_renderer; } wxDC& GetDC() { return m_dc; } const wxRect& GetRect() const { return m_rect; } wxRect& GetRect() { return m_rect; } // static helpers static void DrawBitmap(wxDC &dc, const wxBitmap& bitmap, const wxRect& rect, int alignment = wxALIGN_CENTRE | wxALIGN_CENTRE_VERTICAL, wxStretch stretch = wxSTRETCH_NOT);private:#if wxUSE_LISTBOX // common part of DrawItems() and DrawCheckItems() void DoDrawItems(const wxListBox *listbox, size_t itemFirst, size_t itemLast, bool isCheckLbox = false);#endif // wxUSE_LISTBOX wxWindow *m_window; wxRenderer *m_renderer; wxDC& m_dc; wxRect m_rect;};#endif // _WX_UNIV_RENDERER_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -