Qt 4.8
Signals | Public Functions | Protected Slots | Protected Functions | Properties | List of all members
QDeclarativePaintedItem Class Referenceabstract

The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cached painting. More...

#include <qdeclarativepainteditem_p.h>

Inheritance diagram for QDeclarativePaintedItem:
QDeclarativeItem QGraphicsObject QDeclarativeParserStatus QObject QGraphicsItem QDeclarativeImplicitSizePaintedItem QDeclarativeTextEdit QDeclarativeTextInput

Signals

void contentsScaleChanged ()
 
void contentsSizeChanged ()
 
void fillColorChanged ()
 
- Signals inherited from QDeclarativeItem
void activeFocusChanged (bool)
 
void baselineOffsetChanged (qreal)
 
void childrenRectChanged (const QRectF &)
 
void clipChanged (bool)
 
void focusChanged (bool)
 
void implicitHeightChanged ()
 
void implicitWidthChanged ()
 
void parentChanged (QDeclarativeItem *)
 
void smoothChanged (bool)
 
void stateChanged (const QString &)
 
void transformOriginChanged (TransformOrigin)
 
- Signals inherited from QGraphicsObject
void childrenChanged ()
 This signal gets emitted whenever the children list changes. More...
 
void enabledChanged ()
 This signal gets emitted whenever the item get's enabled or disabled. More...
 
void heightChanged ()
 
void opacityChanged ()
 This signal gets emitted whenever the opacity of the item changes. More...
 
void parentChanged ()
 This signal gets emitted whenever the parent of the item changes. More...
 
void rotationChanged ()
 This signal gets emitted whenever the roation of the item changes. More...
 
void scaleChanged ()
 This signal is emitted when the scale of the item changes. More...
 
void visibleChanged ()
 This signal gets emitted whenever the visibility of the item changes. More...
 
void widthChanged ()
 
void xChanged ()
 This signal gets emitted whenever the x position of the item changes. More...
 
void yChanged ()
 This signal gets emitted whenever the y position of the item changes. More...
 
void zChanged ()
 This signal gets emitted whenever the z value of the item changes. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 

Public Functions

qreal contentsScale () const
 
QSize contentsSize () const
 
QColor fillColor () const
 
void paint (QPainter *, const QStyleOptionGraphicsItem *, QWidget *)
 
int pixelCacheSize () const
 
 QDeclarativePaintedItem (QDeclarativeItem *parent=0)
 Constructs a new QDeclarativePaintedItem with the given parent. More...
 
void setContentsScale (qreal)
 
void setContentsSize (const QSize &)
 Sets the size of the contents to the given size. More...
 
void setFillColor (const QColor &)
 
void setPixelCacheSize (int pixels)
 
void setSmoothCache (bool on)
 
bool smoothCache () const
 
 ~QDeclarativePaintedItem ()
 Destroys the image item. More...
 
- Public Functions inherited from QDeclarativeItem
qreal baselineOffset () const
 
Q_INVOKABLE QDeclarativeItemchildAt (qreal x, qreal y) const
 Returns the visible child item at point (x, y), which is in this item's coordinate system, or 0 if there is no such item. More...
 
QRectF childrenRect ()
 
bool clip () const
 
Q_INVOKABLE void forceActiveFocus ()
 Forces active focus on the item. More...
 
bool hasActiveFocus () const
 
bool hasFocus () const
 
qreal height () const
 
qreal implicitHeight () const
 
qreal implicitWidth () const
 
bool keepMouseGrab () const
 Returns a value indicating whether mouse input should remain with this item exclusively. More...
 
Q_INVOKABLE QScriptValue mapFromItem (const QScriptValue &item, qreal x, qreal y) const
 Maps the point (x, y), which is in item's coordinate system, to this item's coordinate system, and returns a script value with x and y properties matching the mapped cooordinate. More...
 
Q_INVOKABLE QScriptValue mapToItem (const QScriptValue &item, qreal x, qreal y) const
 Maps the point (x, y), which is in this item's coordinate system, to item's coordinate system, and returns a script value with x and y properties matching the mapped cooordinate. More...
 
QDeclarativeItemparentItem () const
 Returns the QDeclarativeItem parent of this item. More...
 
 QDeclarativeItem (QDeclarativeItem *parent=0)
 Constructs a QDeclarativeItem with the given parent. More...
 
void resetHeight ()
 
void resetWidth ()
 
void setBaselineOffset (qreal)
 
void setClip (bool)
 
void setFocus (bool)
 
void setHeight (qreal)
 
void setKeepMouseGrab (bool)
 The flag indicating whether the mouse should remain with this item is set to keep. More...
 
void setParentItem (QDeclarativeItem *parent)
 
void setSize (const QSizeF &size)
 
void setSmooth (bool)
 Sets whether the item should be drawn with antialiasing and smooth pixmap filtering to smooth. More...
 
void setTransformOrigin (TransformOrigin)
 Set the transform origin. More...
 
void setWidth (qreal)
 
bool smooth () const
 
QDeclarativeListProperty< QGraphicsTransformtransform ()
 
TransformOrigin transformOrigin () const
 
qreal width () const
 
virtual ~QDeclarativeItem ()
 Destroys the QDeclarativeItem. More...
 
- Public Functions inherited from QGraphicsObject
void grabGesture (Qt::GestureType type, Qt::GestureFlags flags=Qt::GestureFlags())
 Subscribes the graphics object to the given gesture with specific flags. More...
 
 QGraphicsObject (QGraphicsItem *parent=0)
 Constructs a QGraphicsObject with parent. More...
 
void ungrabGesture (Qt::GestureType type)
 Unsubscribes the graphics object from the given gesture. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 
- Public Functions inherited from QGraphicsItem
bool acceptDrops () const
 Returns true if this item can accept drag and drop events; otherwise, returns false. More...
 
Qt::MouseButtons acceptedMouseButtons () const
 Returns the mouse buttons that this item accepts mouse events for. More...
 
bool acceptHoverEvents () const
 Returns true if an item accepts hover events (QGraphicsSceneHoverEvent); otherwise, returns false. More...
 
bool acceptsHoverEvents () const
 Call acceptHoverEvents() instead. More...
 
bool acceptTouchEvents () const
 Returns true if an item accepts touch events; otherwise, returns false. More...
 
virtual void advance (int phase)
 This virtual function is called twice for all items by the QGraphicsScene::advance() slot. More...
 
QRegion boundingRegion (const QTransform &itemToDeviceTransform) const
 Returns the bounding region for this item. More...
 
qreal boundingRegionGranularity () const
 Returns the item's bounding region granularity; a value between and including 0 and 1. More...
 
CacheMode cacheMode () const
 Returns the cache mode for this item. More...
 
QList< QGraphicsItem * > childItems () const
 Returns a list of this item's children. More...
 
QList< QGraphicsItem * > children () const
 Use childItems() instead. More...
 
QRectF childrenBoundingRect () const
 Returns the bounding rect of this item's descendants (i.e., its children, their children, etc.) in local coordinates. More...
 
void clearFocus ()
 Takes keyboard input focus from the item. More...
 
QPainterPath clipPath () const
 Returns this item's clip path, or an empty QPainterPath if this item is not clipped. More...
 
virtual bool collidesWithItem (const QGraphicsItem *other, Qt::ItemSelectionMode mode=Qt::IntersectsItemShape) const
 Returns true if this item collides with other; otherwise returns false. More...
 
virtual bool collidesWithPath (const QPainterPath &path, Qt::ItemSelectionMode mode=Qt::IntersectsItemShape) const
 Returns true if this item collides with path. More...
 
QList< QGraphicsItem * > collidingItems (Qt::ItemSelectionMode mode=Qt::IntersectsItemShape) const
 Returns a list of all items that collide with this item. More...
 
QGraphicsItemcommonAncestorItem (const QGraphicsItem *other) const
 Returns the closest common ancestor item of this item and other, or 0 if either other is 0, or there is no common ancestor. More...
 
virtual bool contains (const QPointF &point) const
 Returns true if this item contains point, which is in local coordinates; otherwise, false is returned. More...
 
QCursor cursor () const
 Returns the current cursor shape for the item. More...
 
QVariant data (int key) const
 Returns this item's custom data for the key key as a QVariant. More...
 
QTransform deviceTransform (const QTransform &viewportTransform) const
 Returns this item's device transformation matrix, using viewportTransform to map from scene to device coordinates. More...
 
qreal effectiveOpacity () const
 Returns this item's effective opacity, which is between 0. More...
 
void ensureVisible (const QRectF &rect=QRectF(), int xmargin=50, int ymargin=50)
 If this item is part of a scene that is viewed by a QGraphicsView, this convenience function will attempt to scroll the view to ensure that rect is visible inside the view's viewport. More...
 
void ensureVisible (qreal x, qreal y, qreal w, qreal h, int xmargin=50, int ymargin=50)
 This convenience function is equivalent to calling ensureVisible(QRectF(x, y, w, h), xmargin, ymargin): More...
 
bool filtersChildEvents () const
 Returns true if this item filters child events (i. More...
 
GraphicsItemFlags flags () const
 Returns this item's flags. More...
 
QGraphicsItemfocusItem () const
 If this item, a child or descendant of this item currently has input focus, this function will return a pointer to that item. More...
 
QGraphicsItemfocusProxy () const
 Returns this item's focus proxy, or 0 if this item has no focus proxy. More...
 
QGraphicsItemfocusScopeItem () const
 Returns this item's focus scope item. More...
 
void grabKeyboard ()
 Grabs the keyboard input. More...
 
void grabMouse ()
 Grabs the mouse input. More...
 
QGraphicsEffectgraphicsEffect () const
 Returns a pointer to this item's effect if it has one; otherwise 0. More...
 
QGraphicsItemGroupgroup () const
 Returns a pointer to this item's item group, or 0 if this item is not member of a group. More...
 
bool handlesChildEvents () const
 Returns true if this item handles child events (i. More...
 
bool hasCursor () const
 Returns true if this item has a cursor set; otherwise, false is returned. More...
 
bool hasFocus () const
 Returns true if this item is active, and it or its focus proxy has keyboard input focus; otherwise, returns false. More...
 
void hide ()
 Hides the item. More...
 
Qt::InputMethodHints inputMethodHints () const
 Returns the current input method hints of this item. More...
 
void installSceneEventFilter (QGraphicsItem *filterItem)
 Installs an event filter for this item on filterItem, causing all events for this item to first pass through filterItem's sceneEventFilter() function. More...
 
bool isActive () const
 Returns true if this item is active; otherwise returns false. More...
 
bool isAncestorOf (const QGraphicsItem *child) const
 Returns true if this item is an ancestor of child (i.e., if this item is child's parent, or one of child's parent's ancestors). More...
 
bool isBlockedByModalPanel (QGraphicsItem **blockingPanel=0) const
 Returns true if this item is blocked by a modal panel, false otherwise. More...
 
bool isClipped () const
 Returns true if this item is clipped. More...
 
bool isEnabled () const
 Returns true if the item is enabled; otherwise, false is returned. More...
 
bool isObscured () const
 Returns true if this item's bounding rect is completely obscured by the opaque shape of any of colliding items above it (i.e., with a higher Z value than this item). More...
 
bool isObscured (const QRectF &rect) const
 Returns true if rect is completely obscured by the opaque shape of any of colliding items above it (i. More...
 
bool isObscured (qreal x, qreal y, qreal w, qreal h) const
 This convenience function is equivalent to calling isObscured(QRectF(x, y, w, h)). More...
 
virtual bool isObscuredBy (const QGraphicsItem *item) const
 Returns true if this item's bounding rect is completely obscured by the opaque shape of item. More...
 
bool isPanel () const
 Returns true if the item is a panel; otherwise returns false. More...
 
bool isSelected () const
 Returns true if this item is selected; otherwise, false is returned. More...
 
bool isUnderMouse () const
 Returns true if this item is currently under the mouse cursor in one of the views; otherwise, false is returned. More...
 
bool isVisible () const
 Returns true if the item is visible; otherwise, false is returned. More...
 
bool isVisibleTo (const QGraphicsItem *parent) const
 Returns true if the item is visible to parent; otherwise, false is returned. More...
 
bool isWidget () const
 Returns true if this item is a widget (i. More...
 
bool isWindow () const
 Returns true if the item is a QGraphicsWidget window, otherwise returns false. More...
 
QTransform itemTransform (const QGraphicsItem *other, bool *ok=0) const
 Returns a QTransform that maps coordinates from this item to other. More...
 
QPointF mapFromItem (const QGraphicsItem *item, const QPointF &point) const
 Maps the point point, which is in item's coordinate system, to this item's coordinate system, and returns the mapped coordinate. More...
 
QPolygonF mapFromItem (const QGraphicsItem *item, const QRectF &rect) const
 Maps the rectangle rect, which is in item's coordinate system, to this item's coordinate system, and returns the mapped rectangle as a polygon. More...
 
QPolygonF mapFromItem (const QGraphicsItem *item, const QPolygonF &polygon) const
 Maps the polygon polygon, which is in item's coordinate system, to this item's coordinate system, and returns the mapped polygon. More...
 
QPainterPath mapFromItem (const QGraphicsItem *item, const QPainterPath &path) const
 Maps the path path, which is in item's coordinate system, to this item's coordinate system, and returns the mapped path. More...
 
QPointF mapFromItem (const QGraphicsItem *item, qreal x, qreal y) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This convenience function is equivalent to calling mapFromItem(item, QPointF(x, y)). More...
 
QPolygonF mapFromItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const
 
QPointF mapFromParent (const QPointF &point) const
 Maps the point point, which is in this item's parent's coordinate system, to this item's coordinate system, and returns the mapped coordinate. More...
 
QPolygonF mapFromParent (const QRectF &rect) const
 Maps the rectangle rect, which is in this item's parent's coordinate system, to this item's coordinate system, and returns the mapped rectangle as a polygon. More...
 
QPolygonF mapFromParent (const QPolygonF &polygon) const
 Maps the polygon polygon, which is in this item's parent's coordinate system, to this item's coordinate system, and returns the mapped polygon. More...
 
QPainterPath mapFromParent (const QPainterPath &path) const
 Maps the path path, which is in this item's parent's coordinate system, to this item's coordinate system, and returns the mapped path. More...
 
QPointF mapFromParent (qreal x, qreal y) const
 This convenience function is equivalent to calling mapFromParent(QPointF(x, y)). More...
 
QPolygonF mapFromParent (qreal x, qreal y, qreal w, qreal h) const
 This convenience function is equivalent to calling mapFromItem(QRectF(x, y, w, h)). More...
 
QPointF mapFromScene (const QPointF &point) const
 Maps the point point, which is in this item's scene's coordinate system, to this item's coordinate system, and returns the mapped coordinate. More...
 
QPolygonF mapFromScene (const QRectF &rect) const
 Maps the rectangle rect, which is in this item's scene's coordinate system, to this item's coordinate system, and returns the mapped rectangle as a polygon. More...
 
QPolygonF mapFromScene (const QPolygonF &polygon) const
 Maps the polygon polygon, which is in this item's scene's coordinate system, to this item's coordinate system, and returns the mapped polygon. More...
 
QPainterPath mapFromScene (const QPainterPath &path) const
 Maps the path path, which is in this item's scene's coordinate system, to this item's coordinate system, and returns the mapped path. More...
 
QPointF mapFromScene (qreal x, qreal y) const
 This convenience function is equivalent to calling mapFromScene(QPointF(x, y)). More...
 
QPolygonF mapFromScene (qreal x, qreal y, qreal w, qreal h) const
 This convenience function is equivalent to calling mapFromScene(QRectF(x, y, w, h)). More...
 
QRectF mapRectFromItem (const QGraphicsItem *item, const QRectF &rect) const
 Maps the rectangle rect, which is in item's coordinate system, to this item's coordinate system, and returns the mapped rectangle as a new rectangle (i. More...
 
QRectF mapRectFromItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const
 
QRectF mapRectFromParent (const QRectF &rect) const
 Maps the rectangle rect, which is in this item's parent's coordinate system, to this item's coordinate system, and returns the mapped rectangle as a new rectangle (i. More...
 
QRectF mapRectFromParent (qreal x, qreal y, qreal w, qreal h) const
 This convenience function is equivalent to calling mapRectFromParent(QRectF(x, y, w, h)). More...
 
QRectF mapRectFromScene (const QRectF &rect) const
 Maps the rectangle rect, which is in scene coordinates, to this item's coordinate system, and returns the mapped rectangle as a new rectangle (i. More...
 
QRectF mapRectFromScene (qreal x, qreal y, qreal w, qreal h) const
 This convenience function is equivalent to calling mapRectFromScene(QRectF(x, y, w, h)). More...
 
QRectF mapRectToItem (const QGraphicsItem *item, const QRectF &rect) const
 Maps the rectangle rect, which is in this item's coordinate system, to item's coordinate system, and returns the mapped rectangle as a new rectangle (i. More...
 
QRectF mapRectToItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const
 
QRectF mapRectToParent (const QRectF &rect) const
 Maps the rectangle rect, which is in this item's coordinate system, to its parent's coordinate system, and returns the mapped rectangle as a new rectangle (i. More...
 
QRectF mapRectToParent (qreal x, qreal y, qreal w, qreal h) const
 This convenience function is equivalent to calling mapRectToParent(QRectF(x, y, w, h)). More...
 
QRectF mapRectToScene (const QRectF &rect) const
 Maps the rectangle rect, which is in this item's coordinate system, to the scene coordinate system, and returns the mapped rectangle as a new rectangle (i. More...
 
QRectF mapRectToScene (qreal x, qreal y, qreal w, qreal h) const
 This convenience function is equivalent to calling mapRectToScene(QRectF(x, y, w, h)). More...
 
QPointF mapToItem (const QGraphicsItem *item, const QPointF &point) const
 Maps the point point, which is in this item's coordinate system, to item's coordinate system, and returns the mapped coordinate. More...
 
QPolygonF mapToItem (const QGraphicsItem *item, const QRectF &rect) const
 Maps the rectangle rect, which is in this item's coordinate system, to item's coordinate system, and returns the mapped rectangle as a polygon. More...
 
QPolygonF mapToItem (const QGraphicsItem *item, const QPolygonF &polygon) const
 Maps the polygon polygon, which is in this item's coordinate system, to item's coordinate system, and returns the mapped polygon. More...
 
QPainterPath mapToItem (const QGraphicsItem *item, const QPainterPath &path) const
 Maps the path path, which is in this item's coordinate system, to item's coordinate system, and returns the mapped path. More...
 
QPointF mapToItem (const QGraphicsItem *item, qreal x, qreal y) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This convenience function is equivalent to calling mapToItem(item, QPointF(x, y)). More...
 
QPolygonF mapToItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const
 
QPointF mapToParent (const QPointF &point) const
 Maps the point point, which is in this item's coordinate system, to its parent's coordinate system, and returns the mapped coordinate. More...
 
QPolygonF mapToParent (const QRectF &rect) const
 Maps the rectangle rect, which is in this item's coordinate system, to its parent's coordinate system, and returns the mapped rectangle as a polygon. More...
 
QPolygonF mapToParent (const QPolygonF &polygon) const
 Maps the polygon polygon, which is in this item's coordinate system, to its parent's coordinate system, and returns the mapped polygon. More...
 
QPainterPath mapToParent (const QPainterPath &path) const
 Maps the path path, which is in this item's coordinate system, to its parent's coordinate system, and returns the mapped path. More...
 
QPointF mapToParent (qreal x, qreal y) const
 This convenience function is equivalent to calling mapToParent(QPointF(x, y)). More...
 
QPolygonF mapToParent (qreal x, qreal y, qreal w, qreal h) const
 This convenience function is equivalent to calling mapToParent(QRectF(x, y, w, h)). More...
 
QPointF mapToScene (const QPointF &point) const
 Maps the point point, which is in this item's coordinate system, to the scene's coordinate system, and returns the mapped coordinate. More...
 
QPolygonF mapToScene (const QRectF &rect) const
 Maps the rectangle rect, which is in this item's coordinate system, to the scene's coordinate system, and returns the mapped rectangle as a polygon. More...
 
QPolygonF mapToScene (const QPolygonF &polygon) const
 Maps the polygon polygon, which is in this item's coordinate system, to the scene's coordinate system, and returns the mapped polygon. More...
 
QPainterPath mapToScene (const QPainterPath &path) const
 Maps the path path, which is in this item's coordinate system, to the scene's coordinate system, and returns the mapped path. More...
 
QPointF mapToScene (qreal x, qreal y) const
 This convenience function is equivalent to calling mapToScene(QPointF(x, y)). More...
 
QPolygonF mapToScene (qreal x, qreal y, qreal w, qreal h) const
 This convenience function is equivalent to calling mapToScene(QRectF(x, y, w, h)). More...
 
QMatrix matrix () const
 Returns the item's affine transformation matrix. More...
 
void moveBy (qreal dx, qreal dy)
 Moves the item by dx points horizontally, and dy point vertically. More...
 
qreal opacity () const
 Returns this item's local opacity, which is between 0. More...
 
virtual QPainterPath opaqueArea () const
 This virtual function returns a shape representing the area where this item is opaque. More...
 
QGraphicsItempanel () const
 Returns the item's panel, or 0 if this item does not have a panel. More...
 
PanelModality panelModality () const
 Returns the modality for this item. More...
 
QGraphicsItemparentItem () const
 Returns a pointer to this item's parent item. More...
 
QGraphicsObjectparentObject () const
 Returns a pointer to the item's parent, cast to a QGraphicsObject. More...
 
QGraphicsWidgetparentWidget () const
 Returns a pointer to the item's parent widget. More...
 
QPointF pos () const
 Returns the position of the item in parent coordinates. More...
 
 QGraphicsItem (QGraphicsItem *parent=0)
 Constructs a QGraphicsItem with the given parent item. More...
 
void removeSceneEventFilter (QGraphicsItem *filterItem)
 Removes an event filter on this item from filterItem. More...
 
void resetMatrix ()
 Use resetTransform() instead. More...
 
void resetTransform ()
 Resets this item's transformation matrix to the identity matrix or all the transformation properties to their default values. More...
 
void rotate (qreal angle)
 Use. More...
 
qreal rotation () const
 Returns the clockwise rotation, in degrees, around the Z axis. More...
 
void scale (qreal sx, qreal sy)
 Use. More...
 
qreal scale () const
 Returns the scale factor of the item. More...
 
QGraphicsScenescene () const
 Returns the current scene for the item, or 0 if the item is not stored in a scene. More...
 
QRectF sceneBoundingRect () const
 Returns the bounding rect of this item in scene coordinates, by combining sceneTransform() with boundingRect(). More...
 
QMatrix sceneMatrix () const
 Use sceneTransform() instead. More...
 
QPointF scenePos () const
 Returns the item's position in scene coordinates. More...
 
QTransform sceneTransform () const
 Returns this item's scene transformation matrix. More...
 
void scroll (qreal dx, qreal dy, const QRectF &rect=QRectF())
 Scrolls the contents of rect by dx, dy. More...
 
void setAcceptDrops (bool on)
 If on is true, this item will accept drag and drop events; otherwise, it is transparent for drag and drop events. More...
 
void setAcceptedMouseButtons (Qt::MouseButtons buttons)
 Sets the mouse buttons that this item accepts mouse events for. More...
 
void setAcceptHoverEvents (bool enabled)
 If enabled is true, this item will accept hover events; otherwise, it will ignore them. More...
 
void setAcceptsHoverEvents (bool enabled)
 Use setAcceptHoverEvents(enabled) instead. More...
 
void setAcceptTouchEvents (bool enabled)
 If enabled is true, this item will accept touch events; otherwise, it will ignore them. More...
 
void setActive (bool active)
 If active is true, and the scene is active, this item's panel will be activated. More...
 
void setBoundingRegionGranularity (qreal granularity)
 Sets the bounding region granularity to granularity; a value between and including 0 and 1. More...
 
void setCacheMode (CacheMode mode, const QSize &cacheSize=QSize())
 Sets the item's cache mode to mode. More...
 
void setCursor (const QCursor &cursor)
 Sets the current cursor shape for the item to cursor. More...
 
void setData (int key, const QVariant &value)
 Sets this item's custom data for the key key to value. More...
 
void setEnabled (bool enabled)
 If enabled is true, the item is enabled; otherwise, it is disabled. More...
 
void setFiltersChildEvents (bool enabled)
 If enabled is true, this item is set to filter all events for all its children (i. More...
 
void setFlag (GraphicsItemFlag flag, bool enabled=true)
 If enabled is true, the item flag flag is enabled; otherwise, it is disabled. More...
 
void setFlags (GraphicsItemFlags flags)
 Sets the item flags to flags. More...
 
void setFocus (Qt::FocusReason focusReason=Qt::OtherFocusReason)
 Gives keyboard input focus to this item. More...
 
void setFocusProxy (QGraphicsItem *item)
 Sets the item's focus proxy to item. More...
 
void setGraphicsEffect (QGraphicsEffect *effect)
 Sets effect as the item's effect. More...
 
void setGroup (QGraphicsItemGroup *group)
 Adds this item to the item group group. More...
 
void setHandlesChildEvents (bool enabled)
 If enabled is true, this item is set to handle all events for all its children (i. More...
 
void setInputMethodHints (Qt::InputMethodHints hints)
 Sets the current input method hints of this item to hints. More...
 
void setMatrix (const QMatrix &matrix, bool combine=false)
 Sets the item's affine transformation matrix. More...
 
void setOpacity (qreal opacity)
 Sets this item's local opacity, between 0. More...
 
void setPanelModality (PanelModality panelModality)
 Sets the modality for this item to panelModality. More...
 
void setParentItem (QGraphicsItem *parent)
 Sets this item's parent item to newParent. More...
 
void setPos (const QPointF &pos)
 Sets the position of the item to pos, which is in parent coordinates. More...
 
void setPos (qreal x, qreal y)
 This convenience function is equivalent to calling setPos(QPointF(x, y)). More...
 
void setRotation (qreal angle)
 Sets the clockwise rotation angle, in degrees, around the Z axis. More...
 
void setScale (qreal scale)
 Sets the scale factor of the item. More...
 
void setSelected (bool selected)
 If selected is true and this item is selectable, this item is selected; otherwise, it is unselected. More...
 
void setToolTip (const QString &toolTip)
 Sets the item's tool tip to toolTip. More...
 
void setTransform (const QTransform &matrix, bool combine=false)
 Sets the item's current transformation matrix to matrix. More...
 
void setTransformations (const QList< QGraphicsTransform *> &transformations)
 Sets a list of graphics transformations (QGraphicsTransform) that currently apply to this item. More...
 
void setTransformOriginPoint (const QPointF &origin)
 Sets the origin point for the transformation in item coordinates. More...
 
void setTransformOriginPoint (qreal ax, qreal ay)
 Sets the origin point for the transformation in item coordinates. More...
 
void setVisible (bool visible)
 If visible is true, the item is made visible. More...
 
void setX (qreal x)
 Set's the x coordinate of the item's position. More...
 
void setY (qreal y)
 Set's the y coordinate of the item's position. More...
 
void setZValue (qreal z)
 Sets the Z-value of the item to z. More...
 
virtual QPainterPath shape () const
 Returns the shape of this item as a QPainterPath in local coordinates. More...
 
void shear (qreal sh, qreal sv)
 Use. More...
 
void show ()
 Shows the item. More...
 
void stackBefore (const QGraphicsItem *sibling)
 Stacks this item before sibling, which must be a sibling item (i. More...
 
QGraphicsObjecttoGraphicsObject ()
 Return the graphics item cast to a QGraphicsObject, if the class is actually a graphics object, 0 otherwise. More...
 
const QGraphicsObjecttoGraphicsObject () const
 Return the graphics item cast to a QGraphicsObject, if the class is actually a graphics object, 0 otherwise. More...
 
QString toolTip () const
 Returns the item's tool tip, or an empty QString if no tool tip has been set. More...
 
QGraphicsItemtopLevelItem () const
 Returns this item's top-level item. More...
 
QGraphicsWidgettopLevelWidget () const
 Returns a pointer to the item's top level widget (i. More...
 
QTransform transform () const
 Returns this item's transformation matrix. More...
 
QList< QGraphicsTransform * > transformations () const
 Returns a list of graphics transforms that currently apply to this item. More...
 
QPointF transformOriginPoint () const
 Returns the origin point for the transformation in item coordinates. More...
 
void translate (qreal dx, qreal dy)
 Use setPos() or setTransformOriginPoint() instead. More...
 
virtual int type () const
 Returns the type of an item as an int. More...
 
void ungrabKeyboard ()
 Releases the keyboard grab. More...
 
void ungrabMouse ()
 Releases the mouse grab. More...
 
void unsetCursor ()
 Clears the cursor from this item. More...
 
void update (const QRectF &rect=QRectF())
 Schedules a redraw of the area covered by rect in this item. More...
 
void update (qreal x, qreal y, qreal width, qreal height)
 This convenience function is equivalent to calling update(QRectF(x, y, width, height)). More...
 
QGraphicsWidgetwindow () const
 Returns the item's window, or 0 if this item does not have a window. More...
 
qreal x () const
 This convenience function is equivalent to calling pos(). More...
 
qreal y () const
 This convenience function is equivalent to calling pos(). More...
 
qreal zValue () const
 Returns the Z-value of the item. More...
 
virtual ~QGraphicsItem ()
 Destroys the QGraphicsItem and all its children. More...
 
- Public Functions inherited from QDeclarativeParserStatus
 QDeclarativeParserStatus ()
 
virtual ~QDeclarativeParserStatus ()
 

Protected Slots

void clearCache ()
 Marks the entirety of the contents cache as dirty. More...
 
void dirtyCache (const QRect &)
 Marks areas of the cache that intersect with the given rect as dirty and in need of being refreshed. More...
 
- Protected Slots inherited from QGraphicsObject
void updateMicroFocus ()
 Updates the item's micro focus. More...
 

Protected Functions

QRectF boundingRect () const
 
virtual void drawContents (QPainter *p, const QRect &)=0
 This function is called when the cache needs to be refreshed. More...
 
virtual void geometryChanged (const QRectF &newGeometry, const QRectF &oldGeometry)
 This function is called to handle this item's changes in geometry from oldGeometry to newGeometry. More...
 
virtual QVariant itemChange (GraphicsItemChange change, const QVariant &value)
 Note that unlike QGraphicsItems, QDeclarativeItem::itemChange() is not called during initial widget polishing. More...
 
 QDeclarativePaintedItem (QDeclarativePaintedItemPrivate &dd, QDeclarativeItem *parent)
 Constructs a new QDeclarativePaintedItem with the given parent and initialized private data member dd. More...
 
void setCacheFrozen (bool)
 
- Protected Functions inherited from QDeclarativeItem
virtual void classBegin ()
 
virtual void componentComplete ()
 
virtual bool event (QEvent *)
 
bool heightValid () const
 Returns whether the height property has been set explicitly. More...
 
virtual void inputMethodEvent (QInputMethodEvent *)
 
void inputMethodPreHandler (QInputMethodEvent *)
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const
 
bool isComponentComplete () const
 Returns true if construction of the QML component is complete; otherwise returns false. More...
 
virtual void keyPressEvent (QKeyEvent *event)
 
void keyPressPreHandler (QKeyEvent *)
 
virtual void keyReleaseEvent (QKeyEvent *event)
 
void keyReleasePreHandler (QKeyEvent *)
 
 QDeclarativeItem (QDeclarativeItemPrivate &dd, QDeclarativeItem *parent=0)
 
virtual bool sceneEvent (QEvent *)
 
void setImplicitHeight (qreal)
 Sets the implied height of the item to h. More...
 
void setImplicitWidth (qreal)
 Sets the implied width of the item to w. More...
 
bool widthValid () const
 Returns whether the width property has been set explicitly. More...
 
- Protected Functions inherited from QGraphicsObject
 QGraphicsObject (QGraphicsItemPrivate &dd, QGraphicsItem *parent, QGraphicsScene *scene)
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Functions inherited from QGraphicsItem
void addToIndex ()
 Adds this item to the scene's index. More...
 
virtual void contextMenuEvent (QGraphicsSceneContextMenuEvent *event)
 This event handler can be reimplemented in a subclass to process context menu events. More...
 
virtual void dragEnterEvent (QGraphicsSceneDragDropEvent *event)
 This event handler, for event event, can be reimplemented to receive drag enter events for this item. More...
 
virtual void dragLeaveEvent (QGraphicsSceneDragDropEvent *event)
 This event handler, for event event, can be reimplemented to receive drag leave events for this item. More...
 
virtual void dragMoveEvent (QGraphicsSceneDragDropEvent *event)
 This event handler, for event event, can be reimplemented to receive drag move events for this item. More...
 
virtual void dropEvent (QGraphicsSceneDragDropEvent *event)
 This event handler, for event event, can be reimplemented to receive drop events for this item. More...
 
virtual QVariant extension (const QVariant &variant) const
 Note: This is provided as a hook to avoid future problems related to adding virtual functions. More...
 
virtual void focusInEvent (QFocusEvent *event)
 This event handler, for event event, can be reimplemented to receive focus in events for this item. More...
 
virtual void focusOutEvent (QFocusEvent *event)
 This event handler, for event event, can be reimplemented to receive focus out events for this item. More...
 
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event)
 This event handler, for event event, can be reimplemented to receive hover enter events for this item. More...
 
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event)
 This event handler, for event event, can be reimplemented to receive hover leave events for this item. More...
 
virtual void hoverMoveEvent (QGraphicsSceneHoverEvent *event)
 This event handler, for event event, can be reimplemented to receive hover move events for this item. More...
 
virtual void mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event)
 This event handler, for event event, can be reimplemented to receive mouse doubleclick events for this item. More...
 
virtual void mouseMoveEvent (QGraphicsSceneMouseEvent *event)
 This event handler, for event event, can be reimplemented to receive mouse move events for this item. More...
 
virtual void mousePressEvent (QGraphicsSceneMouseEvent *event)
 This event handler, for event event, can be reimplemented to receive mouse press events for this item. More...
 
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event)
 This event handler, for event event, can be reimplemented to receive mouse release events for this item. More...
 
void prepareGeometryChange ()
 Prepares the item for a geometry change. More...
 
 QGraphicsItem (QGraphicsItemPrivate &dd, QGraphicsItem *parent, QGraphicsScene *scene)
 
void removeFromIndex ()
 Removes this item from the scene's index. More...
 
virtual bool sceneEventFilter (QGraphicsItem *watched, QEvent *event)
 Filters events for the item watched. More...
 
virtual void setExtension (Extension extension, const QVariant &variant)
 Note: This is provided as a hook to avoid future problems related to adding virtual functions. More...
 
virtual bool supportsExtension (Extension extension) const
 Note: This is provided as a hook to avoid future problems related to adding virtual functions. More...
 
void updateMicroFocus ()
 Updates the item's micro focus. More...
 
virtual void wheelEvent (QGraphicsSceneWheelEvent *event)
 This event handler, for event event, can be reimplemented to receive wheel events for this item. More...
 

Properties

qreal contentsScale
 
QSize contentsSize
 The size of the contents. More...
 
QColor fillColor
 The color to be used to fill the item prior to calling drawContents(). More...
 
int pixelCacheSize
 The maximum number of pixels of image cache to allow. More...
 
bool smoothCache
 

Additional Inherited Members

- Public Types inherited from QDeclarativeItem
enum  TransformOrigin {
  TopLeft, Top, TopRight, Left,
  Center, Right, BottomLeft, Bottom,
  BottomRight
}
 Controls the point about which simple transforms like scale apply. More...
 
- Public Types inherited from QGraphicsItem
enum  { Type = 1, UserType = 65536 }
 
enum  CacheMode { NoCache, ItemCoordinateCache, DeviceCoordinateCache }
 This enum describes QGraphicsItem's cache modes. More...
 
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
}
 This enum describes the state changes that are notified by QGraphicsItem::itemChange(). More...
 
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,
  ItemSendsScenePositionChanges = 0x10000, ItemStopsClickFocusPropagation = 0x20000, ItemStopsFocusHandling = 0x40000
}
 This enum describes different flags that you can set on an item to toggle different features in the item's behavior. More...
 
enum  PanelModality { NonModal, PanelModal, SceneModal }
 This enum specifies the behavior of a modal panel. More...
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Types inherited from QGraphicsItem
enum  Extension { UserExtension = 0x80000000 }
 Note: This is provided as a hook to avoid future problems related to adding virtual functions. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Protected Variables inherited from QGraphicsItem
QScopedPointer< QGraphicsItemPrivated_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cached painting.

Warning
This function is not part of the public interface.

This is a convenience class for implementing items that cache their painting. The contents of the item are cached behind the scenes. The dirtyCache() function should be called if the contents change to ensure the cache is refreshed the next time painting occurs.

To subclass QDeclarativePaintedItem, you must reimplement drawContents() to draw the contents of the item.

Definition at line 54 of file qdeclarativepainteditem_p.h.

Constructors and Destructors

◆ QDeclarativePaintedItem() [1/2]

QDeclarativePaintedItem::QDeclarativePaintedItem ( QDeclarativeItem parent = 0)

Constructs a new QDeclarativePaintedItem with the given parent.

Definition at line 188 of file qdeclarativepainteditem.cpp.

190 {
191 }
QDeclarativeItem(QDeclarativeItem *parent=0)
Constructs a QDeclarativeItem with the given parent.

◆ ~QDeclarativePaintedItem()

QDeclarativePaintedItem::~QDeclarativePaintedItem ( )

Destroys the image item.

Definition at line 209 of file qdeclarativepainteditem.cpp.

210 {
211  clearCache();
212 }
void clearCache()
Marks the entirety of the contents cache as dirty.

◆ QDeclarativePaintedItem() [2/2]

QDeclarativePaintedItem::QDeclarativePaintedItem ( QDeclarativePaintedItemPrivate dd,
QDeclarativeItem parent 
)
protected

Constructs a new QDeclarativePaintedItem with the given parent and initialized private data member dd.

Warning
This function is not part of the public interface.

Definition at line 201 of file qdeclarativepainteditem.cpp.

202  : QDeclarativeItem(dd, parent)
203 {
204 }
QDeclarativeItem(QDeclarativeItem *parent=0)
Constructs a QDeclarativeItem with the given parent.

Functions

◆ boundingRect()

QRectF QDeclarativePaintedItem::boundingRect ( ) const
protectedvirtual
Warning
This function is not part of the public interface.

Reimplemented from QDeclarativeItem.

Reimplemented in QDeclarativeTextEdit, and QDeclarativeTextInput.

Definition at line 242 of file qdeclarativepainteditem.cpp.

Referenced by QDeclarativeTextInput::boundingRect(), QDeclarativeTextEdit::boundingRect(), and paint().

243 {
245  qreal w = d->mWidth;
246  QSizeF sz = d->contentsSize * d->contentsScale;
247  if (w < sz.width())
248  w = sz.width();
249  qreal h = d->mHeight;
250  if (h < sz.height())
251  h = sz.height();
252  return QRectF(0.0,0.0,w,h);
253 }
double qreal
Definition: qglobal.h:1193
QDeclarativeParserStatus ** d
qreal width() const
Returns the width.
Definition: qsize.h:284
qreal height() const
Returns the height.
Definition: qsize.h:287
#define Q_D(Class)
Definition: qglobal.h:2482
The QSizeF class defines the size of a two-dimensional object using floating point precision...
Definition: qsize.h:202
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...
The QRectF class defines a rectangle in the plane using floating point precision. ...
Definition: qrect.h:511

◆ clearCache

void QDeclarativePaintedItem::clearCache ( )
protectedslot

Marks the entirety of the contents cache as dirty.

See also
dirtyCache()

Definition at line 130 of file qdeclarativepainteditem.cpp.

Referenced by geometryChanged(), itemChange(), paint(), QDeclarativeTextInput::setColor(), QDeclarativeTextEdit::setColor(), setContentsScale(), setContentsSize(), QDeclarativeTextEdit::setFont(), QDeclarativeTextInput::setSelectedTextColor(), QDeclarativeTextEdit::setSelectedTextColor(), QDeclarativeTextInput::setSelectionColor(), QDeclarativeTextEdit::setSelectionColor(), setSmoothCache(), QDeclarativeTextInput::updateRect(), QDeclarativeTextInput::updateSize(), and ~QDeclarativePaintedItem().

131 {
132  if (inpaint) {
134  return;
135  }
137  qDeleteAll(d->imagecache);
138  d->imagecache.clear();
139 }
static int inpaint_clearcache
static int inpaint
QDeclarativeParserStatus ** d
#define Q_D(Class)
Definition: qglobal.h:2482
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...
Q_OUTOFLINE_TEMPLATE void qDeleteAll(ForwardIterator begin, ForwardIterator end)
Definition: qalgorithms.h:319

◆ contentsScale()

qreal QDeclarativePaintedItem::contentsScale ( ) const

Referenced by setContentsSize().

◆ contentsScaleChanged

void QDeclarativePaintedItem::contentsScaleChanged ( )
signal

Referenced by setContentsScale().

◆ contentsSize()

QSize QDeclarativePaintedItem::contentsSize ( ) const

Referenced by clearCache().

◆ contentsSizeChanged

void QDeclarativePaintedItem::contentsSizeChanged ( )
signal

Referenced by setContentsSize().

◆ dirtyCache

void QDeclarativePaintedItem::dirtyCache ( const QRect rect)
protectedslot

Marks areas of the cache that intersect with the given rect as dirty and in need of being refreshed.

See also
clearCache()

Definition at line 106 of file qdeclarativepainteditem.cpp.

Referenced by QDeclarativeTextEdit::loadCursorDelegate(), QDeclarativeTextEdit::setCursorDelegate(), QDeclarativeTextEdit::updateImgCache(), and QDeclarativeTextInput::updateRect().

107 {
109  QRect srect(qCeil(rect.x()*d->contentsScale),
110  qCeil(rect.y()*d->contentsScale),
111  qCeil(rect.width()*d->contentsScale),
112  qCeil(rect.height()*d->contentsScale));
113  for (int i=0; i < d->imagecache.count(); ) {
115  QRect isect = (c->area & srect) | c->dirty;
116  if (isect == c->area && !inpaint) {
117  delete d->imagecache.takeAt(i);
118  } else {
119  c->dirty = isect;
120  ++i;
121  }
122  }
123 }
static int inpaint
unsigned char c[8]
Definition: qnumeric_p.h:62
QDeclarativeParserStatus ** d
int qCeil(qreal v)
Definition: qmath.h:63
int width() const
Returns the width of the rectangle.
Definition: qrect.h:303
int height() const
Returns the height of the rectangle.
Definition: qrect.h:306
#define Q_D(Class)
Definition: qglobal.h:2482
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...
int y() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:255
int x() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:252
if(void) toggleToolbarShown
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58

◆ drawContents()

void QDeclarativePaintedItem::drawContents ( QPainter painter,
const QRect rect 
)
protectedpure virtual

This function is called when the cache needs to be refreshed.

When sub-classing QDeclarativePaintedItem this function should be implemented so as to paint the contents of the item using the given painter for the area of the contents specified by rect.

Implemented in QDeclarativeTextEdit, QDeclarativeTextInput, and QDeclarativeImplicitSizePaintedItem.

Referenced by paint().

◆ fillColor()

QColor QDeclarativePaintedItem::fillColor ( ) const

Referenced by setFillColor().

◆ fillColorChanged

void QDeclarativePaintedItem::fillColorChanged ( )
signal

Referenced by setFillColor().

◆ geometryChanged()

void QDeclarativePaintedItem::geometryChanged ( const QRectF newGeometry,
const QRectF oldGeometry 
)
protectedvirtual

This function is called to handle this item's changes in geometry from oldGeometry to newGeometry.

If the two geometries are the same, it doesn't do anything.

Reimplemented from QDeclarativeItem.

Reimplemented in QDeclarativeTextEdit, and QDeclarativeTextInput.

Definition at line 214 of file qdeclarativepainteditem.cpp.

Referenced by QDeclarativeTextInput::geometryChanged(), and QDeclarativeTextEdit::geometryChanged().

216 {
217  if (newGeometry.width() != oldGeometry.width() ||
218  newGeometry.height() != oldGeometry.height())
219  clearCache();
220 
221  QDeclarativeItem::geometryChanged(newGeometry, oldGeometry);
222 }
qreal height() const
Returns the height of the rectangle.
Definition: qrect.h:710
qreal width() const
Returns the width of the rectangle.
Definition: qrect.h:707
virtual void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
This function is called to handle this item&#39;s changes in geometry from oldGeometry to newGeometry...
void clearCache()
Marks the entirety of the contents cache as dirty.

◆ itemChange()

QVariant QDeclarativePaintedItem::itemChange ( GraphicsItemChange  change,
const QVariant value 
)
protectedvirtual

Note that unlike QGraphicsItems, QDeclarativeItem::itemChange() is not called during initial widget polishing.

Warning
This function is not part of the public interface.

Items wishing to optimize start-up construction should instead consider using componentComplete().

Reimplemented from QDeclarativeItem.

Definition at line 224 of file qdeclarativepainteditem.cpp.

226 {
227  if (change == ItemVisibleHasChanged)
228  clearCache();
229 
230  return QDeclarativeItem::itemChange(change, value);
231 }
virtual QVariant itemChange(GraphicsItemChange, const QVariant &)
Note that unlike QGraphicsItems, QDeclarativeItem::itemChange() is not called during initial widget p...
void clearCache()
Marks the entirety of the contents cache as dirty.

◆ paint()

void QDeclarativePaintedItem::paint ( QPainter p,
const QStyleOptionGraphicsItem ,
QWidget  
)
virtual
Warning
This function is not part of the public interface.

Reimplemented from QDeclarativeItem.

Definition at line 258 of file qdeclarativepainteditem.cpp.

259 {
261  const QRect content = boundingRect().toRect();
262  if (content.width() <= 0 || content.height() <= 0)
263  return;
264 
265  ++inpaint;
266 
267  const QTransform &x = p->deviceTransform();
268  QTransform xinv = x.inverted();
269  QRegion effectiveClip;
270  QRegion sysClip = p->paintEngine()->systemClip();
271  if (xinv.type() <= QTransform::TxScale && sysClip.numRects() < 5) {
272  // simple transform, region gets no more complicated...
273  effectiveClip = xinv.map(sysClip);
274  } else {
275  // do not make complicated regions...
276  effectiveClip = xinv.mapRect(sysClip.boundingRect());
277  }
278 
279  QRegion topaint = p->clipRegion();
280  if (topaint.isEmpty()) {
281  if (effectiveClip.isEmpty())
282  topaint = QRect(0,0,p->device()->width(),p->device()->height());
283  else
284  topaint = effectiveClip;
285  } else if (!effectiveClip.isEmpty()) {
286  topaint &= effectiveClip;
287  }
288 
289  topaint &= content;
290  QRegion uncached(content);
292 
293  int cachesize=0;
294  for (int i=0; i<d->imagecache.count(); ++i) {
295  QRect area = d->imagecache[i]->area;
296  if (topaint.contains(area)) {
297  QRectF target(area.x(), area.y(), area.width(), area.height());
298  if (!d->cachefrozen) {
299  if (!d->imagecache[i]->dirty.isNull() && topaint.contains(d->imagecache[i]->dirty)) {
300 #ifdef Q_WS_MAC
301  bool oldSmooth = qt_applefontsmoothing_enabled;
303 #endif
304  QPainter qp(&d->imagecache[i]->image);
305 #ifdef Q_WS_MAC
306  qt_applefontsmoothing_enabled = oldSmooth;
307 #endif
309  qp.translate(-area.x(), -area.y());
310  qp.scale(d->contentsScale,d->contentsScale);
311  QRect clip = d->imagecache[i]->dirty;
312  QRect sclip(qFloor(clip.x()/d->contentsScale),
313  qFloor(clip.y()/d->contentsScale),
314  qCeil(clip.width()/d->contentsScale+clip.x()/d->contentsScale-qFloor(clip.x()/d->contentsScale)),
315  qCeil(clip.height()/d->contentsScale+clip.y()/d->contentsScale-qFloor(clip.y()/d->contentsScale)));
316  qp.setClipRect(sclip);
317  if (d->fillColor.isValid()){
318  if(d->fillColor.alpha() < 255){
319  // ### Might not work outside of raster paintengine
320  QPainter::CompositionMode prev = qp.compositionMode();
321  qp.setCompositionMode(QPainter::CompositionMode_Source);
322  qp.fillRect(sclip,d->fillColor);
323  qp.setCompositionMode(prev);
324  }else{
325  qp.fillRect(sclip,d->fillColor);
326  }
327  }
328  drawContents(&qp, sclip);
329  d->imagecache[i]->dirty = QRect();
330  }
331  }
332  p->drawPixmap(target.toRect(), d->imagecache[i]->image);
333  topaint -= area;
334  d->imagecache[i]->age=0;
335  } else {
336  d->imagecache[i]->age++;
337  }
338  cachesize += area.width()*area.height();
339  uncached -= area;
340  }
341 
342  if (!topaint.isEmpty()) {
343  if (!d->cachefrozen) {
344  // Find a sensible larger area, otherwise will paint lots of tiny images.
345  QRect biggerrect = topaint.boundingRect().adjusted(-64,-64,128,128);
346  cachesize += biggerrect.width() * biggerrect.height();
347  while (d->imagecache.count() && cachesize > d->max_imagecache_size) {
348  int oldest=-1;
349  int age=-1;
350  for (int i=0; i<d->imagecache.count(); ++i) {
351  int a = d->imagecache[i]->age;
352  if (a > age) {
353  oldest = i;
354  age = a;
355  }
356  }
357  cachesize -= d->imagecache[oldest]->area.width()*d->imagecache[oldest]->area.height();
358  uncached += d->imagecache[oldest]->area;
359  delete d->imagecache.takeAt(oldest);
360  }
361  const QRegion bigger = QRegion(biggerrect) & uncached;
362  const QVector<QRect> rects = bigger.rects();
363  for (int i = 0; i < rects.count(); ++i) {
364  const QRect &r = rects.at(i);
365  QPixmap img(r.size());
366  if (d->fillColor.isValid())
367  img.fill(d->fillColor);
368  {
369 #ifdef Q_WS_MAC
370  bool oldSmooth = qt_applefontsmoothing_enabled;
372 #endif
373  QPainter qp(&img);
374 #ifdef Q_WS_MAC
375  qt_applefontsmoothing_enabled = oldSmooth;
376 #endif
378 
379  qp.translate(-r.x(),-r.y());
380  qp.scale(d->contentsScale,d->contentsScale);
381  QRect sclip(qFloor(r.x()/d->contentsScale),
382  qFloor(r.y()/d->contentsScale),
383  qCeil(r.width()/d->contentsScale+r.x()/d->contentsScale-qFloor(r.x()/d->contentsScale)),
384  qCeil(r.height()/d->contentsScale+r.y()/d->contentsScale-qFloor(r.y()/d->contentsScale)));
385  drawContents(&qp, sclip);
386  }
388  newitem->area = r;
389  newitem->image = img;
390  d->imagecache.append(newitem);
391  p->drawPixmap(r, newitem->image);
392  }
393  } else {
394  const QVector<QRect> rects = uncached.rects();
395  for (int i = 0; i < rects.count(); ++i)
396  p->fillRect(rects.at(i), Qt::lightGray);
397  }
398  }
399 
400  if (inpaint_clearcache) {
401  clearCache();
402  inpaint_clearcache = 0;
403  }
404 
405  --inpaint;
406 }
The QPainter class performs low-level painting on widgets and other paint devices.
Definition: qpainter.h:86
QPaintDevice * device() const
Returns the paint device on which this painter is currently painting, or 0 if the painter is not acti...
Definition: qpainter.cpp:1530
static int inpaint_clearcache
QT_DEPRECATED int numRects() const
Returns the number of rectangles that will be returned in rects().
Definition: qregion.cpp:4456
QRect adjusted(int x1, int y1, int x2, int y2) const
Returns a new rectangle with dx1, dy1, dx2 and dy2 added respectively to the existing coordinates of ...
Definition: qrect.h:431
static int inpaint
QDeclarativeParserStatus ** d
CompositionMode
Defines the modes supported for digital image compositing.
Definition: qpainter.h:138
int qCeil(qreal v)
Definition: qmath.h:63
int count(const T &t) const
Returns the number of occurrences of value in the vector.
Definition: qvector.h:742
int qFloor(qreal v)
Definition: qmath.h:73
int height() const
Definition: qpaintdevice.h:92
virtual void drawContents(QPainter *p, const QRect &)=0
This function is called when the cache needs to be refreshed.
int width() const
Returns the width of the rectangle.
Definition: qrect.h:303
long ASN1_INTEGER_get ASN1_INTEGER * a
QRect boundingRect() const
Returns the bounding rectangle of this region.
Definition: qregion.cpp:4363
Q_GUI_EXPORT bool qt_applefontsmoothing_enabled
int height() const
Returns the height of the rectangle.
Definition: qrect.h:306
TransformationType type() const
Returns the transformation type of this matrix.
#define Q_D(Class)
Definition: qglobal.h:2482
QTransform inverted(bool *invertible=0) const
Returns an inverted copy of this matrix.
Definition: qtransform.cpp:364
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...
QRegion clipRegion() const
Returns the currently set clip region.
Definition: qpainter.cpp:2562
QRect mapRect(const QRect &) const
Creates and returns a QRect object that is a copy of the given rectangle, mapped into the coordinate ...
int width() const
Definition: qpaintdevice.h:91
The QRectF class defines a rectangle in the plane using floating point precision. ...
Definition: qrect.h:511
bool isEmpty() const
Returns true if the region is empty; otherwise returns false.
Definition: qregion.cpp:4098
QSize size() const
Returns the size of the rectangle.
Definition: qrect.h:309
QPoint map(const QPoint &p) const
Creates and returns a QPoint object that is a copy of the given point, mapped into the coordinate sys...
bool clip() const
bool contains(const QPoint &p) const
Returns true if the region contains the point p; otherwise returns false.
Definition: qregion.cpp:4104
const QTransform & deviceTransform() const
Returns the matrix that transforms from logical coordinates to device coordinates of the platform dep...
Definition: qpainter.cpp:9579
QPaintEngine * paintEngine() const
Returns the paint engine that the painter is currently operating on if the painter is active; otherwi...
Definition: qpainter.cpp:1991
The QRegion class specifies a clip region for a painter.
Definition: qregion.h:68
QRect toRect() const
Returns a QRect based on the values of this rectangle.
Definition: qrect.h:845
const T & at(int i) const
Returns the item at index position i in the vector.
Definition: qvector.h:350
void fill(const QColor &fillColor=Qt::white)
Fills the pixmap with the given color.
Definition: qpixmap.cpp:1080
void setRenderHints(RenderHints hints, bool on=true)
Sets the given render hints on the painter if on is true; otherwise clears the render hints...
Definition: qpainter.cpp:7649
int y() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:255
int x() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:252
qreal x() const
This convenience function is equivalent to calling pos().
QVector< QRect > rects() const
Returns an array of non-overlapping rectangles that make up the region.
Definition: qregion.cpp:4412
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
The QPixmap class is an off-screen image representation that can be used as a paint device...
Definition: qpixmap.h:71
void clearCache()
Marks the entirety of the contents cache as dirty.
void drawPixmap(const QRectF &targetRect, const QPixmap &pixmap, const QRectF &sourceRect)
Draws the rectangular portion source of the given pixmap into the given target in the paint device...
Definition: qpainter.cpp:5619
QRegion systemClip() const
Returns the system clip.
void fillRect(const QRectF &, const QBrush &)
Fills the given rectangle with the brush specified.
Definition: qpainter.cpp:7420
The QTransform class specifies 2D transformations of a coordinate system.
Definition: qtransform.h:65
static int area(const QSize &s)
Definition: qicon.cpp:155

◆ pixelCacheSize()

int QDeclarativePaintedItem::pixelCacheSize ( ) const

Referenced by paint().

◆ setCacheFrozen()

void QDeclarativePaintedItem::setCacheFrozen ( bool  frozen)
protected

Definition at line 233 of file qdeclarativepainteditem.cpp.

234 {
236  if (d->cachefrozen == frozen)
237  return;
238  d->cachefrozen = frozen;
239  // XXX clear cache?
240 }
QDeclarativeParserStatus ** d
#define Q_D(Class)
Definition: qglobal.h:2482
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...

◆ setContentsScale()

void QDeclarativePaintedItem::setContentsScale ( qreal  scale)

Definition at line 174 of file qdeclarativepainteditem.cpp.

175 {
177  if (d->contentsScale == scale) return;
178  d->contentsScale = scale;
179  clearCache();
180  update();
182 }
QDeclarativeParserStatus ** d
void update(const QRectF &rect=QRectF())
Schedules a redraw of the area covered by rect in this item.
#define Q_D(Class)
Definition: qglobal.h:2482
qreal scale() const
Returns the scale factor of the item.
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...
#define emit
Definition: qobjectdefs.h:76
void clearCache()
Marks the entirety of the contents cache as dirty.

◆ setContentsSize()

void QDeclarativePaintedItem::setContentsSize ( const QSize size)

Sets the size of the contents to the given size.

See also
contentsSize()

Definition at line 157 of file qdeclarativepainteditem.cpp.

Referenced by QDeclarativeTextEdit::updateSize(), and QDeclarativeTextInput::updateSize().

158 {
160  if (d->contentsSize == size) return;
162  d->contentsSize = size;
163  clearCache();
164  update();
166 }
QDeclarativeParserStatus ** d
void update(const QRectF &rect=QRectF())
Schedules a redraw of the area covered by rect in this item.
#define Q_D(Class)
Definition: qglobal.h:2482
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...
#define emit
Definition: qobjectdefs.h:76
void prepareGeometryChange()
Prepares the item for a geometry change.
void clearCache()
Marks the entirety of the contents cache as dirty.

◆ setFillColor()

void QDeclarativePaintedItem::setFillColor ( const QColor c)

Definition at line 474 of file qdeclarativepainteditem.cpp.

475 {
477  if (d->fillColor == c)
478  return;
479  d->fillColor = c;
481  update();
482 }
unsigned char c[8]
Definition: qnumeric_p.h:62
QDeclarativeParserStatus ** d
void update(const QRectF &rect=QRectF())
Schedules a redraw of the area covered by rect in this item.
#define Q_D(Class)
Definition: qglobal.h:2482
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...
#define emit
Definition: qobjectdefs.h:76

◆ setPixelCacheSize()

void QDeclarativePaintedItem::setPixelCacheSize ( int  pixels)

Definition at line 434 of file qdeclarativepainteditem.cpp.

435 {
437  if (pixels < d->max_imagecache_size) {
438  int cachesize=0;
439  for (int i=0; i<d->imagecache.count(); ++i) {
440  QRect area = d->imagecache[i]->area;
441  cachesize += area.width()*area.height();
442  }
443  while (d->imagecache.count() && cachesize > pixels) {
444  int oldest=-1;
445  int age=-1;
446  for (int i=0; i<d->imagecache.count(); ++i) {
447  int a = d->imagecache[i]->age;
448  if (a > age) {
449  oldest = i;
450  age = a;
451  }
452  }
453  cachesize -= d->imagecache[oldest]->area.width()*d->imagecache[oldest]->area.height();
454  delete d->imagecache.takeAt(oldest);
455  }
456  }
457  d->max_imagecache_size = pixels;
458 }
QDeclarativeParserStatus ** d
int width() const
Returns the width of the rectangle.
Definition: qrect.h:303
long ASN1_INTEGER_get ASN1_INTEGER * a
int height() const
Returns the height of the rectangle.
Definition: qrect.h:306
#define Q_D(Class)
Definition: qglobal.h:2482
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
static int area(const QSize &s)
Definition: qicon.cpp:155

◆ setSmoothCache()

void QDeclarativePaintedItem::setSmoothCache ( bool  on)

Definition at line 508 of file qdeclarativepainteditem.cpp.

509 {
511  if (d->smoothCache != on) {
512  d->smoothCache = on;
513  clearCache();
514  }
515 }
QDeclarativeParserStatus ** d
#define Q_D(Class)
Definition: qglobal.h:2482
The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cach...
void clearCache()
Marks the entirety of the contents cache as dirty.

◆ smoothCache()

bool QDeclarativePaintedItem::smoothCache ( ) const

Referenced by setFillColor().

Properties

◆ contentsScale

qreal QDeclarativePaintedItem::contentsScale
private

Definition at line 62 of file qdeclarativepainteditem_p.h.

◆ contentsSize

QSize QDeclarativePaintedItem::contentsSize
private

The size of the contents.

Returns the size of the contents.

The contents size is the size of the item in regards to how it is painted using the drawContents() function. This is distinct from the size of the item in regards to height() and width().

See also
setContentsSize()

Definition at line 58 of file qdeclarativepainteditem_p.h.

◆ fillColor

QColor QDeclarativePaintedItem::fillColor
private

The color to be used to fill the item prior to calling drawContents().

By default, this is Qt::transparent.

Performance improvements can be achieved if subclasses call this with either an invalid color (QColor()), or an appropriate solid color.

Definition at line 59 of file qdeclarativepainteditem_p.h.

◆ pixelCacheSize

int QDeclarativePaintedItem::pixelCacheSize
private

The maximum number of pixels of image cache to allow.

The default is 0.1 megapixels. The cache will not be larger than the (unscaled) size of the QDeclarativePaintedItem.

Definition at line 60 of file qdeclarativepainteditem_p.h.

◆ smoothCache

bool QDeclarativePaintedItem::smoothCache
private

Definition at line 61 of file qdeclarativepainteditem_p.h.


The documentation for this class was generated from the following files: