Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qgraphicsscene.cpp File Reference
#include "qgraphicsscene.h"
#include "qgraphicsitem.h"
#include "qgraphicsitem_p.h"
#include "qgraphicslayout.h"
#include "qgraphicsscene_p.h"
#include "qgraphicssceneevent.h"
#include "qgraphicsview.h"
#include "qgraphicsview_p.h"
#include "qgraphicswidget.h"
#include "qgraphicswidget_p.h"
#include "qgraphicssceneindex_p.h"
#include "qgraphicsscenebsptreeindex_p.h"
#include "qgraphicsscenelinearindex_p.h"
#include <QtCore/qdebug.h>
#include <QtCore/qlist.h>
#include <QtCore/qmath.h>
#include <QtCore/qrect.h>
#include <QtCore/qset.h>
#include <QtCore/qstack.h>
#include <QtCore/qtimer.h>
#include <QtCore/qvarlengtharray.h>
#include <QtCore/QMetaMethod>
#include <QtWidgets/qapplication.h>
#include <QtGui/qevent.h>
#include <QtWidgets/qgraphicslayout.h>
#include <QtWidgets/qgraphicsproxywidget.h>
#include <QtWidgets/qgraphicswidget.h>
#include <QtGui/qpaintengine.h>
#include <QtGui/qpainter.h>
#include <QtGui/qpainterpath.h>
#include <QtGui/qpixmapcache.h>
#include <QtGui/qpolygon.h>
#include <QtGui/qpointingdevice.h>
#include <QtWidgets/qstyleoption.h>
#include <QtGui/qtransform.h>
#include <QtGui/qinputmethod.h>
#include <private/qapplication_p.h>
#include <private/qevent_p.h>
#include <QtGui/private/qeventpoint_p.h>
#include <private/qobject_p.h>
#include <private/qgesturemanager_p.h>
#include <private/qpathclipper_p.h>
#include "moc_qgraphicsscene.cpp"
+ Include dependency graph for qgraphicsscene.cpp:

Go to the source code of this file.

Macros

#define DEBUG   if (0) qDebug
 
#define ENSURE_TRANSFORM_PTR
 

Functions

QT_BEGIN_NAMESPACE bool qt_sendSpontaneousEvent (QObject *receiver, QEvent *event)
 
static void _q_hoverFromMouseEvent (QGraphicsSceneHoverEvent *hover, const QGraphicsSceneMouseEvent *mouseEvent)
 
static void _q_paintItem (QGraphicsItem *item, QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, bool useWindowOpacity, bool painterStateProtection)
 
static void _q_paintIntoCache (QPixmap *pix, QGraphicsItem *item, const QRegion &pixmapExposed, const QTransform &itemToPixmap, QPainter::RenderHints renderHints, const QStyleOptionGraphicsItem *option, bool painterStateProtection)
 
static bool transformIsSimple (const QTransform &transform)
 
static void setClip (QPainter *painter, QGraphicsItem *item)
 
static void setWorldTransform (QPainter *painter, const QTransform *const transformPtr, const QTransform *effectTransform)
 
static bool updateHelper (QGraphicsViewPrivate *view, QGraphicsItemPrivate *item, const QRectF &rect, bool itemIsUntransformable)
 

Macro Definition Documentation

◆ DEBUG

#define DEBUG   if (0) qDebug

Definition at line 221 of file qgraphicsscene.cpp.

◆ ENSURE_TRANSFORM_PTR

#define ENSURE_TRANSFORM_PTR
Value:
if (!transformPtr) { \
Q_ASSERT(!itemIsUntransformable); \
if (viewTransform) { \
transform *= *viewTransform; \
transformPtr = &transform; \
} else { \
transformPtr = &item->d_ptr->sceneTransform; \
translateOnlyTransform = item->d_ptr->sceneTransformTranslateOnly; \
} \
}
QScopedPointer< QGraphicsItemPrivate > d_ptr
GLuint GLenum GLenum transform
QGraphicsItem * item

Function Documentation

◆ _q_hoverFromMouseEvent()

◆ _q_paintIntoCache()

static void _q_paintIntoCache ( QPixmap pix,
QGraphicsItem item,
const QRegion pixmapExposed,
const QTransform itemToPixmap,
QPainter::RenderHints  renderHints,
const QStyleOptionGraphicsItem option,
bool  painterStateProtection 
)
static

Definition at line 4226 of file qgraphicsscene.cpp.

References _q_paintItem(), QPainter::begin(), QRegion::boundingRect(), QPainter::CompositionMode_Source, QRect::contains(), QPixmap::devicePixelRatio(), QPainter::drawPixmap(), QPainter::end(), QPixmap::fill(), QRegion::isEmpty(), QPixmap::isNull(), item, pix, QPixmap::rect(), QRegion::rectCount(), QPainter::renderHints(), QPainter::setClipRegion(), QPainter::setCompositionMode(), QPixmap::setDevicePixelRatio(), QPainter::setRenderHints(), QPainter::setWorldTransform(), QRect::size(), QRect::topLeft(), QPainter::translate(), and Qt::transparent.

Referenced by QGraphicsScenePrivate::drawItemHelper().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _q_paintItem()

static void _q_paintItem ( QGraphicsItem item,
QPainter painter,
const QStyleOptionGraphicsItem option,
QWidget widget,
bool  useWindowOpacity,
bool  painterStateProtection 
)
static

◆ qt_sendSpontaneousEvent()

QT_BEGIN_NAMESPACE bool qt_sendSpontaneousEvent ( QObject receiver,
QEvent event 
)
related

◆ setClip()

static void setClip ( QPainter painter,
QGraphicsItem item 
)
inlinestatic

Definition at line 4766 of file qgraphicsscene.cpp.

References Qt::IntersectClip, item, painter, QPathClipper::pathToRect(), QPainter::save(), QPainter::setClipPath(), QPainter::setClipRect(), and QGraphicsItem::shape().

Referenced by QGraphicsScenePrivate::draw().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setWorldTransform()

static void setWorldTransform ( QPainter painter,
const QTransform *const  transformPtr,
const QTransform effectTransform 
)
inlinestatic

Definition at line 4777 of file qgraphicsscene.cpp.

References painter, Q_ASSERT, and QPainter::setWorldTransform().

Referenced by QGraphicsScenePrivate::draw().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ transformIsSimple()

static bool transformIsSimple ( const QTransform transform)
inlinestatic

Definition at line 4271 of file qgraphicsscene.cpp.

References QTransform::TxRotate, and QTransform::TxScale.

Referenced by QGraphicsScenePrivate::drawItemHelper().

+ Here is the caller graph for this function:

◆ updateHelper()

static bool updateHelper ( QGraphicsViewPrivate view,
QGraphicsItemPrivate item,
const QRectF rect,
bool  itemIsUntransformable 
)
inlinestatic

Definition at line 5010 of file qgraphicsscene.cpp.

References QGraphicsItem::deviceTransform(), QTransform::dx(), QTransform::dy(), QGraphicsView::isTransformed(), item, QTransform::mapRect(), Q_ASSERT, rect, QGraphicsItem::sceneTransform(), view, QGraphicsView::viewportTransform(), and xform.

Referenced by QGraphicsScenePrivate::processDirtyItemsRecursive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: