Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qgraphicsscene.cpp File Reference

(c26994ff1551aa5450383cc51bed9b4d39f973f7)

#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 <QtCore/qpointer.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 223 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 4229 of file qgraphicsscene.cpp.

References _q_paintItem(), QPainter::CompositionMode_Source, QRect::contains(), QPixmap::devicePixelRatio(), QPixmap::fill(), item, pix, QPixmap::rect(), QRect::size(), QRect::topLeft(), 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 4769 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 4780 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 4274 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 5013 of file qgraphicsscene.cpp.

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

Referenced by QGraphicsScenePrivate::processDirtyItemsRecursive().

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