| /**************************************************************************** |
| ** |
| ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). |
| ** All rights reserved. |
| ** Contact: Nokia Corporation (qt-info@nokia.com) |
| ** |
| ** This file is part of the QtGui module of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:LGPL$ |
| ** GNU Lesser General Public License Usage |
| ** This file may be used under the terms of the GNU Lesser General Public |
| ** License version 2.1 as published by the Free Software Foundation and |
| ** appearing in the file LICENSE.LGPL included in the packaging of this |
| ** file. Please review the following information to ensure the GNU Lesser |
| ** General Public License version 2.1 requirements will be met: |
| ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
| ** |
| ** In addition, as a special exception, Nokia gives you certain additional |
| ** rights. These rights are described in the Nokia Qt LGPL Exception |
| ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
| ** |
| ** GNU General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU General |
| ** Public License version 3.0 as published by the Free Software Foundation |
| ** and appearing in the file LICENSE.GPL included in the packaging of this |
| ** file. Please review the following information to ensure the GNU General |
| ** Public License version 3.0 requirements will be met: |
| ** http://www.gnu.org/copyleft/gpl.html. |
| ** |
| ** Other Usage |
| ** Alternatively, this file may be used in accordance with the terms and |
| ** conditions contained in a signed written agreement between you and Nokia. |
| ** |
| ** |
| ** |
| ** |
| ** |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| #ifndef QGRAPHICSITEM_H |
| #define QGRAPHICSITEM_H |
| |
| #include <QtCore/qglobal.h> |
| #include <QtCore/qobject.h> |
| #include <QtCore/qvariant.h> |
| #include <QtCore/qrect.h> |
| #include <QtCore/qscopedpointer.h> |
| #include <QtGui/qpainterpath.h> |
| #include <QtGui/qpixmap.h> |
| |
| class tst_QGraphicsItem; |
| |
| QT_BEGIN_HEADER |
| |
| QT_BEGIN_NAMESPACE |
| |
| QT_MODULE(Gui) |
| |
| #if !defined(QT_NO_GRAPHICSVIEW) || (QT_EDITION & QT_MODULE_GRAPHICSVIEW) != QT_MODULE_GRAPHICSVIEW |
| |
| class QBrush; |
| class QCursor; |
| class QFocusEvent; |
| class QGraphicsEffect; |
| class QGraphicsItemGroup; |
| class QGraphicsObject; |
| class QGraphicsSceneContextMenuEvent; |
| class QGraphicsSceneDragDropEvent; |
| class QGraphicsSceneEvent; |
| class QGraphicsSceneHoverEvent; |
| class QGraphicsSceneMouseEvent; |
| class QGraphicsSceneWheelEvent; |
| class QGraphicsScene; |
| class QGraphicsTransform; |
| class QGraphicsWidget; |
| class QInputMethodEvent; |
| class QKeyEvent; |
| class QMatrix; |
| class QMenu; |
| class QPainter; |
| class QPen; |
| class QPointF; |
| class QRectF; |
| class QStyleOptionGraphicsItem; |
| |
| class QGraphicsItemPrivate; |
| class Q_GUI_EXPORT QGraphicsItem |
| { |
| public: |
| enum GraphicsItemFlag { |
| ItemIsMovable = 0x1, |
| ItemIsSelectable = 0x2, |
| ItemIsFocusable = 0x4, |
| ItemClipsToShape = 0x8, |
| ItemClipsChildrenToShape = 0x10, |
| ItemIgnoresTransformations = 0x20, |
| ItemIgnoresParentOpacity = 0x40, |
| ItemDoesntPropagateOpacityToChildren = 0x80, |
| ItemStacksBehindParent = 0x100, |
| ItemUsesExtendedStyleOption = 0x200, |
| ItemHasNoContents = 0x400, |
| ItemSendsGeometryChanges = 0x800, |
| ItemAcceptsInputMethod = 0x1000, |
| ItemNegativeZStacksBehindParent = 0x2000, |
| ItemIsPanel = 0x4000, |
| ItemIsFocusScope = 0x8000, // internal |
| ItemSendsScenePositionChanges = 0x10000, |
| ItemStopsClickFocusPropagation = 0x20000, |
| ItemStopsFocusHandling = 0x40000 |
| // NB! Don't forget to increase the d_ptr->flags bit field by 1 when adding a new flag. |
| }; |
| Q_DECLARE_FLAGS(GraphicsItemFlags, GraphicsItemFlag) |
| |
| enum GraphicsItemChange { |
| ItemPositionChange, |
| ItemMatrixChange, |
| ItemVisibleChange, |
| ItemEnabledChange, |
| ItemSelectedChange, |
| ItemParentChange, |
| ItemChildAddedChange, |
| ItemChildRemovedChange, |
| ItemTransformChange, |
| ItemPositionHasChanged, |
| ItemTransformHasChanged, |
| ItemSceneChange, |
| ItemVisibleHasChanged, |
| ItemEnabledHasChanged, |
| ItemSelectedHasChanged, |
| ItemParentHasChanged, |
| ItemSceneHasChanged, |
| ItemCursorChange, |
| ItemCursorHasChanged, |
| ItemToolTipChange, |
| ItemToolTipHasChanged, |
| ItemFlagsChange, |
| ItemFlagsHaveChanged, |
| ItemZValueChange, |
| ItemZValueHasChanged, |
| ItemOpacityChange, |
| ItemOpacityHasChanged, |
| ItemScenePositionHasChanged, |
| ItemRotationChange, |
| ItemRotationHasChanged, |
| ItemScaleChange, |
| ItemScaleHasChanged, |
| ItemTransformOriginPointChange, |
| ItemTransformOriginPointHasChanged |
| }; |
| |
| enum CacheMode { |
| NoCache, |
| ItemCoordinateCache, |
| DeviceCoordinateCache |
| }; |
| |
| enum PanelModality |
| { |
| NonModal, |
| PanelModal, |
| SceneModal |
| }; |
| |
| QGraphicsItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| virtual ~QGraphicsItem(); |
| |
| QGraphicsScene *scene() const; |
| |
| QGraphicsItem *parentItem() const; |
| QGraphicsItem *topLevelItem() const; |
| QGraphicsObject *parentObject() const; |
| QGraphicsWidget *parentWidget() const; |
| QGraphicsWidget *topLevelWidget() const; |
| QGraphicsWidget *window() const; |
| QGraphicsItem *panel() const; |
| void setParentItem(QGraphicsItem *parent); |
| QList<QGraphicsItem *> children() const; // ### obsolete |
| QList<QGraphicsItem *> childItems() const; |
| bool isWidget() const; |
| bool isWindow() const; |
| bool isPanel() const; |
| |
| QGraphicsObject *toGraphicsObject(); |
| const QGraphicsObject *toGraphicsObject() const; |
| |
| QGraphicsItemGroup *group() const; |
| void setGroup(QGraphicsItemGroup *group); |
| |
| GraphicsItemFlags flags() const; |
| void setFlag(GraphicsItemFlag flag, bool enabled = true); |
| void setFlags(GraphicsItemFlags flags); |
| |
| CacheMode cacheMode() const; |
| void setCacheMode(CacheMode mode, const QSize &cacheSize = QSize()); |
| |
| PanelModality panelModality() const; |
| void setPanelModality(PanelModality panelModality); |
| bool isBlockedByModalPanel(QGraphicsItem **blockingPanel = 0) const; |
| |
| #ifndef QT_NO_TOOLTIP |
| QString toolTip() const; |
| void setToolTip(const QString &toolTip); |
| #endif |
| |
| #ifndef QT_NO_CURSOR |
| QCursor cursor() const; |
| void setCursor(const QCursor &cursor); |
| bool hasCursor() const; |
| void unsetCursor(); |
| #endif |
| |
| bool isVisible() const; |
| bool isVisibleTo(const QGraphicsItem *parent) const; |
| void setVisible(bool visible); |
| inline void hide() { setVisible(false); } |
| inline void show() { setVisible(true); } |
| |
| bool isEnabled() const; |
| void setEnabled(bool enabled); |
| |
| bool isSelected() const; |
| void setSelected(bool selected); |
| |
| bool acceptDrops() const; |
| void setAcceptDrops(bool on); |
| |
| qreal opacity() const; |
| qreal effectiveOpacity() const; |
| void setOpacity(qreal opacity); |
| |
| #ifndef QT_NO_GRAPHICSEFFECT |
| // Effect |
| QGraphicsEffect *graphicsEffect() const; |
| void setGraphicsEffect(QGraphicsEffect *effect); |
| #endif //QT_NO_GRAPHICSEFFECT |
| |
| Qt::MouseButtons acceptedMouseButtons() const; |
| void setAcceptedMouseButtons(Qt::MouseButtons buttons); |
| |
| bool acceptsHoverEvents() const; // ### obsolete |
| void setAcceptsHoverEvents(bool enabled); // ### obsolete |
| bool acceptHoverEvents() const; |
| void setAcceptHoverEvents(bool enabled); |
| bool acceptTouchEvents() const; |
| void setAcceptTouchEvents(bool enabled); |
| |
| bool filtersChildEvents() const; |
| void setFiltersChildEvents(bool enabled); |
| |
| bool handlesChildEvents() const; |
| void setHandlesChildEvents(bool enabled); |
| |
| bool isActive() const; |
| void setActive(bool active); |
| |
| bool hasFocus() const; |
| void setFocus(Qt::FocusReason focusReason = Qt::OtherFocusReason); |
| void clearFocus(); |
| |
| QGraphicsItem *focusProxy() const; |
| void setFocusProxy(QGraphicsItem *item); |
| |
| QGraphicsItem *focusItem() const; |
| QGraphicsItem *focusScopeItem() const; |
| |
| void grabMouse(); |
| void ungrabMouse(); |
| void grabKeyboard(); |
| void ungrabKeyboard(); |
| |
| // Positioning in scene coordinates |
| QPointF pos() const; |
| inline qreal x() const { return pos().x(); } |
| void setX(qreal x); |
| inline qreal y() const { return pos().y(); } |
| void setY(qreal y); |
| QPointF scenePos() const; |
| void setPos(const QPointF &pos); |
| inline void setPos(qreal x, qreal y); |
| inline void moveBy(qreal dx, qreal dy) { setPos(pos().x() + dx, pos().y() + dy); } |
| |
| void ensureVisible(const QRectF &rect = QRectF(), int xmargin = 50, int ymargin = 50); |
| inline void ensureVisible(qreal x, qreal y, qreal w, qreal h, int xmargin = 50, int ymargin = 50); |
| |
| // Local transformation |
| QMatrix matrix() const; |
| QMatrix sceneMatrix() const; |
| void setMatrix(const QMatrix &matrix, bool combine = false); |
| void resetMatrix(); |
| QTransform transform() const; |
| QTransform sceneTransform() const; |
| QTransform deviceTransform(const QTransform &viewportTransform) const; |
| QTransform itemTransform(const QGraphicsItem *other, bool *ok = 0) const; |
| void setTransform(const QTransform &matrix, bool combine = false); |
| void resetTransform(); |
| |
| void rotate(qreal angle); // ### obsolete |
| void scale(qreal sx, qreal sy); // ### obsolete |
| void shear(qreal sh, qreal sv); // ### obsolete |
| void translate(qreal dx, qreal dy); // ### obsolete |
| |
| void setRotation(qreal angle); |
| qreal rotation() const; |
| |
| void setScale(qreal scale); |
| qreal scale() const; |
| |
| QList<QGraphicsTransform *> transformations() const; |
| void setTransformations(const QList<QGraphicsTransform *> &transformations); |
| |
| QPointF transformOriginPoint() const; |
| void setTransformOriginPoint(const QPointF &origin); |
| inline void setTransformOriginPoint(qreal ax, qreal ay) |
| { setTransformOriginPoint(QPointF(ax,ay)); } |
| |
| virtual void advance(int phase); |
| |
| // Stacking order |
| qreal zValue() const; |
| void setZValue(qreal z); |
| void stackBefore(const QGraphicsItem *sibling); |
| |
| // Hit test |
| virtual QRectF boundingRect() const = 0; |
| QRectF childrenBoundingRect() const; |
| QRectF sceneBoundingRect() const; |
| virtual QPainterPath shape() const; |
| bool isClipped() const; |
| QPainterPath clipPath() const; |
| virtual bool contains(const QPointF &point) const; |
| virtual bool collidesWithItem(const QGraphicsItem *other, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const; |
| virtual bool collidesWithPath(const QPainterPath &path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const; |
| QList<QGraphicsItem *> collidingItems(Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const; |
| bool isObscured() const; |
| bool isObscured(const QRectF &rect) const; // ### Qt 5: merge with isObscured(), add QRectF arg to isObscuredBy() |
| inline bool isObscured(qreal x, qreal y, qreal w, qreal h) const; |
| virtual bool isObscuredBy(const QGraphicsItem *item) const; |
| virtual QPainterPath opaqueArea() const; |
| |
| QRegion boundingRegion(const QTransform &itemToDeviceTransform) const; |
| qreal boundingRegionGranularity() const; |
| void setBoundingRegionGranularity(qreal granularity); |
| |
| // Drawing |
| virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) = 0; |
| void update(const QRectF &rect = QRectF()); |
| inline void update(qreal x, qreal y, qreal width, qreal height); |
| void scroll(qreal dx, qreal dy, const QRectF &rect = QRectF()); |
| |
| // Coordinate mapping |
| QPointF mapToItem(const QGraphicsItem *item, const QPointF &point) const; |
| QPointF mapToParent(const QPointF &point) const; |
| QPointF mapToScene(const QPointF &point) const; |
| QPolygonF mapToItem(const QGraphicsItem *item, const QRectF &rect) const; |
| QPolygonF mapToParent(const QRectF &rect) const; |
| QPolygonF mapToScene(const QRectF &rect) const; |
| QRectF mapRectToItem(const QGraphicsItem *item, const QRectF &rect) const; |
| QRectF mapRectToParent(const QRectF &rect) const; |
| QRectF mapRectToScene(const QRectF &rect) const; |
| QPolygonF mapToItem(const QGraphicsItem *item, const QPolygonF &polygon) const; |
| QPolygonF mapToParent(const QPolygonF &polygon) const; |
| QPolygonF mapToScene(const QPolygonF &polygon) const; |
| QPainterPath mapToItem(const QGraphicsItem *item, const QPainterPath &path) const; |
| QPainterPath mapToParent(const QPainterPath &path) const; |
| QPainterPath mapToScene(const QPainterPath &path) const; |
| QPointF mapFromItem(const QGraphicsItem *item, const QPointF &point) const; |
| QPointF mapFromParent(const QPointF &point) const; |
| QPointF mapFromScene(const QPointF &point) const; |
| QPolygonF mapFromItem(const QGraphicsItem *item, const QRectF &rect) const; |
| QPolygonF mapFromParent(const QRectF &rect) const; |
| QPolygonF mapFromScene(const QRectF &rect) const; |
| QRectF mapRectFromItem(const QGraphicsItem *item, const QRectF &rect) const; |
| QRectF mapRectFromParent(const QRectF &rect) const; |
| QRectF mapRectFromScene(const QRectF &rect) const; |
| QPolygonF mapFromItem(const QGraphicsItem *item, const QPolygonF &polygon) const; |
| QPolygonF mapFromParent(const QPolygonF &polygon) const; |
| QPolygonF mapFromScene(const QPolygonF &polygon) const; |
| QPainterPath mapFromItem(const QGraphicsItem *item, const QPainterPath &path) const; |
| QPainterPath mapFromParent(const QPainterPath &path) const; |
| QPainterPath mapFromScene(const QPainterPath &path) const; |
| |
| inline QPointF mapToItem(const QGraphicsItem *item, qreal x, qreal y) const; |
| inline QPointF mapToParent(qreal x, qreal y) const; |
| inline QPointF mapToScene(qreal x, qreal y) const; |
| inline QPolygonF mapToItem(const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const; |
| inline QPolygonF mapToParent(qreal x, qreal y, qreal w, qreal h) const; |
| inline QPolygonF mapToScene(qreal x, qreal y, qreal w, qreal h) const; |
| inline QRectF mapRectToItem(const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const; |
| inline QRectF mapRectToParent(qreal x, qreal y, qreal w, qreal h) const; |
| inline QRectF mapRectToScene(qreal x, qreal y, qreal w, qreal h) const; |
| inline QPointF mapFromItem(const QGraphicsItem *item, qreal x, qreal y) const; |
| inline QPointF mapFromParent(qreal x, qreal y) const; |
| inline QPointF mapFromScene(qreal x, qreal y) const; |
| inline QPolygonF mapFromItem(const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const; |
| inline QPolygonF mapFromParent(qreal x, qreal y, qreal w, qreal h) const; |
| inline QPolygonF mapFromScene(qreal x, qreal y, qreal w, qreal h) const; |
| inline QRectF mapRectFromItem(const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const; |
| inline QRectF mapRectFromParent(qreal x, qreal y, qreal w, qreal h) const; |
| inline QRectF mapRectFromScene(qreal x, qreal y, qreal w, qreal h) const; |
| |
| bool isAncestorOf(const QGraphicsItem *child) const; |
| QGraphicsItem *commonAncestorItem(const QGraphicsItem *other) const; |
| bool isUnderMouse() const; |
| |
| // Custom data |
| QVariant data(int key) const; |
| void setData(int key, const QVariant &value); |
| |
| Qt::InputMethodHints inputMethodHints() const; |
| void setInputMethodHints(Qt::InputMethodHints hints); |
| |
| enum { |
| Type = 1, |
| UserType = 65536 |
| }; |
| virtual int type() const; |
| |
| void installSceneEventFilter(QGraphicsItem *filterItem); |
| void removeSceneEventFilter(QGraphicsItem *filterItem); |
| |
| protected: |
| void updateMicroFocus(); |
| virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event); |
| virtual bool sceneEvent(QEvent *event); |
| virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); |
| virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *event); |
| virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent *event); |
| virtual void dragMoveEvent(QGraphicsSceneDragDropEvent *event); |
| virtual void dropEvent(QGraphicsSceneDragDropEvent *event); |
| virtual void focusInEvent(QFocusEvent *event); |
| virtual void focusOutEvent(QFocusEvent *event); |
| virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event); |
| virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event); |
| virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); |
| virtual void keyPressEvent(QKeyEvent *event); |
| virtual void keyReleaseEvent(QKeyEvent *event); |
| virtual void mousePressEvent(QGraphicsSceneMouseEvent *event); |
| virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event); |
| virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); |
| virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event); |
| virtual void wheelEvent(QGraphicsSceneWheelEvent *event); |
| virtual void inputMethodEvent(QInputMethodEvent *event); |
| virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const; |
| |
| virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value); |
| |
| enum Extension { |
| UserExtension = 0x80000000 |
| }; |
| virtual bool supportsExtension(Extension extension) const; |
| virtual void setExtension(Extension extension, const QVariant &variant); |
| virtual QVariant extension(const QVariant &variant) const; |
| |
| protected: |
| QGraphicsItem(QGraphicsItemPrivate &dd, |
| QGraphicsItem *parent, QGraphicsScene *scene); |
| QScopedPointer<QGraphicsItemPrivate> d_ptr; |
| |
| void addToIndex(); |
| void removeFromIndex(); |
| void prepareGeometryChange(); |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsItem) |
| Q_DECLARE_PRIVATE(QGraphicsItem) |
| friend class QGraphicsItemGroup; |
| friend class QGraphicsScene; |
| friend class QGraphicsScenePrivate; |
| friend class QGraphicsSceneFindItemBspTreeVisitor; |
| friend class QGraphicsSceneBspTree; |
| friend class QGraphicsView; |
| friend class QGraphicsViewPrivate; |
| friend class QGraphicsObject; |
| friend class QGraphicsWidget; |
| friend class QGraphicsWidgetPrivate; |
| friend class QGraphicsProxyWidgetPrivate; |
| friend class QGraphicsSceneIndex; |
| friend class QGraphicsSceneIndexPrivate; |
| friend class QGraphicsSceneBspTreeIndex; |
| friend class QGraphicsSceneBspTreeIndexPrivate; |
| friend class QGraphicsItemEffectSourcePrivate; |
| friend class QGraphicsTransformPrivate; |
| #ifndef QT_NO_GESTURES |
| friend class QGestureManager; |
| #endif |
| friend class ::tst_QGraphicsItem; |
| friend bool qt_closestLeaf(const QGraphicsItem *, const QGraphicsItem *); |
| friend bool qt_closestItemFirst(const QGraphicsItem *, const QGraphicsItem *); |
| }; |
| |
| Q_DECLARE_OPERATORS_FOR_FLAGS(QGraphicsItem::GraphicsItemFlags) |
| Q_DECLARE_INTERFACE(QGraphicsItem, "com.trolltech.Qt.QGraphicsItem") |
| |
| inline void QGraphicsItem::setPos(qreal ax, qreal ay) |
| { setPos(QPointF(ax, ay)); } |
| inline void QGraphicsItem::ensureVisible(qreal ax, qreal ay, qreal w, qreal h, int xmargin, int ymargin) |
| { ensureVisible(QRectF(ax, ay, w, h), xmargin, ymargin); } |
| inline void QGraphicsItem::update(qreal ax, qreal ay, qreal width, qreal height) |
| { update(QRectF(ax, ay, width, height)); } |
| inline bool QGraphicsItem::isObscured(qreal ax, qreal ay, qreal w, qreal h) const |
| { return isObscured(QRectF(ax, ay, w, h)); } |
| inline QPointF QGraphicsItem::mapToItem(const QGraphicsItem *item, qreal ax, qreal ay) const |
| { return mapToItem(item, QPointF(ax, ay)); } |
| inline QPointF QGraphicsItem::mapToParent(qreal ax, qreal ay) const |
| { return mapToParent(QPointF(ax, ay)); } |
| inline QPointF QGraphicsItem::mapToScene(qreal ax, qreal ay) const |
| { return mapToScene(QPointF(ax, ay)); } |
| inline QPointF QGraphicsItem::mapFromItem(const QGraphicsItem *item, qreal ax, qreal ay) const |
| { return mapFromItem(item, QPointF(ax, ay)); } |
| inline QPointF QGraphicsItem::mapFromParent(qreal ax, qreal ay) const |
| { return mapFromParent(QPointF(ax, ay)); } |
| inline QPointF QGraphicsItem::mapFromScene(qreal ax, qreal ay) const |
| { return mapFromScene(QPointF(ax, ay)); } |
| inline QPolygonF QGraphicsItem::mapToItem(const QGraphicsItem *item, qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapToItem(item, QRectF(ax, ay, w, h)); } |
| inline QPolygonF QGraphicsItem::mapToParent(qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapToParent(QRectF(ax, ay, w, h)); } |
| inline QPolygonF QGraphicsItem::mapToScene(qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapToScene(QRectF(ax, ay, w, h)); } |
| inline QRectF QGraphicsItem::mapRectToItem(const QGraphicsItem *item, qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapRectToItem(item, QRectF(ax, ay, w, h)); } |
| inline QRectF QGraphicsItem::mapRectToParent(qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapRectToParent(QRectF(ax, ay, w, h)); } |
| inline QRectF QGraphicsItem::mapRectToScene(qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapRectToScene(QRectF(ax, ay, w, h)); } |
| inline QPolygonF QGraphicsItem::mapFromItem(const QGraphicsItem *item, qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapFromItem(item, QRectF(ax, ay, w, h)); } |
| inline QPolygonF QGraphicsItem::mapFromParent(qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapFromParent(QRectF(ax, ay, w, h)); } |
| inline QPolygonF QGraphicsItem::mapFromScene(qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapFromScene(QRectF(ax, ay, w, h)); } |
| inline QRectF QGraphicsItem::mapRectFromItem(const QGraphicsItem *item, qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapRectFromItem(item, QRectF(ax, ay, w, h)); } |
| inline QRectF QGraphicsItem::mapRectFromParent(qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapRectFromParent(QRectF(ax, ay, w, h)); } |
| inline QRectF QGraphicsItem::mapRectFromScene(qreal ax, qreal ay, qreal w, qreal h) const |
| { return mapRectFromScene(QRectF(ax, ay, w, h)); } |
| |
| |
| class Q_GUI_EXPORT QGraphicsObject : public QObject, public QGraphicsItem |
| { |
| Q_OBJECT |
| Q_PROPERTY(QGraphicsObject * parent READ parentObject WRITE setParentItem NOTIFY parentChanged DESIGNABLE false) |
| Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity NOTIFY opacityChanged FINAL) |
| Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged) |
| Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL) |
| Q_PROPERTY(QPointF pos READ pos WRITE setPos FINAL) |
| Q_PROPERTY(qreal x READ x WRITE setX NOTIFY xChanged FINAL) |
| Q_PROPERTY(qreal y READ y WRITE setY NOTIFY yChanged FINAL) |
| Q_PROPERTY(qreal z READ zValue WRITE setZValue NOTIFY zChanged FINAL) |
| Q_PROPERTY(qreal rotation READ rotation WRITE setRotation NOTIFY rotationChanged) |
| Q_PROPERTY(qreal scale READ scale WRITE setScale NOTIFY scaleChanged) |
| Q_PROPERTY(QPointF transformOriginPoint READ transformOriginPoint WRITE setTransformOriginPoint) |
| #ifndef QT_NO_GRAPHICSEFFECT |
| Q_PROPERTY(QGraphicsEffect *effect READ graphicsEffect WRITE setGraphicsEffect) |
| #endif |
| Q_PRIVATE_PROPERTY(QGraphicsItem::d_func(), QDeclarativeListProperty<QGraphicsObject> children READ childrenList DESIGNABLE false NOTIFY childrenChanged) |
| Q_PRIVATE_PROPERTY(QGraphicsItem::d_func(), qreal width READ width WRITE setWidth NOTIFY widthChanged RESET resetWidth FINAL) |
| Q_PRIVATE_PROPERTY(QGraphicsItem::d_func(), qreal height READ height WRITE setHeight NOTIFY heightChanged RESET resetHeight FINAL) |
| Q_CLASSINFO("DefaultProperty", "children") |
| Q_INTERFACES(QGraphicsItem) |
| public: |
| QGraphicsObject(QGraphicsItem *parent = 0); |
| |
| // ### Qt 5: Disambiguate |
| #ifdef Q_NO_USING_KEYWORD |
| const QObjectList &children() const { return QObject::children(); } |
| #else |
| using QObject::children; |
| #endif |
| |
| #ifndef QT_NO_GESTURES |
| void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags()); |
| void ungrabGesture(Qt::GestureType type); |
| #endif |
| |
| protected Q_SLOTS: |
| void updateMicroFocus(); |
| |
| Q_SIGNALS: |
| void parentChanged(); |
| void opacityChanged(); |
| void visibleChanged(); |
| void enabledChanged(); |
| void xChanged(); |
| void yChanged(); |
| void zChanged(); |
| void rotationChanged(); |
| void scaleChanged(); |
| void childrenChanged(); |
| void widthChanged(); |
| void heightChanged(); |
| |
| protected: |
| QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent, QGraphicsScene *scene); |
| private: |
| friend class QGraphicsItem; |
| friend class QGraphicsItemPrivate; |
| }; |
| |
| |
| class QAbstractGraphicsShapeItemPrivate; |
| class Q_GUI_EXPORT QAbstractGraphicsShapeItem : public QGraphicsItem |
| { |
| public: |
| QAbstractGraphicsShapeItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QAbstractGraphicsShapeItem(); |
| |
| QPen pen() const; |
| void setPen(const QPen &pen); |
| |
| QBrush brush() const; |
| void setBrush(const QBrush &brush); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| protected: |
| QAbstractGraphicsShapeItem(QAbstractGraphicsShapeItemPrivate &dd, |
| QGraphicsItem *parent, QGraphicsScene *scene); |
| |
| private: |
| Q_DISABLE_COPY(QAbstractGraphicsShapeItem) |
| Q_DECLARE_PRIVATE(QAbstractGraphicsShapeItem) |
| }; |
| |
| class QGraphicsPathItemPrivate; |
| class Q_GUI_EXPORT QGraphicsPathItem : public QAbstractGraphicsShapeItem |
| { |
| public: |
| QGraphicsPathItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsPathItem(const QPainterPath &path, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QGraphicsPathItem(); |
| |
| QPainterPath path() const; |
| void setPath(const QPainterPath &path); |
| |
| QRectF boundingRect() const; |
| QPainterPath shape() const; |
| bool contains(const QPointF &point) const; |
| |
| void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| enum { Type = 2 }; |
| int type() const; |
| |
| protected: |
| bool supportsExtension(Extension extension) const; |
| void setExtension(Extension extension, const QVariant &variant); |
| QVariant extension(const QVariant &variant) const; |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsPathItem) |
| Q_DECLARE_PRIVATE(QGraphicsPathItem) |
| }; |
| |
| class QGraphicsRectItemPrivate; |
| class Q_GUI_EXPORT QGraphicsRectItem : public QAbstractGraphicsShapeItem |
| { |
| public: |
| QGraphicsRectItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsRectItem(const QRectF &rect, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsRectItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QGraphicsRectItem(); |
| |
| QRectF rect() const; |
| void setRect(const QRectF &rect); |
| inline void setRect(qreal x, qreal y, qreal w, qreal h); |
| |
| QRectF boundingRect() const; |
| QPainterPath shape() const; |
| bool contains(const QPointF &point) const; |
| |
| void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| enum { Type = 3 }; |
| int type() const; |
| |
| protected: |
| bool supportsExtension(Extension extension) const; |
| void setExtension(Extension extension, const QVariant &variant); |
| QVariant extension(const QVariant &variant) const; |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsRectItem) |
| Q_DECLARE_PRIVATE(QGraphicsRectItem) |
| }; |
| |
| inline void QGraphicsRectItem::setRect(qreal ax, qreal ay, qreal w, qreal h) |
| { setRect(QRectF(ax, ay, w, h)); } |
| |
| class QGraphicsEllipseItemPrivate; |
| class Q_GUI_EXPORT QGraphicsEllipseItem : public QAbstractGraphicsShapeItem |
| { |
| public: |
| QGraphicsEllipseItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsEllipseItem(const QRectF &rect, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsEllipseItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QGraphicsEllipseItem(); |
| |
| QRectF rect() const; |
| void setRect(const QRectF &rect); |
| inline void setRect(qreal x, qreal y, qreal w, qreal h); |
| |
| int startAngle() const; |
| void setStartAngle(int angle); |
| |
| int spanAngle() const; |
| void setSpanAngle(int angle); |
| |
| QRectF boundingRect() const; |
| QPainterPath shape() const; |
| bool contains(const QPointF &point) const; |
| |
| void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| enum { Type = 4 }; |
| int type() const; |
| |
| protected: |
| bool supportsExtension(Extension extension) const; |
| void setExtension(Extension extension, const QVariant &variant); |
| QVariant extension(const QVariant &variant) const; |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsEllipseItem) |
| Q_DECLARE_PRIVATE(QGraphicsEllipseItem) |
| }; |
| |
| inline void QGraphicsEllipseItem::setRect(qreal ax, qreal ay, qreal w, qreal h) |
| { setRect(QRectF(ax, ay, w, h)); } |
| |
| class QGraphicsPolygonItemPrivate; |
| class Q_GUI_EXPORT QGraphicsPolygonItem : public QAbstractGraphicsShapeItem |
| { |
| public: |
| QGraphicsPolygonItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsPolygonItem(const QPolygonF &polygon, |
| QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QGraphicsPolygonItem(); |
| |
| QPolygonF polygon() const; |
| void setPolygon(const QPolygonF &polygon); |
| |
| Qt::FillRule fillRule() const; |
| void setFillRule(Qt::FillRule rule); |
| |
| QRectF boundingRect() const; |
| QPainterPath shape() const; |
| bool contains(const QPointF &point) const; |
| |
| void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| enum { Type = 5 }; |
| int type() const; |
| |
| protected: |
| bool supportsExtension(Extension extension) const; |
| void setExtension(Extension extension, const QVariant &variant); |
| QVariant extension(const QVariant &variant) const; |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsPolygonItem) |
| Q_DECLARE_PRIVATE(QGraphicsPolygonItem) |
| }; |
| |
| class QGraphicsLineItemPrivate; |
| class Q_GUI_EXPORT QGraphicsLineItem : public QGraphicsItem |
| { |
| public: |
| QGraphicsLineItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsLineItem(const QLineF &line, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsLineItem(qreal x1, qreal y1, qreal x2, qreal y2, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QGraphicsLineItem(); |
| |
| QPen pen() const; |
| void setPen(const QPen &pen); |
| |
| QLineF line() const; |
| void setLine(const QLineF &line); |
| inline void setLine(qreal x1, qreal y1, qreal x2, qreal y2) |
| { setLine(QLineF(x1, y1, x2, y2)); } |
| |
| QRectF boundingRect() const; |
| QPainterPath shape() const; |
| bool contains(const QPointF &point) const; |
| |
| void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| enum { Type = 6 }; |
| int type() const; |
| |
| protected: |
| bool supportsExtension(Extension extension) const; |
| void setExtension(Extension extension, const QVariant &variant); |
| QVariant extension(const QVariant &variant) const; |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsLineItem) |
| Q_DECLARE_PRIVATE(QGraphicsLineItem) |
| }; |
| |
| class QGraphicsPixmapItemPrivate; |
| class Q_GUI_EXPORT QGraphicsPixmapItem : public QGraphicsItem |
| { |
| public: |
| enum ShapeMode { |
| MaskShape, |
| BoundingRectShape, |
| HeuristicMaskShape |
| }; |
| |
| QGraphicsPixmapItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QGraphicsPixmapItem(); |
| |
| QPixmap pixmap() const; |
| void setPixmap(const QPixmap &pixmap); |
| |
| Qt::TransformationMode transformationMode() const; |
| void setTransformationMode(Qt::TransformationMode mode); |
| |
| QPointF offset() const; |
| void setOffset(const QPointF &offset); |
| inline void setOffset(qreal x, qreal y); |
| |
| QRectF boundingRect() const; |
| QPainterPath shape() const; |
| bool contains(const QPointF &point) const; |
| |
| void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| enum { Type = 7 }; |
| int type() const; |
| |
| ShapeMode shapeMode() const; |
| void setShapeMode(ShapeMode mode); |
| |
| protected: |
| bool supportsExtension(Extension extension) const; |
| void setExtension(Extension extension, const QVariant &variant); |
| QVariant extension(const QVariant &variant) const; |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsPixmapItem) |
| Q_DECLARE_PRIVATE(QGraphicsPixmapItem) |
| }; |
| |
| inline void QGraphicsPixmapItem::setOffset(qreal ax, qreal ay) |
| { setOffset(QPointF(ax, ay)); } |
| |
| class QGraphicsTextItemPrivate; |
| class QTextDocument; |
| class QTextCursor; |
| class Q_GUI_EXPORT QGraphicsTextItem : public QGraphicsObject |
| { |
| Q_OBJECT |
| QDOC_PROPERTY(bool openExternalLinks READ openExternalLinks WRITE setOpenExternalLinks) |
| QDOC_PROPERTY(QTextCursor textCursor READ textCursor WRITE setTextCursor) |
| |
| public: |
| QGraphicsTextItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsTextItem(const QString &text, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QGraphicsTextItem(); |
| |
| QString toHtml() const; |
| void setHtml(const QString &html); |
| |
| QString toPlainText() const; |
| void setPlainText(const QString &text); |
| |
| QFont font() const; |
| void setFont(const QFont &font); |
| |
| void setDefaultTextColor(const QColor &c); |
| QColor defaultTextColor() const; |
| |
| QRectF boundingRect() const; |
| QPainterPath shape() const; |
| bool contains(const QPointF &point) const; |
| |
| void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| enum { Type = 8 }; |
| int type() const; |
| |
| void setTextWidth(qreal width); |
| qreal textWidth() const; |
| |
| void adjustSize(); |
| |
| void setDocument(QTextDocument *document); |
| QTextDocument *document() const; |
| |
| void setTextInteractionFlags(Qt::TextInteractionFlags flags); |
| Qt::TextInteractionFlags textInteractionFlags() const; |
| |
| void setTabChangesFocus(bool b); |
| bool tabChangesFocus() const; |
| |
| void setOpenExternalLinks(bool open); |
| bool openExternalLinks() const; |
| |
| void setTextCursor(const QTextCursor &cursor); |
| QTextCursor textCursor() const; |
| |
| Q_SIGNALS: |
| void linkActivated(const QString &); |
| void linkHovered(const QString &); |
| |
| protected: |
| bool sceneEvent(QEvent *event); |
| void mousePressEvent(QGraphicsSceneMouseEvent *event); |
| void mouseMoveEvent(QGraphicsSceneMouseEvent *event); |
| void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); |
| void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event); |
| void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); |
| void keyPressEvent(QKeyEvent *event); |
| void keyReleaseEvent(QKeyEvent *event); |
| void focusInEvent(QFocusEvent *event); |
| void focusOutEvent(QFocusEvent *event); |
| void dragEnterEvent(QGraphicsSceneDragDropEvent *event); |
| void dragLeaveEvent(QGraphicsSceneDragDropEvent *event); |
| void dragMoveEvent(QGraphicsSceneDragDropEvent *event); |
| void dropEvent(QGraphicsSceneDragDropEvent *event); |
| void inputMethodEvent(QInputMethodEvent *event); |
| void hoverEnterEvent(QGraphicsSceneHoverEvent *event); |
| void hoverMoveEvent(QGraphicsSceneHoverEvent *event); |
| void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); |
| |
| QVariant inputMethodQuery(Qt::InputMethodQuery query) const; |
| |
| bool supportsExtension(Extension extension) const; |
| void setExtension(Extension extension, const QVariant &variant); |
| QVariant extension(const QVariant &variant) const; |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsTextItem) |
| Q_PRIVATE_SLOT(dd, void _q_updateBoundingRect(const QSizeF &)) |
| Q_PRIVATE_SLOT(dd, void _q_update(QRectF)) |
| Q_PRIVATE_SLOT(dd, void _q_ensureVisible(QRectF)) |
| QGraphicsTextItemPrivate *dd; |
| friend class QGraphicsTextItemPrivate; |
| }; |
| |
| class QGraphicsSimpleTextItemPrivate; |
| class Q_GUI_EXPORT QGraphicsSimpleTextItem : public QAbstractGraphicsShapeItem |
| { |
| public: |
| QGraphicsSimpleTextItem(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| QGraphicsSimpleTextItem(const QString &text, QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QGraphicsSimpleTextItem(); |
| |
| void setText(const QString &text); |
| QString text() const; |
| |
| void setFont(const QFont &font); |
| QFont font() const; |
| |
| QRectF boundingRect() const; |
| QPainterPath shape() const; |
| bool contains(const QPointF &point) const; |
| |
| void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| enum { Type = 9 }; |
| int type() const; |
| |
| protected: |
| bool supportsExtension(Extension extension) const; |
| void setExtension(Extension extension, const QVariant &variant); |
| QVariant extension(const QVariant &variant) const; |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsSimpleTextItem) |
| Q_DECLARE_PRIVATE(QGraphicsSimpleTextItem) |
| }; |
| |
| class QGraphicsItemGroupPrivate; |
| class Q_GUI_EXPORT QGraphicsItemGroup : public QGraphicsItem |
| { |
| public: |
| QGraphicsItemGroup(QGraphicsItem *parent = 0 |
| #ifndef Q_QDOC |
| // ### obsolete argument |
| , QGraphicsScene *scene = 0 |
| #endif |
| ); |
| ~QGraphicsItemGroup(); |
| |
| void addToGroup(QGraphicsItem *item); |
| void removeFromGroup(QGraphicsItem *item); |
| |
| QRectF boundingRect() const; |
| void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); |
| |
| bool isObscuredBy(const QGraphicsItem *item) const; |
| QPainterPath opaqueArea() const; |
| |
| enum { Type = 10 }; |
| int type() const; |
| |
| private: |
| Q_DISABLE_COPY(QGraphicsItemGroup) |
| Q_DECLARE_PRIVATE(QGraphicsItemGroup) |
| }; |
| |
| template <class T> inline T qgraphicsitem_cast(QGraphicsItem *item) |
| { |
| return int(static_cast<T>(0)->Type) == int(QGraphicsItem::Type) |
| || (item && int(static_cast<T>(0)->Type) == item->type()) ? static_cast<T>(item) : 0; |
| } |
| |
| template <class T> inline T qgraphicsitem_cast(const QGraphicsItem *item) |
| { |
| return int(static_cast<T>(0)->Type) == int(QGraphicsItem::Type) |
| || (item && int(static_cast<T>(0)->Type) == item->type()) ? static_cast<T>(item) : 0; |
| } |
| |
| #ifndef QT_NO_DEBUG_STREAM |
| Q_GUI_EXPORT QDebug operator<<(QDebug debug, QGraphicsItem *item); |
| Q_GUI_EXPORT QDebug operator<<(QDebug debug, QGraphicsObject *item); |
| Q_GUI_EXPORT QDebug operator<<(QDebug debug, QGraphicsItem::GraphicsItemChange change); |
| Q_GUI_EXPORT QDebug operator<<(QDebug debug, QGraphicsItem::GraphicsItemFlag flag); |
| Q_GUI_EXPORT QDebug operator<<(QDebug debug, QGraphicsItem::GraphicsItemFlags flags); |
| #endif |
| |
| QT_END_NAMESPACE |
| |
| Q_DECLARE_METATYPE(QGraphicsItem *) |
| Q_DECLARE_METATYPE(QGraphicsScene *) |
| |
| QT_BEGIN_NAMESPACE |
| |
| #endif // QT_NO_GRAPHICSVIEW |
| |
| QT_END_NAMESPACE |
| |
| QT_END_HEADER |
| |
| #endif // QGRAPHICSITEM_H |