From cc4f194e485e639a02480ec12d083381a193dd46 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 2 Dec 2006 14:11:15 +0000 Subject: [PATCH] added Get(MultiLine)TextEvent() overloads returning wxSize which are used by wxPackageManager (patch 1595123) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/dc.tex | 51 ++++++++++++++++++++++++++++++++++++++++---- include/wx/dc.h | 16 +++++++++++++- 2 files changed, 62 insertions(+), 5 deletions(-) diff --git a/docs/latex/wx/dc.tex b/docs/latex/wx/dc.tex index c7242bf74f..b6c7feed01 100644 --- a/docs/latex/wx/dc.tex +++ b/docs/latex/wx/dc.tex @@ -662,6 +662,33 @@ Gets the current logical function (see \helpref{wxDC::SetLogicalFunction}{wxdcse Gets the {\it mapping mode} for the device context (see \helpref{wxDC::SetMapMode}{wxdcsetmapmode}). +\membersection{wxDC::GetMultiLineTextExtent}\label{wxdcgetmultilinetextextent} + +\constfunc{void}{GetMultiLineTextExtent}{\param{const wxString\& }{string}, \param{wxCoord *}{w},\\ + \param{wxCoord *}{h}, \param{wxCoord *}{heightLine = NULL}, \param{wxFont *}{font = NULL}} + +\constfunc{wxSize}{GetMultiLineTextExtent}{\param{const wxString\& }{string}} + +Gets the dimensions of the string using the currently selected font. +\rtfsp{\it string} is the text string to measure, {\it heightLine}, if non NULL, +is where to store the height of a single line. + +The text extent is returned in {\it w} and {\it h} pointers (first form) or as +a \helpref{wxSize}{wxsize} object (second form). + +If the optional parameter {\it font} is specified and valid, then it is used +for the text extent calculation. Otherwise the currently selected font is. + +Note that this function works both with single-line and multi-line strings. + +\wxheading{See also} + +\helpref{wxFont}{wxfont},\rtfsp +\helpref{wxDC::SetFont}{wxdcsetfont},\rtfsp +\helpref{wxDC::GetPartialTextExtents}{wxdcgetpartialtextextents},\rtfsp +\helpref{wxDC::GetTextExtent}{wxdcgettextextent} + + \membersection{wxDC::GetPartialTextExtents}\label{wxdcgetpartialtextextents} \constfunc{bool}{GetPartialTextExtents}{\param{const wxString\& }{text}, @@ -675,6 +702,11 @@ various platforms have a native API function that is faster or more accurate than the generic implementation then it should be used instead. +\wxheading{See also} + +\helpref{wxDC::GetMultiLineTextExtent}{wxdcgetmultilinetextextent},\rtfsp +\helpref{wxDC::GetTextExtent}{wxdcgettextextent} + \pythonnote{This method only takes the {\it text} parameter and returns a Python list of integers.} @@ -760,20 +792,31 @@ Gets the current text background colour (see \helpref{wxDC::SetTextBackground}{w \membersection{wxDC::GetTextExtent}\label{wxdcgettextextent} -\func{void}{GetTextExtent}{\param{const wxString\& }{string}, \param{wxCoord *}{w}, \param{wxCoord *}{h},\\ +\constfunc{void}{GetTextExtent}{\param{const wxString\& }{string}, \param{wxCoord *}{w}, \param{wxCoord *}{h},\\ \param{wxCoord *}{descent = NULL}, \param{wxCoord *}{externalLeading = NULL}, \param{wxFont *}{font = NULL}} +\constfunc{wxSize}{GetTextExtent}{\param{const wxString\& }{string}} + Gets the dimensions of the string using the currently selected font. -\rtfsp{\it string} is the text string to measure, {\it w} and {\it h} are -the total width and height respectively, {\it descent} is the +\rtfsp{\it string} is the text string to measure, {\it descent} is the dimension from the baseline of the font to the bottom of the descender, and {\it externalLeading} is any extra vertical space added to the font by the font designer (usually is zero). +The text extent is returned in {\it w} and {\it h} pointers (first form) or as +a \helpref{wxSize}{wxsize} object (second form). + If the optional parameter {\it font} is specified and valid, then it is used for the text extent calculation. Otherwise the currently selected font is. -See also \helpref{wxFont}{wxfont}, \helpref{wxDC::SetFont}{wxdcsetfont}. +Note that this function only works with single-line strings. + +\wxheading{See also} + +\helpref{wxFont}{wxfont},\rtfsp +\helpref{wxDC::SetFont}{wxdcsetfont},\rtfsp +\helpref{wxDC::GetPartialTextExtents}{wxdcgetpartialtextextents},\rtfsp +\helpref{wxDC::GetMultiLineTextExtent}{wxdcgetmultilinetextextent} \pythonnote{The following methods are implemented in wxPython:\par \indented{2cm}{\begin{twocollist} diff --git a/include/wx/dc.h b/include/wx/dc.h index da5bc5fde0..57e23f8aad 100644 --- a/include/wx/dc.h +++ b/include/wx/dc.h @@ -441,13 +441,27 @@ 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) 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 { return DoGetPartialTextExtents(text, widths); } -- 2.45.2