4#ifndef QGRAPHICSSCENE_P_H
5#define QGRAPHICSSCENE_P_H
18#include <QtWidgets/private/qtwidgetsglobal_p.h>
26#include <private/qobject_p.h>
27#include <QtCore/qbitarray.h>
28#include <QtCore/qlist.h>
29#include <QtCore/qmap.h>
30#include <QtCore/qset.h>
31#include <QtGui/qfont.h>
32#include <QtGui/qpalette.h>
33#include <QtWidgets/qstyle.h>
34#include <QtWidgets/qstyleoption.h>
91 void _q_emitUpdated();
97 return std::make_tuple(
a.y(),
a.x(),
a.height(),
a.width())
98 < std::make_tuple(
b.y(),
b.x(),
b.height(),
b.width());
116 void _q_polishItems();
118 void _q_processDirtyItems();
124 void _q_updateScenePosDescendants();
142 bool emitFocusChanged =
true);
152 void clearMouseGrabber();
157 void clearKeyboardGrabber();
165 void enableMouseTrackingOnViews();
201 bool painterStateProtection);
208 const QTransform *
const effectTransform =
nullptr);
213 bool force =
false,
bool ignoreOpacity =
false,
bool removingItemFromScene =
false,
214 bool updateBoundingRect =
false);
215 void processDirtyItemsRecursive(
QGraphicsItem *
item,
bool dirtyAncestorContainsChildren =
false,
232#if QT_CONFIG(graphicseffect)
233 QGraphicsEffect::ChangeFlags
flags;
247#if QT_CONFIG(graphicseffect)
255 if (needSortTopLevelItems) {
257 topLevelSequentialOrdering =
false;
258 needSortTopLevelItems =
false;
262 void ensureSequentialTopLevelSiblingIndexes();
271 void resolvePalette();
279 int findClosestTouchPointId(
const QPointF &scenePos);
282 void enableTouchEventsOnViews();
285#ifndef QT_NO_GESTURES
297 void cancelGesturesForChildren(
QGesture *original);
302 void updateInputMethodSensitivityInViews();
Type
This enum type defines the valid event types in Qt.
The QGestureEvent class provides the description of triggered gestures.
The QGesture class represents a gesture, containing properties that describe the corresponding user i...
@ SourceBoundingRectChanged
virtual void sourceChanged(ChangeFlags flags)
This virtual function is called by QGraphicsEffect to notify the effect that the source has changed.
QGraphicsEffect * graphicsEffect
quint32 notifyInvalidated
QList< QGraphicsItem * > children
quint32 paintedViewBoundingRectsNeedRepaint
quint32 notifyBoundingRectChanged
static const QGraphicsItemPrivate * get(const QGraphicsItem *item)
quint32 fullUpdatePending
The QGraphicsItem class is the base class for all graphical items in a QGraphicsScene.
QScopedPointer< QGraphicsItemPrivate > d_ptr
virtual QRectF boundingRect() const =0
This pure virtual function defines the outer bounds of the item as a rectangle; all painting must be ...
The QGraphicsObject class provides a base class for all graphics items that require signals,...
The QGraphicsSceneDragDropEvent class provides events for drag and drop in the graphics view framewor...
The QGraphicsSceneHoverEvent class provides hover events in the graphics view framework.
The QGraphicsSceneIndex class provides a base class to implement a custom indexing algorithm for disc...
The QGraphicsSceneMouseEvent class provides mouse events in the graphics view framework.
QList< QGraphicsItem * > cachedItemsUnderMouse
QMultiMap< QGraphicsItem *, QGraphicsItem * > sceneEventFilters
QList< QGraphicsView * > views
QHash< QGraphicsObject *, QSet< QGesture * > > cachedItemGestures
void resetDirtyItem(QGraphicsItem *item, bool recursive=false)
quint32 allItemsIgnoreHoverEvents
QHash< QGesture *, QGraphicsObject * > gestureTargets
QList< QGraphicsItem * > modalPanels
QList< QGraphicsItem * > mouseGrabberItems
QPointF lastSceneMousePos
QHash< QGraphicsObject *, QSet< QGesture * > > cachedAlreadyDeliveredGestures
QSet< QGraphicsItem * > scenePosItems
QGraphicsItem * lastFocusItem
QList< QGraphicsWidget * > popupWidgets
quint32 topLevelSequentialOrdering
QStyleOptionGraphicsItem styleOptionTmp
QMap< int, QEventPoint > sceneCurrentTouchPoints
quint32 dirtyGrowingItemsBoundingRect
QList< QGraphicsItem * > unpolishedItems
Qt::DropAction lastDropAction
QMap< Qt::MouseButton, QPoint > mouseGrabberButtonDownScreenPos
QGraphicsWidget * tabFocusFirst
quint32 painterStateProtection
QHash< Qt::GestureType, int > grabbedGestures
QSet< QGraphicsItem * > selectedItems
QGraphicsItem * passiveFocusItem
quint32 allItemsIgnoreTouchEvents
QList< QGraphicsObject * > cachedTargetItems
QGraphicsItem * activePanel
quint32 calledEmitUpdated
quint32 needSortTopLevelItems
QList< QGraphicsItem * > hoverItems
quint32 allItemsUseDefaultCursor
int childExplicitActivation
QGraphicsItem * focusItem
QHash< QGraphicsItem *, QPointF > movingItemsInitialPositions
std::set< QRectF, UpdatedRectsCmp > updatedRects
QGraphicsItem * lastMouseGrabberItem
QGraphicsScene::ItemIndexMethod indexMethod
quint32 processDirtyItemsEmitted
quint32 scenePosDescendantsUpdatePending
QGraphicsItem * lastActivePanel
void ensureSortedTopLevelItems()
QMap< Qt::MouseButton, QPointF > mouseGrabberButtonDownScenePos
QGraphicsSceneIndex * index
QGraphicsItem * dragDropItem
QPainterPath selectionArea
QMap< int, QGraphicsItem * > itemForTouchPointId
QList< QGraphicsItem * > keyboardGrabberItems
quint32 holesInTopLevelSiblingIndex
QGraphicsWidget * enterWidget
QRectF growingItemsBoundingRect
QMap< Qt::MouseButton, QPointF > mouseGrabberButtonDownPos
quint32 lastMouseGrabberItemHasImplicitMouseGrab
int processDirtyItemsIndex
QList< QGraphicsItem * > topLevelItems
QGraphicsWidget * windowForItem(const QGraphicsItem *item) const
The QGraphicsScene class provides a surface for managing a large number of 2D graphical items.
ItemIndexMethod
This enum describes the indexing algorithms QGraphicsScene provides for managing positional informati...
The QGraphicsView class provides a widget for displaying the contents of a QGraphicsScene.
qsizetype size() const noexcept
const_reference at(qsizetype i) const noexcept
static QObjectPrivate * get(QObject *o)
The QPainter class performs low-level painting on widgets and other paint devices.
The QPalette class contains color groups for each widget state.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QRegion class specifies a clip region for a painter.
The QStyleOptionGraphicsItem class is used to describe the parameters needed to draw a QGraphicsItem.
The QStyle class is an abstract base class that encapsulates the look and feel of a GUI.
The QTouchEvent class contains parameters that describe a touch event.
Combined button and popup list for selecting options.
bool qt_notclosestLeaf(const QGraphicsItem *item1, const QGraphicsItem *item2)
static QRectF adjustedItemBoundingRect(const QGraphicsItem *item)
static QRectF adjustedItemEffectiveBoundingRect(const QGraphicsItem *item)
static void _q_adjustRect(QRectF *rect)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLsizei GLsizei GLchar * source
GLdouble GLdouble GLdouble GLdouble q
static const QRectF boundingRect(const QPointF *points, int pointCount)
#define Q_AUTOTEST_EXPORT
#define QT_REQUIRE_CONFIG(feature)
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
line installSceneEventFilter(ellipse)
view viewport() -> scroll(dx, dy, deviceRect)
myFilter draw(painter, QPoint(0, 0), originalPixmap)