// This is the SIP interface definition for TQFontMetrics. // // Copyright (c) 2007 // Riverbank Computing Limited // // This file is part of PyTQt. // // This copy of PyTQt is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2, or (at your option) any later // version. // // PyTQt is supplied in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // PyTQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %ExportedDoc TQFontMetrics TQRect boundingRect int x int y int w int h int flags const TQString &str int len = -1 int tabstops = 0 int *tabarray = 0 The tabarray parameter is a Python list of integers. TQSize size int flags const TQString &str int len = -1 int tabstops = 0 int *tabarray = 0 The tabarray parameter is a Python list of integers. %End class TQFontMetrics { %TypeHeaderCode #include %End public: TQFontMetrics(const TQFont &); %If (TQt_3_2_0 -) TQFontMetrics(const TQFont &,TQFont::Script); %End TQFontMetrics(const TQFontMetrics &); int ascent() const; int descent() const; int height() const; int leading() const; int lineSpacing() const; int minLeftBearing() const; int minRightBearing() const; int maxWidth() const; %If (- TQt_2_00) bool inFont(char) const; int leftBearing(char) const; int rightBearing(char) const; int width(const char *,int = -1) const; int width(char) const; TQRect boundingRect(const char *,int = -1) const; TQRect boundingRect(char) const; TQRect boundingRect(int,int,int,int,int,const char *,int = -1, SIP_PYLIST /AllowNone/ = 0) const; %MethodCode int *tabarray; if (intListToArray(a8,&tabarray) < 0) sipIsErr = 1; else { Py_BEGIN_ALLOW_THREADS sipRes = new TQRect(sipCpp -> TQFontMetrics::boundingRect(a0,a1,a2,a3,a4,a5,a6,a7,tabarray)); Py_END_ALLOW_THREADS if (tabarray) sipFree((ANY *)tabarray); } %End TQSize size(int,const char *,int = -1,int = 0, SIP_PYLIST /AllowNone/ = 0) const; %MethodCode int *tabarray; if (intListToArray(a4,&tabarray) < 0) sipIsErr = 1; else { Py_BEGIN_ALLOW_THREADS sipRes = new TQSize(sipCpp -> TQFontMetrics::size(a0,a1,a2,a3,tabarray)); Py_END_ALLOW_THREADS if (tabarray) sipFree((ANY *)tabarray); } %End %End %If (TQt_2_00 -) bool inFont(TQChar) const; int leftBearing(TQChar) const; int rightBearing(TQChar) const; int width(const TQString &,int = -1) const; int width(TQChar) const; %If (TQt_3_0_0 -) int charWidth(const TQString &,int) const; %End TQRect boundingRect(const TQString &,int = -1) const; TQRect boundingRect(TQChar) const; TQRect boundingRect(int,int,int,int,int,const TQString &,int = -1, int = 0,SIP_PYLIST /AllowNone/ = 0) const; %MethodCode int *tabarray; if (intListToArray(a8,&tabarray) < 0) sipIsErr = 1; else { Py_BEGIN_ALLOW_THREADS sipRes = new TQRect(sipCpp -> TQFontMetrics::boundingRect(a0,a1,a2,a3,a4,*a5,a6,a7,tabarray)); Py_END_ALLOW_THREADS if (tabarray) sipFree((ANY *)tabarray); } %End TQSize size(int,const TQString &,int = -1,int = 0, SIP_PYLIST /AllowNone/ = 0) const; %MethodCode int *tabarray; if (intListToArray(a4,&tabarray) < 0) sipIsErr = 1; else { Py_BEGIN_ALLOW_THREADS sipRes = new TQSize(sipCpp -> TQFontMetrics::size(a0,*a1,a2,a3,tabarray)); Py_END_ALLOW_THREADS if (tabarray) sipFree((ANY *)tabarray); } %End %End int underlinePos() const; %If (TQt_3_2_0 -) int overlinePos() const; %End int strikeOutPos() const; int lineWidth() const; %TypeCode // Convert an optional Python list of integers to a zero terminated array. // Return a negative value if there was an error. static int intListToArray(PyObject *pl,int **ap) { int i, nint, *ip; // The trivial case. if (!pl || pl == Py_None) { *ap = 0; return 0; } nint = PyList_Size(pl); if ((*ap = (int *)sipMalloc((nint + 1) * sizeof (int))) == NULL) return -1; // Convert the list. PyErr_Clear(); ip = *ap; for (i = 0; i < nint; ++i) { *ip++ = PyInt_AsLong(PyList_GetItem(pl,i)); if (PyErr_Occurred()) { sipFree((ANY *)*ap); return -1; } } // Terminate the list. *ip = 0; return 0; } %End };