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
qtextdocumentlayout_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QTEXTDOCUMENTLAYOUT_P_H
5#define QTEXTDOCUMENTLAYOUT_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtGui/private/qtguiglobal_p.h>
19#include "QtGui/qabstracttextdocumentlayout.h"
20#include "QtGui/qtextoption.h"
21#include "QtGui/qtextobject.h"
22#include "QtCore/qloggingcategory.h"
23
25
26Q_DECLARE_LOGGING_CATEGORY(lcLayout)
27
28class QTextListFormat;
29class QTextTableCell;
31
32class Q_GUI_EXPORT QTextDocumentLayout : public QAbstractTextDocumentLayout
33{
34 Q_DECLARE_PRIVATE(QTextDocumentLayout)
35 Q_OBJECT
36 Q_PROPERTY(int cursorWidth READ cursorWidth WRITE setCursorWidth)
37 Q_PROPERTY(qreal idealWidth READ idealWidth)
38 Q_PROPERTY(bool contentHasAlignment READ contentHasAlignment)
39public:
40 explicit QTextDocumentLayout(QTextDocument *doc);
41
42 // from the abstract layout
43 void draw(QPainter *painter, const PaintContext &context) override;
44 int hitTest(const QPointF &point, Qt::HitTestAccuracy accuracy) const override;
45
46 int pageCount() const override;
47 QSizeF documentSize() const override;
48
49 void setCursorWidth(int width);
50 int cursorWidth() const;
51
52 // internal, to support the ugly FixedColumnWidth wordwrap mode in QTextEdit
53 void setFixedColumnWidth(int width);
54
55 // internal for QTextEdit's NoWrap mode
56 void setViewport(const QRectF &viewport);
57
58 virtual QRectF frameBoundingRect(QTextFrame *frame) const override;
59 virtual QRectF blockBoundingRect(const QTextBlock &block) const override;
60 QRectF tableBoundingRect(QTextTable *table) const;
61 QRectF tableCellBoundingRect(QTextTable *table, const QTextTableCell &cell) const;
62
63 // ####
64 int layoutStatus() const;
65 int dynamicPageCount() const;
66 QSizeF dynamicDocumentSize() const;
67 void ensureLayouted(qreal);
68
69 qreal idealWidth() const;
70
71 bool contentHasAlignment() const;
72
73protected:
74 void documentChanged(int from, int oldLength, int length) override;
75 void resizeInlineObject(QTextInlineObject item, int posInDocument, const QTextFormat &format) override;
76 void positionInlineObject(QTextInlineObject item, int posInDocument, const QTextFormat &format) override;
77 void drawInlineObject(QPainter *p, const QRectF &rect, QTextInlineObject item,
78 int posInDocument, const QTextFormat &format) override;
79 virtual void timerEvent(QTimerEvent *e) override;
80private:
81 QRectF doLayout(int from, int oldLength, int length);
82 void layoutFinished();
83};
84
85QT_END_NAMESPACE
86
87#endif // QTEXTDOCUMENTLAYOUT_P_H
friend class QPainter
bool end()
Ends painting.
QString toHtml(ExportMode mode=ExportEntireDocument)
Returns the document in HTML format.
QTextHtmlExporter(const QTextDocument *_doc)
Definition qcompare.h:76
Q_GUI_EXPORT bool mightBeRichText(QAnyStringView)
Returns true if the string text is likely to be rich text; otherwise returns false.
Q_CORE_EXPORT Q_DECL_CONST_FUNCTION unsigned int qt_int_sqrt(unsigned int n)
\inmodule QtCore \title Global Qt Declarations
Definition qglobal.cpp:99
#define qCDebug(category,...)
static QString colorValue(QColor color)
static bool isOrderedList(int style)
static QLatin1StringView richtextBorderStyleToHtmlBorderStyle(QTextFrameFormat::BorderStyle style)
static QStringList resolvedFontFamilies(const QTextCharFormat &format)
static void printPage(int index, QPainter *painter, const QTextDocument *doc, const QRectF &body, const QPointF &pageNumberPos)
static bool mightBeRichTextImpl(T text)
static bool mightBeRichTextImpl(QUtf8StringView text)
static bool findInBlock(const QTextBlock &block, const QString &expression, int offset, QTextDocument::FindFlags options, QTextCursor *cursor)
static QTextFormat formatDifference(const QTextFormat &from, const QTextFormat &to)
bool qHasPixmapTexture(const QBrush &brush)
Definition qbrush.cpp:206
#define QTextBeginningOfFrame
#define QTextEndOfFrame