⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 renderer.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
📖 第 1 页 / 共 3 页
字号:
                                   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 + -