Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QTextEngine Class Reference

#include <qtextengine_p.h>

Inheritance diagram for QTextEngine:
Collaboration diagram for QTextEngine:

Classes

struct  ItemDecoration
struct  LayoutData

Public Types

enum  LayoutState { LayoutEmpty , InLayout , LayoutFailed }
enum  Mode { WidthOnly = 0x07 }
typedef QList< ItemDecorationItemDecorationList

Public Member Functions

 QTextEngine ()
 QTextEngine (const QString &str, const QFont &f)
 ~QTextEngine ()
void invalidate ()
void clearLineData ()
void validate () const
void itemize () const
bool isRightToLeft () const
const QCharAttributesattributes () const
void shape (int item) const
void justify (const QScriptLine &si)
QFixed alignLine (const QScriptLine &line)
QFixed width (int charFrom, int numChars) const
glyph_metrics_t boundingBox (int from, int len) const
glyph_metrics_t tightBoundingBox (int from, int len) const
int length (int item) const
int length (const QScriptItem *si) const
QFontEnginefontEngine (const QScriptItem &si, QFixed *ascent=nullptr, QFixed *descent=nullptr, QFixed *leading=nullptr) const
QFont font (const QScriptItem &si) const
QFont font () const
unsigned short * logClusters (const QScriptItem *si) const
QGlyphLayout availableGlyphs (const QScriptItem *si) const
QGlyphLayout shapedGlyphs (const QScriptItem *si) const
bool ensureSpace (int nGlyphs) const
void freeMemory ()
int findItem (int strPos, int firstItem=0) const
QTextFormatCollectionformatCollection () const
QTextCharFormat format (const QScriptItem *si) const
QAbstractTextDocumentLayoutdocLayout () const
int formatIndex (const QScriptItem *si) const
QFixed calculateTabWidth (int index, QFixed x) const
 returns the width of tab at index (in the tabs array) with the tab-start at position x
bool visualCursorMovement () const
int preeditAreaPosition () const
QString preeditAreaText () const
void setPreeditArea (int position, const QString &text)
bool hasFormats () const
QList< QTextLayout::FormatRangeformats () const
void setFormats (const QList< QTextLayout::FormatRange > &formats)
bool atWordSeparator (int position) const
QString elidedText (Qt::TextElideMode mode, QFixed width, int flags=0, int from=0, int count=-1) const
void shapeLine (const QScriptLine &line)
QFixed leadingSpaceWidth (const QScriptLine &line)
QFixed offsetInLigature (const QScriptItem *si, int pos, int max, int glyph_pos)
int positionInLigature (const QScriptItem *si, int end, QFixed x, QFixed edge, int glyph_pos, bool cursorOnCharacter)
int previousLogicalPosition (int oldPos) const
int nextLogicalPosition (int oldPos) const
int lineNumberForTextPosition (int pos)
int positionAfterVisualMovement (int oldPos, QTextCursor::MoveOperation op)
std::vector< int > insertionPointsForLine (int lineNum)
void resetFontEngineCache ()
void enableDelayDecorations (bool enable=true)
void addUnderline (QPainter *painter, const QLineF &line)
void addStrikeOut (QPainter *painter, const QLineF &line)
void addOverline (QPainter *painter, const QLineF &line)
void drawDecorations (QPainter *painter)
void clearDecorations ()
void adjustUnderlines ()

Static Public Member Functions

static void bidiReorder (int numRuns, const quint8 *levels, int *visualOrder)

Public Attributes

QScriptLineArray lines
QString text
QFont fnt
QRawFont rawFont
QTextBlock block
QTextOption option
QFixed minWidth
QFixed maxWidth
QPointF position
uint ignoreBidi: 1
uint cacheGlyphs: 1
uint stackEngine: 1
uint forceJustification: 1
uint visualMovement: 1
uint delayDecorations: 1
uint useRawFont: 1
LayoutDatalayoutData
ItemDecorationList underlineList
ItemDecorationList strikeOutList
ItemDecorationList overlineList

Detailed Description

Definition at line 365 of file qtextengine_p.h.

Member Typedef Documentation

◆ ItemDecorationList

Member Enumeration Documentation

◆ LayoutState

Enumerator
LayoutEmpty 
InLayout 
LayoutFailed 

Definition at line 367 of file qtextengine_p.h.

◆ Mode

Enumerator
WidthOnly 

Definition at line 409 of file qtextengine_p.h.

Constructor & Destructor Documentation

◆ QTextEngine() [1/2]

QTextEngine::QTextEngine ( )

Definition at line 1811 of file qtextengine.cpp.

◆ QTextEngine() [2/2]

QTextEngine::QTextEngine ( const QString & str,
const QFont & f )

Definition at line 1816 of file qtextengine.cpp.

◆ ~QTextEngine()

QTextEngine::~QTextEngine ( )

Definition at line 1823 of file qtextengine.cpp.

Member Function Documentation

◆ addOverline()

void QTextEngine::addOverline ( QPainter * painter,
const QLineF & line )

Definition at line 3810 of file qtextengine.cpp.

◆ addStrikeOut()

void QTextEngine::addStrikeOut ( QPainter * painter,
const QLineF & line )

Definition at line 3805 of file qtextengine.cpp.

◆ addUnderline()

void QTextEngine::addUnderline ( QPainter * painter,
const QLineF & line )

Definition at line 3799 of file qtextengine.cpp.

◆ adjustUnderlines()

void QTextEngine::adjustUnderlines ( )

Definition at line 3848 of file qtextengine.cpp.

◆ alignLine()

QFixed QTextEngine::alignLine ( const QScriptLine & line)

Definition at line 3541 of file qtextengine.cpp.

◆ attributes()

const QCharAttributes * QTextEngine::attributes ( ) const

Definition at line 1831 of file qtextengine.cpp.

◆ atWordSeparator()

bool QTextEngine::atWordSeparator ( int position) const

Definition at line 2990 of file qtextengine.cpp.

◆ availableGlyphs()

QGlyphLayout QTextEngine::availableGlyphs ( const QScriptItem * si) const
inline

Returns an array of QGlyphLayout items, offset at the script item. Each item in the array matches one glyph in the text, storing the advance, position etc. The returned item's length equals to the number of available glyphs. This may be more than what was actually shaped.

See also
logClusters()

Definition at line 469 of file qtextengine_p.h.

◆ bidiReorder()

void QTextEngine::bidiReorder ( int numRuns,
const quint8 * levels,
int * visualOrder )
static

Definition at line 1140 of file qtextengine.cpp.

◆ boundingBox()

glyph_metrics_t QTextEngine::boundingBox ( int from,
int len ) const

Definition at line 2333 of file qtextengine.cpp.

◆ calculateTabWidth()

QFixed QTextEngine::calculateTabWidth ( int index,
QFixed x ) const

returns the width of tab at index (in the tabs array) with the tab-start at position x

Definition at line 3345 of file qtextengine.cpp.

◆ clearDecorations()

void QTextEngine::clearDecorations ( )

Definition at line 3841 of file qtextengine.cpp.

◆ clearLineData()

void QTextEngine::clearLineData ( )

Definition at line 1912 of file qtextengine.cpp.

◆ docLayout()

QAbstractTextDocumentLayout * QTextEngine::docLayout ( ) const
inline

Definition at line 497 of file qtextengine_p.h.

◆ drawDecorations()

void QTextEngine::drawDecorations ( QPainter * painter)

Definition at line 3827 of file qtextengine.cpp.

◆ elidedText()

QString QTextEngine::elidedText ( Qt::TextElideMode mode,
QFixed width,
int flags = 0,
int from = 0,
int count = -1 ) const

Definition at line 3149 of file qtextengine.cpp.

◆ enableDelayDecorations()

void QTextEngine::enableDelayDecorations ( bool enable = true)
inline

Definition at line 603 of file qtextengine_p.h.

◆ ensureSpace()

bool QTextEngine::ensureSpace ( int nGlyphs) const
inline

Definition at line 482 of file qtextengine_p.h.

◆ findItem()

int QTextEngine::findItem ( int strPos,
int firstItem = 0 ) const

Definition at line 2242 of file qtextengine.cpp.

◆ font() [1/2]

QFont QTextEngine::font ( ) const
inline

Definition at line 450 of file qtextengine_p.h.

◆ font() [2/2]

QFont QTextEngine::font ( const QScriptItem & si) const

Definition at line 2378 of file qtextengine.cpp.

◆ fontEngine()

QFontEngine * QTextEngine::fontEngine ( const QScriptItem & si,
QFixed * ascent = nullptr,
QFixed * descent = nullptr,
QFixed * leading = nullptr ) const

Definition at line 2416 of file qtextengine.cpp.

◆ format()

QTextCharFormat QTextEngine::format ( const QScriptItem * si) const

Definition at line 2971 of file qtextengine.cpp.

◆ formatCollection()

QTextFormatCollection * QTextEngine::formatCollection ( ) const
inline

Definition at line 491 of file qtextengine_p.h.

◆ formatIndex()

int QTextEngine::formatIndex ( const QScriptItem * si) const

Definition at line 2948 of file qtextengine.cpp.

◆ formats()

QList< QTextLayout::FormatRange > QTextEngine::formats ( ) const
inline

Definition at line 564 of file qtextengine_p.h.

◆ freeMemory()

void QTextEngine::freeMemory ( )

Definition at line 2927 of file qtextengine.cpp.

◆ hasFormats()

bool QTextEngine::hasFormats ( ) const
inline

Definition at line 562 of file qtextengine_p.h.

◆ insertionPointsForLine()

std::vector< int > QTextEngine::insertionPointsForLine ( int lineNum)

Definition at line 3709 of file qtextengine.cpp.

◆ invalidate()

void QTextEngine::invalidate ( )

Definition at line 1903 of file qtextengine.cpp.

◆ isRightToLeft()

bool QTextEngine::isRightToLeft ( ) const

Definition at line 2223 of file qtextengine.cpp.

◆ itemize()

void QTextEngine::itemize ( ) const

Definition at line 1967 of file qtextengine.cpp.

◆ justify()

void QTextEngine::justify ( const QScriptLine & si)

Definition at line 2577 of file qtextengine.cpp.

◆ leadingSpaceWidth()

QFixed QTextEngine::leadingSpaceWidth ( const QScriptLine & line)

Definition at line 3531 of file qtextengine.cpp.

◆ length() [1/2]

int QTextEngine::length ( const QScriptItem * si) const
inline

Definition at line 439 of file qtextengine_p.h.

◆ length() [2/2]

int QTextEngine::length ( int item) const
inline

Definition at line 433 of file qtextengine_p.h.

◆ lineNumberForTextPosition()

int QTextEngine::lineNumberForTextPosition ( int pos)

Definition at line 3695 of file qtextengine.cpp.

◆ logClusters()

unsigned short * QTextEngine::logClusters ( const QScriptItem * si) const
inline

Returns a pointer to an array of log clusters, offset at the script item. Each item in the array is a unsigned short. For each character in the original string there is an entry in the table so there is a one to one correlation in indexes between the original text and the index in the logcluster. The value of each item is the position in the glyphs array. Multiple similar pointers in the logclusters array imply that one glyph is used for more than one character.

See also
glyphs()

Definition at line 460 of file qtextengine_p.h.

◆ nextLogicalPosition()

int QTextEngine::nextLogicalPosition ( int oldPos) const

Definition at line 3680 of file qtextengine.cpp.

◆ offsetInLigature()

QFixed QTextEngine::offsetInLigature ( const QScriptItem * si,
int pos,
int max,
int glyph_pos )

Definition at line 3558 of file qtextengine.cpp.

◆ positionAfterVisualMovement()

int QTextEngine::positionAfterVisualMovement ( int oldPos,
QTextCursor::MoveOperation op )

Definition at line 3751 of file qtextengine.cpp.

◆ positionInLigature()

int QTextEngine::positionInLigature ( const QScriptItem * si,
int end,
QFixed x,
QFixed edge,
int glyph_pos,
bool cursorOnCharacter )

Definition at line 3606 of file qtextengine.cpp.

◆ preeditAreaPosition()

int QTextEngine::preeditAreaPosition ( ) const
inline

Definition at line 558 of file qtextengine_p.h.

◆ preeditAreaText()

QString QTextEngine::preeditAreaText ( ) const
inline

Definition at line 559 of file qtextengine_p.h.

◆ previousLogicalPosition()

int QTextEngine::previousLogicalPosition ( int oldPos) const

Definition at line 3665 of file qtextengine.cpp.

◆ resetFontEngineCache()

void QTextEngine::resetFontEngineCache ( )

Definition at line 1896 of file qtextengine.cpp.

◆ setFormats()

void QTextEngine::setFormats ( const QList< QTextLayout::FormatRange > & formats)

Definition at line 3054 of file qtextengine.cpp.

◆ setPreeditArea()

void QTextEngine::setPreeditArea ( int position,
const QString & text )

Definition at line 3032 of file qtextengine.cpp.

◆ shape()

void QTextEngine::shape ( int item) const

Definition at line 1861 of file qtextengine.cpp.

◆ shapedGlyphs()

QGlyphLayout QTextEngine::shapedGlyphs ( const QScriptItem * si) const
inline

Returns an array of QGlyphLayout items, offset at the script item. Each item in the array matches one glyph in the text, storing the advance, position etc. The returned item's length equals to the number of shaped glyphs.

See also
logClusters()

Definition at line 478 of file qtextengine_p.h.

◆ shapeLine()

void QTextEngine::shapeLine ( const QScriptLine & line)

Definition at line 1293 of file qtextengine.cpp.

◆ tightBoundingBox()

glyph_metrics_t QTextEngine::tightBoundingBox ( int from,
int len ) const

Definition at line 2356 of file qtextengine.cpp.

◆ validate()

void QTextEngine::validate ( ) const

Definition at line 1917 of file qtextengine.cpp.

◆ visualCursorMovement()

bool QTextEngine::visualCursorMovement ( ) const
inline

Definition at line 555 of file qtextengine_p.h.

◆ width()

QFixed QTextEngine::width ( int charFrom,
int numChars ) const

Definition at line 2318 of file qtextengine.cpp.

Member Data Documentation

◆ block

QTextBlock QTextEngine::block

Definition at line 532 of file qtextengine_p.h.

◆ cacheGlyphs

uint QTextEngine::cacheGlyphs

Definition at line 540 of file qtextengine_p.h.

◆ delayDecorations

uint QTextEngine::delayDecorations

Definition at line 544 of file qtextengine_p.h.

◆ fnt

QFont QTextEngine::fnt
mutable

Definition at line 528 of file qtextengine_p.h.

◆ forceJustification

uint QTextEngine::forceJustification

Definition at line 542 of file qtextengine_p.h.

◆ ignoreBidi

uint QTextEngine::ignoreBidi

Definition at line 539 of file qtextengine_p.h.

◆ layoutData

LayoutData* QTextEngine::layoutData
mutable

Definition at line 549 of file qtextengine_p.h.

◆ lines

QScriptLineArray QTextEngine::lines
mutable

Definition at line 506 of file qtextengine_p.h.

◆ maxWidth

QFixed QTextEngine::maxWidth

Definition at line 537 of file qtextengine_p.h.

◆ minWidth

QFixed QTextEngine::minWidth

Definition at line 536 of file qtextengine_p.h.

◆ option

QTextOption QTextEngine::option

Definition at line 534 of file qtextengine_p.h.

◆ overlineList

ItemDecorationList QTextEngine::overlineList

Definition at line 553 of file qtextengine_p.h.

◆ position

QPointF QTextEngine::position

Definition at line 538 of file qtextengine_p.h.

◆ rawFont

QRawFont QTextEngine::rawFont

Definition at line 530 of file qtextengine_p.h.

◆ stackEngine

uint QTextEngine::stackEngine

Definition at line 541 of file qtextengine_p.h.

◆ strikeOutList

ItemDecorationList QTextEngine::strikeOutList

Definition at line 552 of file qtextengine_p.h.

◆ text

QString QTextEngine::text

Definition at line 527 of file qtextengine_p.h.

◆ underlineList

ItemDecorationList QTextEngine::underlineList

Definition at line 551 of file qtextengine_p.h.

◆ useRawFont

uint QTextEngine::useRawFont

Definition at line 546 of file qtextengine_p.h.

◆ visualMovement

uint QTextEngine::visualMovement

Definition at line 543 of file qtextengine_p.h.


The documentation for this class was generated from the following files: