X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c64c9cd3ba5c5aa5d1cc0b59e9b78fd66650bc58..f321ab7fb40525098cea6594ffbf2daf0186b1a3:/include/wx/dc.h?ds=sidebyside diff --git a/include/wx/dc.h b/include/wx/dc.h index ebf665a580..57e23f8aad 100644 --- a/include/wx/dc.h +++ b/include/wx/dc.h @@ -314,9 +314,9 @@ public: source, srcPt.x, srcPt.y, rop, useMask, srcPtMask.x, srcPtMask.y); } - wxBitmap GetAsBitmap() + wxBitmap GetAsBitmap(const wxRect *subrect = (const wxRect *) NULL) const { - return DoGetAsBitmap(); + return DoGetAsBitmap(subrect); } #if wxUSE_SPLINES @@ -441,12 +441,26 @@ public: wxFont *theFont = NULL) const { DoGetTextExtent(string, x, y, descent, externalLeading, theFont); } + wxSize GetTextExtent(const wxString& string) const + { + wxCoord w, h; + DoGetTextExtent(string, &w, &h); + return wxSize(w, h); + } + // works for single as well as multi-line strings - virtual void GetMultiLineTextExtent(const wxString& text, + virtual void GetMultiLineTextExtent(const wxString& string, wxCoord *width, wxCoord *height, wxCoord *heightLine = NULL, - wxFont *font = NULL); + wxFont *font = NULL) const; + + wxSize GetMultiLineTextExtent(const wxString& string) const + { + wxCoord w, h; + GetMultiLineTextExtent(string, &w, &h); + return wxSize(w, h); + } // Measure cumulative width of text after each character bool GetPartialTextExtents(const wxString& text, wxArrayInt& widths) const @@ -717,7 +731,7 @@ protected: wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord) = 0; - virtual wxBitmap DoGetAsBitmap() const { return wxNullBitmap; } + virtual wxBitmap DoGetAsBitmap(const wxRect *WXUNUSED(subrect)) const { return wxNullBitmap; } virtual void DoGetSize(int *width, int *height) const = 0; virtual void DoGetSizeMM(int* width, int* height) const = 0;