40 #ifndef QGRAPHICSSCENE_P_H
41 #define QGRAPHICSSCENE_P_H
54 #include <QtWidgets/private/qtwidgetsglobal_p.h>
62 #include <private/qobject_p.h>
63 #include <QtCore/qbitarray.h>
64 #include <QtCore/qlist.h>
65 #include <QtCore/qmap.h>
66 #include <QtCore/qset.h>
67 #include <QtGui/qfont.h>
68 #include <QtGui/qpalette.h>
69 #include <QtWidgets/qstyle.h>
70 #include <QtWidgets/qstyleoption.h>
127 void _q_emitUpdated();
133 return std::make_tuple(
a.y(),
a.x(),
a.height(),
a.width())
134 < std::make_tuple(
b.y(),
b.x(),
b.height(),
b.width());
152 void _q_polishItems();
154 void _q_processDirtyItems();
160 void _q_updateScenePosDescendants();
178 bool emitFocusChanged =
true);
188 void clearMouseGrabber();
193 void clearKeyboardGrabber();
201 void enableMouseTrackingOnViews();
237 bool painterStateProtection);
244 const QTransform *
const effectTransform =
nullptr);
249 bool force =
false,
bool ignoreOpacity =
false,
bool removingItemFromScene =
false,
250 bool updateBoundingRect =
false);
251 void processDirtyItemsRecursive(
QGraphicsItem *
item,
bool dirtyAncestorContainsChildren =
false,
268 #if QT_CONFIG(graphicseffect)
269 QGraphicsEffect::ChangeFlags
flags;
283 #if QT_CONFIG(graphicseffect)
291 if (needSortTopLevelItems) {
293 topLevelSequentialOrdering =
false;
294 needSortTopLevelItems =
false;
298 void ensureSequentialTopLevelSiblingIndexes();
307 void resolvePalette();
315 int findClosestTouchPointId(
const QPointF &scenePos);
318 void enableTouchEventsOnViews();
321 #ifndef QT_NO_GESTURES
333 void cancelGesturesForChildren(
QGesture *original);
338 void updateInputMethodSensitivityInViews();
348 static inline void _q_adjustRect(
QRectF *
rect)
361 _q_adjustRect(&boundingRect);
369 _q_adjustRect(&boundingRect);
small capitals from c petite p scientific i
[1]
The QBrush class defines the fill pattern of shapes drawn by QPainter.
The QEvent class is the base class of all event classes. Event objects contain event parameters.
The QFont class specifies a query for a font used for drawing text.
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)
The QGraphicsItem class is the base class for all graphical items in a QGraphicsScene.
QScopedPointer< QGraphicsItemPrivate > d_ptr
virtual QRectF boundingRect() const =0
QGraphicsEffect * graphicsEffect
quint32 notifyInvalidated
static const QGraphicsItemPrivate * get(const QGraphicsItem *item)
QList< QGraphicsItem * > children
quint32 paintedViewBoundingRectsNeedRepaint
quint32 notifyBoundingRectChanged
quint32 fullUpdatePending
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 QGraphicsScene class provides a surface for managing a large number of 2D graphical items.
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
QGraphicsWidget * windowForItem(const QGraphicsItem *item) const
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
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 QPainterPath class provides a container for painting operations, enabling graphical shapes to be ...
The QPalette class contains color groups for each widget state.
The QPointF class defines a point in the plane using floating point precision.
The QPoint class defines a point in the plane using integer precision.
The QRectF class defines a finite rectangle in the plane using floating point precision.
The QRegion class specifies a clip region for a painter.
The QStyle class is an abstract base class that encapsulates the look and feel of a GUI.
The QStyleOptionGraphicsItem class is used to describe the parameters needed to draw a QGraphicsItem.
The QTouchEvent class contains parameters that describe a touch event.
constexpr T & operator()(T &v) const
QTouchEventSequence touchEvent(QWindow *window, QPointingDevice *device, bool autoCommit=true)
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro vuzp8 reg2 vuzp d d ®2 endm macro vzip8 reg2 vzip d d ®2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld[DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld init[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp skip1 beq endif SRC MASK if dst_r_bpp DST_R else add endif PF add sub src_basereg pixdeinterleave mask_basereg pixdeinterleave dst_r_basereg process_pixblock_head pixblock_size cache_preload_simple process_pixblock_tail pixinterleave dst_w_basereg irp beq endif process_pixblock_tail_head tst beq irp if pixblock_size chunk_size tst beq pixld SRC pixld MASK if DST_R else pixld DST_R endif if src_basereg pixdeinterleave mask_basereg pixdeinterleave dst_r_basereg process_pixblock_head if pixblock_size cache_preload_simple endif process_pixblock_tail pixinterleave dst_w_basereg irp if pixblock_size chunk_size tst beq if DST_W else pixst DST_W else mov ORIG_W endif add lsl if lsl endif if lsl endif lsl endif lsl endif lsl endif subs mov DST_W if regs_shortage str endif bge start_of_loop_label endm macro generate_composite_function
#define Q_AUTOTEST_EXPORT
QT_END_INCLUDE_NAMESPACE typedef double qreal
bool qt_notclosestLeaf(const QGraphicsItem *item1, const QGraphicsItem *item2)
QT_REQUIRE_CONFIG(graphicsview)
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
line installSceneEventFilter(ellipse)
view viewport() -> scroll(dx, dy, deviceRect)
myFilter draw(painter, QPoint(0, 0), originalPixmap)