KTextEditor
8#ifndef _KATE_LINELAYOUT_H_
9#define _KATE_LINELAYOUT_H_
11#include <QExplicitlySharedDataPointer>
17#include "katetextline.h"
19#include <ktexteditor/cursor.h>
31 explicit KateLineLayout(KateRenderer &renderer);
33 void debugOutput()
const;
37 bool isOutsideDocument()
const;
39 bool isRightToLeft()
const;
41 bool includesCursor(
const KTextEditor::Cursor realCursor)
const;
43 friend bool operator>(
const KateLineLayout &r,
const KTextEditor::Cursor c);
44 friend bool operator>=(
const KateLineLayout &r,
const KTextEditor::Cursor c);
45 friend bool operator<(
const KateLineLayout &r,
const KTextEditor::Cursor c);
46 friend bool operator<=(
const KateLineLayout &r,
const KTextEditor::Cursor c);
48 const Kate::TextLine &textLine(
bool forceReload =
false)
const;
55 void setLine(
int line,
int virtualLine = -1);
56 KTextEditor::Cursor start()
const;
58 int virtualLine()
const;
59 void setVirtualLine(
int virtualLine);
61 bool isDirty(
int viewLine)
const;
62 bool setDirty(
int viewLine,
bool dirty =
true);
65 int widthOfLastLine();
67 int viewLineCount()
const;
68 KateTextLayout viewLine(
int viewLine);
69 int viewLineForColumn(
int column)
const;
71 bool startsInvisibleBlock()
const;
73 const QTextLayout &layout()
const
79 QTextLayout &modifiableLayout()
85 void invalidateLayout();
87 bool layoutDirty =
true;
88 bool usePlainTextLine =
false;
101 KateLineLayout(
const KateLineLayout ©);
103 KateRenderer &m_renderer;
104 mutable std::optional<Kate::TextLine> m_textLine;
108 QTextLayout m_layout;
109 QList<bool> m_dirtyList;
Backend of KTextEditor::Document related public KTextEditor interfaces.
Handles all of the work of rendering the text (used for the views and printing)
This class represents one visible line of text; with dynamic wrapping, many KateTextLayouts can be ne...
The KTextEditor namespace contains all the public API that is required to use the KTextEditor compone...
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 21 2025 11:52:52 by
doxygen 1.13.2 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.