7#ifndef QT_NO_TEXTCONTROL
17#include "private/qtextdocumentlayout_p.h"
18#include "private/qabstracttextdocumentlayout_p.h"
20#include "private/qtextdocument_p.h"
23#include "private/qtextcursor_p.h"
24#include <QtCore/qloggingcategory.h>
38#include <private/qqmlglobal_p.h>
39#include <private/qquickdeliveryagent_p_p.h>
59 return layout->lineForTextPosition(relativePos);
67 interactionFlags(
Qt::TextEditorInteraction),
69 cursorIsFocusIndicator(
false),
71 lastSelectionState(
false),
72 ignoreAutomaticScrollbarAdjustement(
false),
76 cursorBlinkingEnabled(
false),
78 hadSelectionOnMousePress(
false),
79 wordSelectionEnabled(
false),
81 cursorRectangleChanged(
false),
83 selectByTouchDrag(
false),
84 lastSelectionStart(-1),
90#if !QT_CONFIG(shortcut)
106#if QT_CONFIG(shortcut)
219 bool isNavigationEvent
227 emit q->cursorPositionChanged();
228 q->updateCursorRectangle(
true);
249 emit q->currentCharFormatChanged(
fmt);
292#if QT_CONFIG(textmarkdownreader)
298#if QT_CONFIG(texthtmlparser)
312 emit q->textChanged();
317 q->updateCursorRectangle(
true);
319 emit q->cursorPositionChanged();
344 emit q->updateCursorRequest();
360 emit q->updateRequest();
363 if (!oldSelection.
isNull())
364 emit q->updateCursorRequest();
365 emit q->updateCursorRequest();
368 if (!oldSelection.
isNull())
369 emit q->updateRequest();
370 emit q->updateRequest();
378 if (forceEmitSelectionChanged) {
383 emit q->selectionChanged();
394 emit q->copyAvailable(current);
400 if (!forceEmitSelectionChanged) {
405 emit q->selectionChanged();
407 q->updateCursorRectangle(
true);
416#if QT_CONFIG(clipboard)
417void QQuickTextControlPrivate::setClipboardSelection()
432 emit q->cursorPositionChanged();
433 q->updateCursorRectangle(
true);
483 const int wordStartPos = curs.
position();
486 const QPointF blockCoordinates =
q->blockBoundingRect(curs.
block()).topLeft();
492 const qreal wordStartX =
line.cursorToX(curs.
position() - blockPos) + blockCoordinates.
x();
496 const int wordEndPos = curs.
position();
500 || wordEndPos == wordStartPos)
503 const qreal wordEndX =
line.cursorToX(curs.
position() - blockPos) + blockCoordinates.
x();
517#if QT_CONFIG(clipboard)
518 setClipboardSelection();
547#if QT_CONFIG(clipboard)
548 setClipboardSelection();
557 d->repaintSelection();
558 const int oldCursorPos =
d->cursor.position();
559 d->doc->undo(&
d->cursor);
560 if (
d->cursor.position() != oldCursorPos)
568 d->repaintSelection();
569 const int oldCursorPos =
d->cursor.position();
570 d->doc->redo(&
d->cursor);
571 if (
d->cursor.position() != oldCursorPos)
580 d->cursor.removeSelectedText();
601 d->lastCharFormat =
d->cursor.charFormat();
620 const bool update =
d->cursorRectangleChanged || force;
621 d->cursorRectangleChanged =
false;
632 d->cursorIsFocusIndicator =
false;
633 const bool posChanged =
cursor.position() !=
d->cursor.position();
637 d->_q_updateCurrentCharFormatAndSelection();
639 d->repaintOldAndNewSelection(oldSelection);
650#if QT_CONFIG(clipboard)
652void QQuickTextControl::cut()
658 d->cursor.removeSelectedText();
661void QQuickTextControl::copy()
664 if (!
d->cursor.hasSelection())
681 const int selectionLength =
qAbs(
d->cursor.position() -
d->cursor.anchor());
683 d->selectionChanged(selectionLength !=
qAbs(
d->cursor.position() -
d->cursor.anchor()));
684 d->cursorIsFocusIndicator =
false;
691 t.translate(coordinateOffset.
x(), coordinateOffset.
y());
761 if (
e->timerId() ==
d->cursorBlinkTimer.timerId()) {
762 d->cursorOn = !
d->cursorOn;
801#if QT_CONFIG(shortcut)
805#if QT_CONFIG(clipboard)
806 setClipboardSelection();
810#if QT_CONFIG(clipboard)
855#if QT_CONFIG(shortcut)
868#if QT_CONFIG(shortcut)
875#if QT_CONFIG(clipboard)
914 if (
q->isAcceptableInput(
e)) {
939#if QT_CONFIG(clipboard)
940 setClipboardSelection();
946 q->updateCursorRectangle(
true);
957 const QPointF layoutPos =
q->blockBoundingRect(block).topLeft();
960 if (preeditCursor != 0) {
961 int preeditPos =
layout->preeditAreaPosition();
962 if (relativePos == preeditPos)
963 relativePos += preeditCursor;
964 else if (relativePos > preeditPos)
965 relativePos +=
layout->preeditAreaText().size();
972 if (
line.isValid()) {
976 if (relativePos <
line.textLength() -
line.textStart())
977 w =
line.cursorToX(relativePos + 1) -
x;
1045 if (cursorPos == -1) {
1068 q->updateCursorRectangle(
true);
1069 emit q->cursorPositionChanged();
1106 if (isPreediting()) {
1109 if (newCursorPos != selectionStartPos) {
1119 if (newCursorPos == -1)
1132 else if (!isPreediting())
1138 emit q->cursorPositionChanged();
1146 emit q->cursorPositionChanged();
1168#if QT_CONFIG(clipboard)
1169 setClipboardSelection();
1177 q->insertFromMimeData(md);
1186 emit q->cursorPositionChanged();
1187 q->updateCursorRectangle(
true);
1214 if (anchorPos != -1) {
1238 bool doEmit =
false;
1239 if (
line.isValid() &&
line.textLength()) {
1252#if QT_CONFIG(clipboard)
1253 setClipboardSelection();
1255 emit q->cursorPositionChanged();
1256 q->updateCursorRectangle(
true);
1270 if (isPreediting()) {
1274 if (cursorPos >= 0 && cursorPos <= layout->preeditAreaText().
size()) {
1298 bool isGettingInput = !
e->commitString().isEmpty()
1300 ||
e->replacementLength() > 0;
1301 bool forceSelectionChanged =
false;
1305 if (isGettingInput && textEditable) {
1312 if (textEditable && (!
e->commitString().isEmpty() ||
e->replacementLength())) {
1318 c.insertText(
e->commitString());
1322 for (
int i = 0;
i <
e->attributes().
size(); ++
i) {
1330 forceSelectionChanged =
true;
1338 const int oldPreeditCursor = preeditCursor;
1341 if (isGettingInput) {
1343 emit q->preeditTextChanged();
1346 preeditCursor =
e->preeditString().size();
1349 for (
int i = 0;
i <
e->attributes().
size(); ++
i) {
1353 preeditCursor =
a.start;
1361 o.length =
a.length;
1367 layout->setFormats(overrides);
1376 emit q->cursorPositionChanged();
1377 q->updateCursorRectangle(oldPreeditCursor != preeditCursor || forceSelectionChanged || isGettingInput);
1396 return QVariant(
d->cursor.charFormat().font());
1406 return QVariant(
d->cursor.selectedText());
1417 int localPos =
d->cursor.position() - block.
position();
1432 int localPos =
d->cursor.position() - block.
position();
1434 int resultLen = localPos;
1463 emit q->updateRequest();
1465 if (
e->gotFocus()) {
1475 emit q->selectionChanged();
1486 link =
q->anchorAt(
pos);
1490 emit q->linkHovered(link);
1505 return d->hasImState;
1511 return d->overwriteMode;
1517 if (
d->overwriteMode == overwrite)
1519 d->overwriteMode = overwrite;
1526 return d->cursorVisible;
1532 d->cursorVisible = visible;
1533 d->setBlinkingCursorEnabled(
d->cursorVisible
1554 return d->rectForPosition(
cursor.position());
1566 return d->hoveredLink;
1572 return d->doc->documentLayout()->anchorAt(
pos);
1578 return d->doc->documentLayout()->blockWithMarkerAt(
pos);
1584 d->acceptRichText = accept;
1591 const bool moved =
d->cursor.movePosition(op,
mode);
1592 d->_q_updateCurrentCharFormatAndSelection();
1594 d->repaintOldAndNewSelection(oldSelection);
1601#if QT_CONFIG(clipboard)
1614 d->cursorIsFocusIndicator =
b;
1624#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
1625void QQuickTextControl::setTouchDragSelectionEnabled(
bool enabled)
1642 if (
d->acceptRichText)
1648 return source->hasText();
1657 bool hasData =
false;
1659#if QT_CONFIG(texthtmlparser)
1666 }
else if (
source->hasHtml() &&
d->acceptRichText) {
1681 d->cursor.insertFragment(fragment);
1706 for (; !
it.atEnd(); ++
it) {
1708 const int fragmentPos = fragment.
position();
1709 if (fragmentPos <= cursorPos &&
1710 fragmentPos + fragment.
length() > cursorPos) {
1716 if (!linkFragment.
atEnd()) {
1726 }
while (
it != block.
begin());
1729 for (
it = linkFragment; !
it.atEnd(); ++
it) {
1746 emit q_func()->linkActivated(href);
1750bool QQuickTextControlPrivate::isPreediting()
const
1759void QQuickTextControlPrivate::commitPreedit()
1775void QQuickTextControlPrivate::cancelPreedit()
1792 if (
flags ==
d->interactionFlags)
1794 d->interactionFlags =
flags;
1803 return d->interactionFlags;
1811#if QT_CONFIG(texthtmlparser)
1812QString QQuickTextControl::toHtml()
const
1818#if QT_CONFIG(textmarkdownwriter)
1819QString QQuickTextControl::toMarkdown()
const
1834 return d->doc->documentLayout()->hitTest(point, accuracy);
1840 return d->doc->documentLayout()->blockBoundingRect(block);
1851 return layout->preeditAreaText();
1862#if QT_CONFIG(textodfwriter)
1877void QQuickTextEditMimeData::setup()
const
1880#if QT_CONFIG(texthtmlparser)
1883#if QT_CONFIG(textodfwriter)
1887 writer.write(fragment);
1899#include "moc_qquicktextcontrol_p.cpp"
void start(int msec, QObject *obj)
\obsolete Use chrono overload instead.
void stop()
Stops the timer.
\inmodule QtCore \reentrant
The QClipboard class provides access to the window system clipboard.
void setMimeData(QMimeData *data, Mode mode=Clipboard)
Sets the clipboard data to src.
const QMimeData * mimeData(Mode mode=Clipboard) const
Returns a pointer to a QMimeData representation of the current clipboard data (can be \nullptr if the...
bool supportsSelection() const
Returns true if the clipboard supports mouse selection; otherwise returns false.
Mode
\keyword clipboard mode
static bool sendEvent(QObject *receiver, QEvent *event)
Sends event event directly to receiver receiver, using the notify() function.
virtual void setAccepted(bool accepted)
The QFocusEvent class contains event parameters for widget focus events.
\reentrant \inmodule QtGui
int horizontalAdvance(const QString &, int len=-1) const
Returns the horizontal advance in pixels of the first len characters of text.
static QClipboard * clipboard()
Returns the object for interacting with the clipboard.
static QStyleHints * styleHints()
Returns the application's style hints.
static QInputMethod * inputMethod()
returns the input method.
The QKeyEvent class describes a key event.
@ InsertParagraphSeparator
constexpr const char * data() const noexcept
bool isEmpty() const override
\reimp
void remove(qsizetype i, qsizetype n=1)
void append(parameter_type t)
void setData(const QString &mimetype, const QByteArray &data)
Sets the data associated with the MIME type given by mimeType to the specified data.
void setText(const QString &text)
Sets text as the plain text (MIME type text/plain) used to represent the data.
virtual QVariant retrieveData(const QString &mimetype, QMetaType preferredType) const
Returns a variant with the given type containing data for the MIME type specified by mimeType.
virtual QStringList formats() const
Returns a list of formats supported by the object.
static QMetaObject::Connection connect(const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot, Qt::ConnectionType type=Qt::AutoConnection)
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
virtual bool event(QEvent *event)
This virtual function receives events to an object and should return true if the event e was recogniz...
bool setProperty(const char *name, const QVariant &value)
Sets the value of the object's name property to value.
\inmodule QtCore\reentrant
constexpr qreal x() const noexcept
Returns the x coordinate of this point.
constexpr qreal y() const noexcept
Returns the y coordinate of this point.
bool isNull() const noexcept
Returns true if both the x and y coordinates are set to 0.0 (ignoring the sign); otherwise returns fa...
static bool isEventFromMouseOrTouchpad(const QPointerEvent *ev)
QTextBlock blockWithMarkerUnderMousePress
bool cursorMoveKeyEvent(QKeyEvent *e)
void selectionChanged(bool forceEmitSelectionChanged=false)
void updateCursorFlashTime()
QBasicTimer cursorBlinkTimer
QTextCursor selectedBlockOnTripleClick
void setCursorPosition(const QPointF &pos)
void _q_updateCursorPosChanged(const QTextCursor &someCursor)
bool cursorIsFocusIndicator
bool cursorBlinkingEnabled
void mouseMoveEvent(QMouseEvent *event, const QPointF &pos)
void extendWordwiseSelection(int suggestedNewPosition, qreal mouseXPosition)
void keyReleaseEvent(QKeyEvent *e)
void focusEvent(QFocusEvent *e)
QRectF rectForPosition(int position) const
void extendBlockwiseSelection(int suggestedNewPosition)
void setBlinkingCursorEnabled(bool enable)
bool hadSelectionOnMousePress
void hoverEvent(QHoverEvent *e, const QPointF &pos)
QTextCursor selectedWordOnDoubleClick
QTextCharFormat lastCharFormat
void setContent(Qt::TextFormat format, const QString &text)
void repaintOldAndNewSelection(const QTextCursor &oldSelection)
ulong timestampAtLastDoubleClick
bool cursorRectangleChanged
void activateLinkUnderCursor(QString href=QString())
void mouseDoubleClickEvent(QMouseEvent *event, const QPointF &pos)
void mousePressEvent(QMouseEvent *event, const QPointF &pos)
QQuickTextControlPrivate()
Qt::TextInteractionFlags interactionFlags
void updateCurrentCharFormat()
void keyPressEvent(QKeyEvent *e)
QString anchorOnMousePress
bool sendMouseEventToInputContext(QMouseEvent *event, const QPointF &pos)
void mouseReleaseEvent(QMouseEvent *event, const QPointF &pos)
void _q_updateCurrentCharFormatAndSelection()
bool wordSelectionEnabled
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
bool overwriteMode() const
QTextDocument * document() const
virtual QRectF blockBoundingRect(const QTextBlock &block) const
bool event(QEvent *e) override
This virtual function receives events to an object and should return true if the event e was recogniz...
void contentsChange(int from, int charsRemoved, int charsAdded)
virtual void processEvent(QEvent *e, const QTransform &transform)
virtual bool canInsertFromMimeData(const QMimeData *source) const
QString anchorAt(const QPointF &pos) const
void cursorPositionChanged()
QString hoveredLink() const
void setAcceptRichText(bool accept)
Qt::TextInteractionFlags textInteractionFlags() const
QTextBlock blockWithMarkerAt(const QPointF &pos) const
void setHtml(const QString &text)
QRectF anchorRect() const
QString preeditText() const
virtual QMimeData * createMimeDataFromSelection() const
void cursorRectangleChanged()
void overwriteModeChanged(bool overwriteMode)
bool cursorVisible() const
QTextCursor textCursor() const
void setCursorIsFocusIndicator(bool b)
void setCursorVisible(bool visible)
void moveCursor(QTextCursor::MoveOperation op, QTextCursor::MoveMode mode=QTextCursor::MoveAnchor)
virtual ~QQuickTextControl()
void timerEvent(QTimerEvent *e) override
This event handler can be reimplemented in a subclass to receive timer events for the object.
QRectF cursorRect() const
void setPlainText(const QString &text)
virtual void insertFromMimeData(const QMimeData *source)
QString toPlainText() const
void setOverwriteMode(bool overwrite)
void setTextCursor(const QTextCursor &cursor)
QQuickTextControl(QTextDocument *doc, QObject *parent=nullptr)
void setWordSelectionEnabled(bool enabled)
void setMarkdownText(const QString &text)
virtual int hitTest(const QPointF &point, Qt::HitTestAccuracy accuracy) const
void updateCursorRectangle(bool force)
QVariant retrieveData(const QString &mimeType, QMetaType type) const override
Returns a variant with the given type containing data for the MIME type specified by mimeType.
QStringList formats() const override
Returns a list of formats supported by the object.
\inmodule QtCore\reentrant
QPointF position() const
Returns the position of the point in this event, relative to the widget or item that received the eve...
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool isNull() const
Returns true if this string is null; otherwise returns false.
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QString mid(qsizetype position, qsizetype n=-1) const
Returns a string that contains n characters of this string, starting at the specified position index.
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
QByteArray toUtf8() const &
int startDragDistance
the distance, in pixels, that the mouse must be moved with a button held down before a drag and drop ...
void cursorFlashTimeChanged(int cursorFlashTime)
int mouseDoubleClickInterval
the time limit in milliseconds that distinguishes a double click from two consecutive mouse clicks.
int cursorFlashTime
the text cursor's flash (blink) time in milliseconds.
MarkerType marker() const
void setIndent(int indent)
Sets the paragraph's indentation.
int indent() const
Returns the paragraph's indent.
bool atEnd() const
Returns true if the current item is the last item in the text block.
iterator begin() const
Returns a text block iterator pointing to the beginning of the text block.
int length() const
Returns the length of the block in characters.
QTextBlockFormat blockFormat() const
Returns the QTextBlockFormat that describes block-specific properties.
bool isValid() const
Returns true if this text block is valid; otherwise returns false.
QTextBlock next() const
Returns the text block in the document after this block, or an empty text block if this is the last o...
QTextLayout * layout() const
Returns the QTextLayout that is used to lay out and display the block's contents.
int position() const
Returns the index of the block's first character within the document.
QString text() const
Returns the block's contents as plain text.
QString anchorHref() const
Returns the text format's hypertext link, or an empty string if none has been set.
static QTextCursorPrivate * getPrivate(QTextCursor *c)
\reentrant \inmodule QtGui
QTextBlockFormat blockFormat() const
Returns the block format of the block the cursor is in.
QTextCharFormat charFormat() const
Returns the format of the character immediately before the cursor position().
QTextBlock block() const
Returns the block that contains the cursor.
void beginEditBlock()
Indicates the start of a block of editing operations on the document that should appear as a single o...
bool atBlockStart() const
Returns true if the cursor is at the start of a block; otherwise returns false.
void setPosition(int pos, MoveMode mode=MoveAnchor)
Moves the cursor to the absolute position in the document specified by pos using a MoveMode specified...
int selectionStart() const
Returns the start of the selection or position() if the cursor doesn't have a selection.
bool movePosition(MoveOperation op, MoveMode=MoveAnchor, int n=1)
Moves the cursor by performing the given operation n times, using the specified mode,...
bool atBlockEnd() const
Returns true if the cursor is at the end of a block; otherwise returns false.
int anchor() const
Returns the anchor position; this is the same as position() unless there is a selection in which case...
void clearSelection()
Clears the current selection by setting the anchor to the cursor position.
bool isNull() const
Returns true if the cursor is null; otherwise returns false.
MoveMode
\value MoveAnchor Moves the anchor to the same position as the cursor itself.
void setBlockFormat(const QTextBlockFormat &format)
Sets the block format of the current block (or all blocks that are contained in the selection) to for...
void setCharFormat(const QTextCharFormat &format)
Sets the cursor's current character format to the given format.
bool visualNavigation() const
void removeSelectedText()
If there is a selection, its content is deleted; otherwise does nothing.
int selectionEnd() const
Returns the end of the selection or position() if the cursor doesn't have a selection.
void select(SelectionType selection)
Selects text in the document according to the given selection.
void insertText(const QString &text)
Inserts text at the current position, using the current character format.
QTextList * currentList() const
Returns the current list if the cursor position() is inside a block that is part of a list; otherwise...
void setVisualNavigation(bool b)
bool isCopyOf(const QTextCursor &other) const
Returns true if this cursor and other are copies of each other, i.e.
void insertBlock()
Inserts a new empty block at the cursor position() with the current blockFormat() and charFormat().
bool hasSelection() const
Returns true if the cursor contains a selection; otherwise returns false.
void endEditBlock()
Indicates the end of a block of editing operations on the document that should appear as a single ope...
MoveOperation
\value NoMove Keep the cursor where it is
void mergeBlockFormat(const QTextBlockFormat &modifier)
Modifies the block format of the current block (or all blocks that are contained in the selection) wi...
bool hasComplexSelection() const
Returns true if the cursor contains a selection that is not simply a range from selectionStart() to s...
void deletePreviousChar()
If there is no selected text, deletes the character before the current cursor position; otherwise del...
int position() const
Returns the absolute position of the cursor within the document.
void deleteChar()
If there is no selected text, deletes the character at the current cursor position; otherwise deletes...
QTextFrame * currentFrame() const
Returns a pointer to the current frame.
QString toPlainText() const
This function returns the same as toRawText(), but will replace some unicode characters with ASCII al...
bool isEmpty() const
Returns true if the fragment is empty; otherwise returns false.
static QTextDocumentFragment fromHtml(const QString &html, const QTextDocument *resourceProvider=nullptr)
static QTextDocumentFragment fromPlainText(const QString &plainText)
Returns a document fragment that contains the given plainText.
The QTextDocumentWriter class provides a format-independent interface for writing a QTextDocument to ...
\reentrant \inmodule QtGui
void setModified(bool m=true)
void contentsChange(int from, int charsRemoved, int charsAdded)
This signal is emitted whenever the document's content changes; for example, when text is inserted or...
void setHtml(const QString &html)
Replaces the entire contents of the document with the given HTML-formatted text in the html string.
QString toHtml() const
Returns a string containing an HTML representation of the document.
QAbstractTextDocumentLayout * documentLayout() const
Returns the document layout for this document.
virtual void clear()
Clears the document.
bool isUndoRedoEnabled() const
void setPageSize(const QSizeF &size)
void setUndoRedoEnabled(bool enable)
QUrl baseUrl
the base URL used to resolve relative resource URLs within the document.
QString toPlainText() const
Returns the plain text contained in the document.
QTextBlock findBlock(int pos) const
Returns the text block that contains the {pos}-th character.
void setPlainText(const QString &text)
Replaces the entire contents of the document with the given plain text.
void setBaseUrl(const QUrl &url)
QTextCharFormat toCharFormat() const
Returns this format as a character format.
QTextCharFormat charFormat() const
Returns the text fragment's character format.
int length() const
Returns the number of characters in the text fragment.
int position() const
Returns the position of this text fragment in the document.
int lineCount() const
Returns the number of lines in this text layout.
QFont font() const
Returns the current font that is used for the layout, or a default font if none is set.
QString preeditAreaText() const
Returns the text that is inserted in the layout before editing occurs.
int textStart() const
Returns the start of the line from the beginning of the string passed to the QTextLayout.
QUrl adjusted(FormattingOptions options) const
void textChanged(const QString &newText)
QSet< QString >::iterator it
Combined button and popup list for selecting options.
@ TextSelectableByKeyboard
@ ActiveWindowFocusReason
static jboolean copy(JNIEnv *, jobject)
#define qCDebug(category,...)
#define Q_DECLARE_LOGGING_CATEGORY(name)
constexpr T qAbs(const T &t)
GLboolean GLboolean GLboolean b
GLint GLint GLint GLint GLint x
[0]
GLfloat GLfloat GLfloat w
[0]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLint GLsizei GLsizei GLenum format
GLsizei GLsizei GLchar * source
GLuint GLenum GLenum transform
GLdouble GLdouble GLdouble GLdouble q
#define qmlobject_disconnect(Sender, SenderType, Signal, Receiver, ReceiverType, Method)
Disconnect Signal of Sender from Method of Receiver.
#define qmlobject_connect(Sender, SenderType, Signal, Receiver, ReceiverType, Method)
Connect Signal of Sender to Method of Receiver.
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
static QT_BEGIN_NAMESPACE QTextLine currentTextLine(const QTextCursor &cursor)
const int textCursorWidth
QLatin1StringView QLatin1String
#define QT_CONFIG(feature)
QVideoFrameFormat::PixelFormat fmt
static QTextLine currentTextLine(const QTextCursor &cursor)
if(qFloatDistance(a, b)<(1<< 7))
[0]
myObject disconnect()
[26]
\inmodule QtCore \reentrant
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent