From ea318d1431c89e647598c510c4245c6571aa5f46 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 26 Jan 2012 23:32:43 -0600 Subject: Update to latest tqt3 automated conversion --- doc/html/ntqfontmetrics.html | 419 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 419 insertions(+) create mode 100644 doc/html/ntqfontmetrics.html (limited to 'doc/html/ntqfontmetrics.html') diff --git a/doc/html/ntqfontmetrics.html b/doc/html/ntqfontmetrics.html new file mode 100644 index 000000000..ebe49b115 --- /dev/null +++ b/doc/html/ntqfontmetrics.html @@ -0,0 +1,419 @@ + + + + + +TQFontMetrics Class + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

TQFontMetrics Class Reference

+ +

The TQFontMetrics class provides font metrics information. +More... +

#include <ntqfontmetrics.h> +

List of all member functions. +

Public Members

+ +

Detailed Description

+ + +The TQFontMetrics class provides font metrics information. +

+ +

TQFontMetrics functions calculate the size of characters and +strings for a given font. There are three ways you can create a +TQFontMetrics object: +

    +
  1. Calling the TQFontMetrics constructor with a TQFont creates a +font metrics object for a screen-compatible font, i.e. the font +cannot be a printer font*. If the font is changed +later, the font metrics object is not updated. +

  2. TQWidget::fontMetrics() returns the font metrics for a widget's +font. This is equivalent to TQFontMetrics(widget->font()). If the +widget's font is changed later, the font metrics object is not +updated. +

  3. TQPainter::fontMetrics() returns the font metrics for a +painter's current font. If the painter's font is changed later, the +font metrics object is not updated. +
+

* If you use a printer font the values returned may be +inaccurate. Printer fonts are not always accessible so the nearest +screen font is used if a printer font is supplied. +

Once created, the object provides functions to access the +individual metrics of the font, its characters, and for strings +rendered in the font. +

There are several functions that operate on the font: ascent(), +descent(), height(), leading() and lineSpacing() return the basic +size properties of the font. The underlinePos(), overlinePos(), +strikeOutPos() and lineWidth() functions, return the properties of +the line that underlines, overlines or strikes out the +characters. These functions are all fast. +

There are also some functions that operate on the set of glyphs in +the font: minLeftBearing(), minRightBearing() and maxWidth(). +These are by necessity slow, and we recommend avoiding them if +possible. +

For each character, you can get its width(), leftBearing() and +rightBearing() and find out whether it is in the font using +inFont(). You can also treat the character as a string, and use +the string functions on it. +

The string functions include width(), to return the width of a +string in pixels (or points, for a printer), boundingRect(), to +return a rectangle large enough to contain the rendered string, +and size(), to return the size of that rectangle. +

Example: +

+    TQFont font( "times", 24 );
+    TQFontMetrics fm( font );
+    int pixelsWide = fm.width( "What's the width of this text?" );
+    int pixelsHigh = fm.height();
+    
+ +

See also TQFont, TQFontInfo, TQFontDatabase, Graphics Classes, and Implicitly and Explicitly Shared Classes. + +


Member Function Documentation

+

TQFontMetrics::TQFontMetrics ( const TQFont & font ) +

+Constructs a font metrics object for font. +

The font must be screen-compatible, i.e. a font you use when +drawing text in widgets or pixmaps, not TQPicture or TQPrinter. +

The font metrics object holds the information for the font that is +passed in the constructor at the time it is created, and is not +updated if the font's attributes are changed later. +

Use TQPainter::fontMetrics() to get the font metrics when painting. +This will give correct results also when painting on paint device +that is not screen-compatible. + +

TQFontMetrics::TQFontMetrics ( const TQFont & font, TQFont::Script script ) +

+This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +

Constructs a font metrics object for font using the given script. + +

TQFontMetrics::TQFontMetrics ( const TQFontMetrics & fm ) +

+Constructs a copy of fm. + +

TQFontMetrics::~TQFontMetrics () +

+Destroys the font metrics object and frees all allocated +resources. + +

int TQFontMetrics::ascent () const +

+Returns the ascent of the font. +

The ascent of a font is the distance from the baseline to the +highest position characters extend to. In practice, some font +designers break this rule, e.g. when they put more than one accent +on top of a character, or to accommodate an unusual character in +an exotic language, so it is possible (though rare) that this +value will be too small. +

See also descent(). + +

Examples: drawdemo/drawdemo.cpp and scrollview/scrollview.cpp. +

TQRect TQFontMetrics::boundingRect ( TQChar ch ) const +

+Returns the rectangle that is covered by ink if the character +specified by ch were to be drawn at the origin of the coordinate +system. +

Note that the bounding rectangle may extend to the left of (0, 0), +e.g. for italicized fonts, and that the text output may cover all pixels in the bounding rectangle. For a space character the rectangle +will usually be empty. +

Note that the rectangle usually extends both above and below the +base line. +

Warning: The width of the returned rectangle is not the advance width +of the character. Use boundingRect(const TQString &) or width() instead. +

See also width(). + +

Example: xform/xform.cpp. +

TQRect TQFontMetrics::boundingRect ( const TQString & str, int len = -1 ) const +

+This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +

Returns the bounding rectangle that contains the first len +characters of string str. + +

TQRect TQFontMetrics::boundingRect ( int x, int y, int w, int h, int flgs, const TQString & str, int len = -1, int tabstops = 0, int * tabarray = 0, TQTextParag ** intern = 0 ) const +

+This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +

Returns the bounding rectangle of the first len characters of +str, which is the set of pixels the text would cover if drawn +at (0, 0). The drawing, and hence the bounding rectangle, is +constrained to the rectangle (x, y, w, h). +

If len is negative (which is the default), the entire string is +used. +

The flgs argument is the bitwise OR of the following flags: +

+

Horizontal alignment defaults to AlignAuto and vertical +alignment defaults to AlignTop. +

If several of the horizontal or several of the vertical alignment +flags are set, the resulting alignment is undefined. +

These flags are defined in ntqnamespace.h. +

If ExpandTabs is set in flgs, then: if tabarray is +non-null, it specifies a 0-terminated sequence of pixel-positions +for tabs; otherwise if tabstops is non-zero, it is used as the +tab spacing (in pixels). +

Note that the bounding rectangle may extend to the left of (0, 0), +e.g. for italicized fonts, and that the text output may cover all pixels in the bounding rectangle. +

Newline characters are processed as linebreaks. +

Despite the different actual character heights, the heights of the +bounding rectangles of "Yes" and "yes" are the same. +

The bounding rectangle given by this function is somewhat larger +than that calculated by the simpler boundingRect() function. This +function uses the maximum left and +right font bearings as is +necessary for multi-line text to align correctly. Also, +fontHeight() and lineSpacing() are used to calculate the height, +rather than individual character heights. +

The intern argument should not be used. +

See also width(), TQPainter::boundingRect(), and TQt::AlignmentFlags. + +

int TQFontMetrics::charWidth ( const TQString & str, int pos ) const +

+Returns the width of the character at position pos in the +string str. +

The whole string is needed, as the glyph drawn may change +depending on the context (the letter before and after the current +one) for some languages (e.g. Arabic). +

This function also takes non spacing marks and ligatures into +account. + +

int TQFontMetrics::descent () const +

+Returns the descent of the font. +

The descent is the distance from the base line to the lowest point +characters extend to. (Note that this is different from X, which +adds 1 pixel.) In practice, some font designers break this rule, +e.g. to accommodate an unusual character in an exotic language, so +it is possible (though rare) that this value will be too small. +

See also ascent(). + +

Examples: drawdemo/drawdemo.cpp and hello/hello.cpp. +

int TQFontMetrics::height () const +

+Returns the height of the font. +

This is always equal to ascent()+descent()+1 (the 1 is for the +base line). +

See also leading() and lineSpacing(). + +

Examples: grapher/grapher.cpp, hello/hello.cpp, and qfd/fontdisplayer.cpp. +

bool TQFontMetrics::inFont ( TQChar ch ) const +

+Returns TRUE if character ch is a valid character in the font; +otherwise returns FALSE. + +

Example: qfd/fontdisplayer.cpp. +

int TQFontMetrics::leading () const +

+Returns the leading of the font. +

This is the natural inter-line spacing. +

See also height() and lineSpacing(). + +

int TQFontMetrics::leftBearing ( TQChar ch ) const +

+Returns the left bearing of character ch in the font. +

The left bearing is the right-ward distance of the left-most pixel +of the character from the logical origin of the character. This +value is negative if the pixels of the character extend to the +left of the logical origin. +

See width(TQChar) for a graphical description of this metric. +

See also rightBearing(), minLeftBearing(), and width(). + +

Example: qfd/fontdisplayer.cpp. +

int TQFontMetrics::lineSpacing () const +

+Returns the distance from one base line to the next. +

This value is always equal to leading()+height(). +

See also height() and leading(). + +

Examples: qfd/fontdisplayer.cpp, qwerty/qwerty.cpp, and scrollview/scrollview.cpp. +

int TQFontMetrics::lineWidth () const +

+Returns the width of the underline and strikeout lines, adjusted +for the point size of the font. +

See also underlinePos(), overlinePos(), and strikeOutPos(). + +

int TQFontMetrics::maxWidth () const +

+Returns the width of the widest character in the font. + +

Example: qfd/fontdisplayer.cpp. +

int TQFontMetrics::minLeftBearing () const +

+Returns the minimum left bearing of the font. +

This is the smallest leftBearing(char) of all characters in the +font. +

Note that this function can be very slow if the font is large. +

See also minRightBearing() and leftBearing(). + +

Example: qfd/fontdisplayer.cpp. +

int TQFontMetrics::minRightBearing () const +

+Returns the minimum right bearing of the font. +

This is the smallest rightBearing(char) of all characters in the +font. +

Note that this function can be very slow if the font is large. +

See also minLeftBearing() and rightBearing(). + +

Example: qfd/fontdisplayer.cpp. +

TQFontMetrics & TQFontMetrics::operator= ( const TQFontMetrics & fm ) +

+Assigns the font metrics fm. + +

int TQFontMetrics::overlinePos () const +

+Returns the distance from the base line to where an overline +should be drawn. +

See also underlinePos(), strikeOutPos(), and lineWidth(). + +

int TQFontMetrics::rightBearing ( TQChar ch ) const +

+Returns the right bearing of character ch in the font. +

The right bearing is the left-ward distance of the right-most +pixel of the character from the logical origin of a subsequent +character. This value is negative if the pixels of the character +extend to the right of the width() of the character. +

See width() for a graphical description of this metric. +

See also leftBearing(), minRightBearing(), and width(). + +

Example: qfd/fontdisplayer.cpp. +

TQSize TQFontMetrics::size ( int flgs, const TQString & str, int len = -1, int tabstops = 0, int * tabarray = 0, TQTextParag ** intern = 0 ) const +

+Returns the size in pixels of the first len characters of str. +

If len is negative (the default), the entire string is used. +

The flgs argument is the bitwise OR of the following flags: +

+

These flags are defined in ntqnamespace.h. +

If ExpandTabs is set in flgs, then: if tabarray is +non-null, it specifies a 0-terminated sequence of pixel-positions +for tabs; otherwise if tabstops is non-zero, it is used as the +tab spacing (in pixels). +

Newline characters are processed as linebreaks. +

Despite the different actual character heights, the heights of the +bounding rectangles of "Yes" and "yes" are the same. +

The intern argument should not be used. +

See also boundingRect(). + +

int TQFontMetrics::strikeOutPos () const +

+Returns the distance from the base line to where the strikeout +line should be drawn. +

See also underlinePos(), overlinePos(), and lineWidth(). + +

int TQFontMetrics::underlinePos () const +

+Returns the distance from the base line to where an underscore +should be drawn. +

See also overlinePos(), strikeOutPos(), and lineWidth(). + +

int TQFontMetrics::width ( TQChar ch ) const +

+

+

Returns the logical width of character ch in pixels. This is a +distance appropriate for drawing a subsequent character after ch. +

Some of the metrics are described in the image to the right. The +central dark rectangles cover the logical width() of each +character. The outer pale rectangles cover the leftBearing() and +rightBearing() of each character. Notice that the bearings of "f" +in this particular font are both negative, while the bearings of +"o" are both positive. +

Warning: This function will produce incorrect results for Arabic +characters or non spacing marks in the middle of a string, as the +glyph shaping and positioning of marks that happens when +processing strings cannot be taken into account. Use charWidth() +instead if you aren't looking for the width of isolated +characters. +

See also boundingRect() and charWidth(). + +

Examples: drawdemo/drawdemo.cpp, hello/hello.cpp, movies/main.cpp, qfd/fontdisplayer.cpp, and scrollview/scrollview.cpp. +

int TQFontMetrics::width ( const TQString & str, int len = -1 ) const +

+This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +

Returns the width of the first len characters of string str. + +

int TQFontMetrics::width ( char c ) const +

+

This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +

This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code. +

Provided to aid porting from TQt 1.x. + + +


+This file is part of the TQt toolkit. +Copyright © 1995-2007 +Trolltech. All Rights Reserved.


+ +
Copyright © 2007 +TrolltechTrademarks +
TQt 3.3.8
+
+ -- cgit v1.2.1