Qt 4.8
Public Types | Public Slots | Signals | Public Functions | Private Functions | Properties | List of all members
ShaderEffectSource Class Reference

The ShaderEffectSource object encapsulates the source content for the ShaderEffectItem. More...

#include <shadereffectsource.h>

Inheritance diagram for ShaderEffectSource:
QDeclarativeItem QGraphicsObject QDeclarativeParserStatus QObject QGraphicsItem

Public Types

enum  Format { Alpha = GL_ALPHA, RGB = GL_RGB, RGBA = GL_RGBA }
 
enum  WrapMode { ClampToEdge, RepeatHorizontally, RepeatVertically, Repeat }
 
- 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

void markSceneGraphDirty ()
 
void markSourceItemDirty ()
 
void markSourceSizeDirty ()
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 

Signals

void activeChanged ()
 
void formatChanged ()
 
void hideSourceChanged ()
 
void liveChanged ()
 
void repaintRequired ()
 
void sourceItemChanged ()
 
void sourceRectChanged ()
 
void textureSizeChanged ()
 
void wrapModeChanged ()
 
- 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

void bind ()
 
void derefFromEffectItem ()
 
ShaderEffectBufferfbo ()
 
Q_INVOKABLE void grab ()
 Repaints the source item content into the texture. More...
 
bool hideSource () const
 
bool isActive () const
 
bool isDirtyTexture ()
 
bool isLive () const
 
bool isMirrored ()
 
void refFromEffectItem ()
 
void setHideSource (bool hide)
 
void setLive (bool s)
 
void setSourceItem (QDeclarativeItem *item)
 
void setSourceRect (const QRectF &rect)
 
void setTextureSize (const QSize &size)
 
void setWrapMode (WrapMode mode)
 
 ShaderEffectSource (QDeclarativeItem *parent=0)
 
QDeclarativeItemsourceItem () const
 
QRectF sourceRect () const
 
QSize textureSize () const
 
void updateBackbuffer ()
 
WrapMode wrapMode () const
 
virtual ~ShaderEffectSource ()
 
- Public Functions inherited from QDeclarativeItem
qreal baselineOffset () const
 
QRectF boundingRect () 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...
 
virtual void paint (QPainter *, const QStyleOptionGraphicsItem *, QWidget *)
 
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 ()
 

Private Functions

void attachSourceItem ()
 
void detachSourceItem ()
 
void updateSizeAndTexture ()
 

Properties

bool hideSource
 This property holds the flag to define whether the original source item is hidden when the effect item is drawn. More...
 
bool live
 This property holds the optimization flag to define whether the source item content is changing or static. More...
 
bool m_checkedForMultisamplingSupport: 1
 
bool m_dirtySceneGraph: 1
 
bool m_dirtyTexture: 1
 
ShaderEffectBufferm_fbo
 
Format m_format
 
bool m_hideSource: 1
 
bool m_live: 1
 
bool m_mirrored: 1
 
ShaderEffectBufferm_multisampledFbo
 
bool m_multisamplingSupported: 1
 
int m_refs
 
QSize m_size
 
QPointer< QDeclarativeItemm_sourceItem
 
QRectF m_sourceRect
 
QSize m_textureSize
 
WrapMode m_wrapMode
 
QDeclarativeItemsourceItem
 This property holds the Item which is used as the source for the shader effect. More...
 
QRectF sourceRect
 This property can be used to specify margins for the source content. More...
 
QSize textureSize
 This property holds the size for the texture containing the source content. More...
 
WrapMode wrapMode
 This property defines the wrap parameter for the source after it has been mapped as a texture. More...
 

Additional Inherited Members

- 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 Slots inherited from QGraphicsObject
void updateMicroFocus ()
 Updates the item's micro focus. More...
 
- Protected Functions inherited from QDeclarativeItem
virtual void classBegin ()
 
virtual void componentComplete ()
 
virtual bool event (QEvent *)
 
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...
 
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 QVariant itemChange (GraphicsItemChange, const QVariant &)
 Note that unlike QGraphicsItems, QDeclarativeItem::itemChange() is not called during initial widget polishing. 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...
 
- 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 ShaderEffectSource object encapsulates the source content for the ShaderEffectItem.

ShaderEffectSource is available in the Qt.labs.shaders 1.0 module. {Elements in the Qt.labs module are not guaranteed to remain compatible in future versions.}

This element provides preliminary support for OpenGL shaders in QML, and may be heavily changed or removed in later versions.

Requirement for the ability to use of shaders is that the application is either using opengl graphicssystem or has set QGLWidget as the viewport to QDeclarativeView (recommended way).

ShaderEffectSource object encapsulates the source content so that it can be utilized in ShaderEffectItem. Source content can be a live QML object tree, or a snapshot of QML object tree.

Definition at line 54 of file shadereffectsource.h.

Enumerations

◆ Format

Enumerator
Alpha 
RGB 
RGBA 

Definition at line 74 of file shadereffectsource.h.

◆ WrapMode

Constructors and Destructors

◆ ShaderEffectSource()

ShaderEffectSource::ShaderEffectSource ( QDeclarativeItem parent = 0)

Definition at line 72 of file shadereffectsource.cpp.

73  : QDeclarativeItem(parent)
74  , m_sourceItem(0)
76  , m_sourceRect(0, 0, 0, 0)
77  , m_textureSize(0, 0)
78  , m_format(RGBA)
79  , m_size(0, 0)
80  , m_fbo(0)
82  , m_refs(0)
83  , m_dirtyTexture(true)
84  , m_dirtySceneGraph(true)
87  , m_live(true)
88  , m_hideSource(false)
89  , m_mirrored(false)
90 {
91 }
QDeclarativeItem(QDeclarativeItem *parent=0)
Constructs a QDeclarativeItem with the given parent.
QPointer< QDeclarativeItem > m_sourceItem
ShaderEffectBuffer * m_multisampledFbo
ShaderEffectBuffer * m_fbo

◆ ~ShaderEffectSource()

ShaderEffectSource::~ShaderEffectSource ( )
virtual

Definition at line 93 of file shadereffectsource.cpp.

94 {
95  if (m_refs && m_sourceItem)
97 
98  delete m_fbo;
99  delete m_multisampledFbo;
100 }
QPointer< QDeclarativeItem > m_sourceItem
ShaderEffectBuffer * m_multisampledFbo
ShaderEffectBuffer * m_fbo

Functions

◆ activeChanged

void ShaderEffectSource::activeChanged ( )
signal

◆ attachSourceItem()

void ShaderEffectSource::attachSourceItem ( )
private

Definition at line 437 of file shadereffectsource.cpp.

Referenced by isMirrored(), refFromEffectItem(), and setSourceItem().

438 {
439  if (!m_sourceItem)
440  return;
441 
443 
444  if (!effect) {
445  effect = new ShaderEffect();
447  }
448 
449  if (effect)
450  effect->addRenderTarget(this);
451 
452  m_sourceItem->update();
453 }
QGraphicsEffect * graphicsEffect() const
Returns a pointer to this item&#39;s effect if it has one; otherwise 0.
QGraphicsEffect * effect
the effect attached to this item
QPointer< QDeclarativeItem > m_sourceItem
T * qobject_cast(QObject *object)
Definition: qobject.h:375
void update(const QRectF &rect=QRectF())
Schedules a redraw of the area covered by rect in this item.
void addRenderTarget(ShaderEffectSource *target)
void setGraphicsEffect(QGraphicsEffect *effect)
Sets effect as the item&#39;s effect.

◆ bind()

void ShaderEffectSource::bind ( )

Definition at line 303 of file shadereffectsource.cpp.

Referenced by isActive(), and ShaderEffectItem::updateEffectState().

304 {
305  GLint filtering = smooth() ? GL_LINEAR : GL_NEAREST;
308 
309 #if !defined(QT_OPENGL_ES_2)
310  glEnable(GL_TEXTURE_2D);
311 #endif
312 
313  if (m_fbo && m_fbo->isValid()) {
314  glBindTexture(GL_TEXTURE_2D, m_fbo->texture());
315  } else {
316  m_dirtyTexture = true;
319  glBindTexture(GL_TEXTURE_2D, 0);
320  }
321 
322  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filtering);
324  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, hwrap);
325  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, vwrap);
326 }
GLuint texture() const
Returns the texture id for the texture attached as the default rendering target in this framebuffer o...
#define GL_CLAMP_TO_EDGE
Definition: glfunctions.h:62
#define GL_TEXTURE_MIN_FILTER
bool isValid() const
Returns true if the framebuffer object is valid.
#define GL_TEXTURE_WRAP_S
#define GL_TEXTURE_2D
#define GL_REPEAT
#define emit
Definition: qobjectdefs.h:76
#define GL_TEXTURE_WRAP_T
#define GL_LINEAR
bool smooth() const
typedef GLint
Definition: glfunctions.h:67
#define GL_TEXTURE_MAG_FILTER
ShaderEffectBuffer * m_fbo
#define GL_NEAREST

◆ derefFromEffectItem()

void ShaderEffectSource::derefFromEffectItem ( )

Definition at line 336 of file shadereffectsource.cpp.

Referenced by isActive(), ShaderEffectItem::reset(), and ShaderEffectItem::setActive().

337 {
338  if (--m_refs == 0) {
341  }
342  Q_ASSERT(m_refs >= 0);
343 }
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
#define emit
Definition: qobjectdefs.h:76

◆ detachSourceItem()

void ShaderEffectSource::detachSourceItem ( )
private

Definition at line 455 of file shadereffectsource.cpp.

Referenced by derefFromEffectItem(), isMirrored(), setSourceItem(), and ~ShaderEffectSource().

456 {
457  if (!m_sourceItem)
458  return;
459 
461 
462  if (effect)
463  effect->removeRenderTarget(this);
464 
465  delete m_fbo;
466  m_fbo = 0;
467 
468  delete m_multisampledFbo;
469  m_multisampledFbo = 0;
470 
471  m_dirtyTexture = true;
472 }
QGraphicsEffect * graphicsEffect() const
Returns a pointer to this item&#39;s effect if it has one; otherwise 0.
QGraphicsEffect * effect
the effect attached to this item
QPointer< QDeclarativeItem > m_sourceItem
T * qobject_cast(QObject *object)
Definition: qobject.h:375
ShaderEffectBuffer * m_multisampledFbo
void removeRenderTarget(ShaderEffectSource *target)
ShaderEffectBuffer * m_fbo

◆ fbo()

ShaderEffectBuffer* ShaderEffectSource::fbo ( )
inline

Definition at line 107 of file shadereffectsource.h.

107 { return m_fbo; }
ShaderEffectBuffer * m_fbo

◆ formatChanged

void ShaderEffectSource::formatChanged ( )
signal

Referenced by isMirrored().

◆ grab()

void ShaderEffectSource::grab ( )

Repaints the source item content into the texture.

This method is useful when ShaderEffectSource::live has been set to false and the changes in the source item content is desired to be made visible for the shaders.

Definition at line 297 of file shadereffectsource.cpp.

Referenced by isMirrored().

298 {
299  m_dirtyTexture = true;
301 }
#define emit
Definition: qobjectdefs.h:76

◆ hideSource()

bool ShaderEffectSource::hideSource ( ) const
inline

Definition at line 95 of file shadereffectsource.h.

95 { return m_hideSource; }

◆ hideSourceChanged

void ShaderEffectSource::hideSourceChanged ( )
signal

Referenced by isMirrored(), and setHideSource().

◆ isActive()

bool ShaderEffectSource::isActive ( ) const
inline

Definition at line 101 of file shadereffectsource.h.

101 { return m_refs; }

◆ isDirtyTexture()

bool ShaderEffectSource::isDirtyTexture ( )
inline

Definition at line 108 of file shadereffectsource.h.

108 { return m_dirtyTexture; }

◆ isLive()

bool ShaderEffectSource::isLive ( ) const
inline

Definition at line 92 of file shadereffectsource.h.

92 { return m_live; }

◆ isMirrored()

bool ShaderEffectSource::isMirrored ( )
inline

Definition at line 109 of file shadereffectsource.h.

109 { return m_mirrored; }

◆ liveChanged

void ShaderEffectSource::liveChanged ( )
signal

Referenced by isMirrored(), and setLive().

◆ markSceneGraphDirty

void ShaderEffectSource::markSceneGraphDirty ( )
slot

Definition at line 375 of file shadereffectsource.cpp.

Referenced by isMirrored().

376 {
377  m_dirtySceneGraph = true;
379 }
#define emit
Definition: qobjectdefs.h:76

◆ markSourceItemDirty

void ShaderEffectSource::markSourceItemDirty ( )
slot

Definition at line 390 of file shadereffectsource.cpp.

Referenced by bind(), isMirrored(), setSourceRect(), setTextureSize(), and setWrapMode().

391 {
392  m_dirtyTexture = true;
393  if (m_sourceItem) {
395  if (effect)
396  effect->m_changed = true;
397  }
398 }
QGraphicsEffect * graphicsEffect() const
Returns a pointer to this item&#39;s effect if it has one; otherwise 0.
QGraphicsEffect * effect
the effect attached to this item
QPointer< QDeclarativeItem > m_sourceItem
T * qobject_cast(QObject *object)
Definition: qobject.h:375

◆ markSourceSizeDirty

void ShaderEffectSource::markSourceSizeDirty ( )
slot

Definition at line 381 of file shadereffectsource.cpp.

Referenced by isMirrored(), and setSourceItem().

382 {
384  if (m_textureSize.isEmpty())
386  if (m_refs)
388 }
QPointer< QDeclarativeItem > m_sourceItem
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
#define emit
Definition: qobjectdefs.h:76
bool isEmpty() const
Returns true if either of the width and height is less than or equal to 0; otherwise returns false...
Definition: qsize.h:120

◆ refFromEffectItem()

void ShaderEffectSource::refFromEffectItem ( )

Definition at line 328 of file shadereffectsource.cpp.

Referenced by isActive(), and ShaderEffectItem::setActive().

329 {
330  if (m_refs++ == 0) {
333  }
334 }
#define emit
Definition: qobjectdefs.h:76

◆ repaintRequired

void ShaderEffectSource::repaintRequired ( )
signal

◆ setHideSource()

void ShaderEffectSource::setHideSource ( bool  hide)

Definition at line 245 of file shadereffectsource.cpp.

Referenced by hideSource().

246 {
247  if (hide == m_hideSource)
248  return;
249 
250  m_hideSource = hide;
251 
254 }
#define emit
Definition: qobjectdefs.h:76
void hide()
Hides the item.

◆ setLive()

void ShaderEffectSource::setLive ( bool  s)

Definition at line 223 of file shadereffectsource.cpp.

Referenced by isLive().

224 {
225  if (s == m_live)
226  return;
227 
228  m_live = s;
229 
230  emit liveChanged();
232 }
#define emit
Definition: qobjectdefs.h:76

◆ setSourceItem()

void ShaderEffectSource::setSourceItem ( QDeclarativeItem item)

Definition at line 114 of file shadereffectsource.cpp.

Referenced by sourceItem().

115 {
116  if (item == m_sourceItem)
117  return;
118 
119  if (m_sourceItem) {
122 
123  if (m_refs)
125  }
126 
127  m_sourceItem = item;
128 
129  if (m_sourceItem) {
130 
131  // Must have some item as parent
132  if (m_sourceItem->parentItem() == 0)
134 
135  if (m_refs)
137 
140  }
141 
145 }
void heightChanged()
#define SLOT(a)
Definition: qobjectdefs.h:226
QPointer< QDeclarativeItem > m_sourceItem
void setParentItem(QDeclarativeItem *parent)
#define SIGNAL(a)
Definition: qobjectdefs.h:227
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 rece...
Definition: qobject.cpp:2580
#define emit
Definition: qobjectdefs.h:76
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.
Definition: qobject.cpp:2895
QDeclarativeItem * parentItem() const
Returns the QDeclarativeItem parent of this item.

◆ setSourceRect()

void ShaderEffectSource::setSourceRect ( const QRectF rect)

Definition at line 166 of file shadereffectsource.cpp.

Referenced by sourceRect().

167 {
168  if (rect == m_sourceRect)
169  return;
170  m_sourceRect = rect;
174 
175  m_dirtyTexture = true;
177 }
#define emit
Definition: qobjectdefs.h:76

◆ setTextureSize()

void ShaderEffectSource::setTextureSize ( const QSize size)

Definition at line 193 of file shadereffectsource.cpp.

Referenced by textureSize().

194 {
195  if (size == m_textureSize)
196  return;
197 
198  m_textureSize = size;
202 
203  m_dirtyTexture = true;
205 }
#define emit
Definition: qobjectdefs.h:76

◆ setWrapMode()

void ShaderEffectSource::setWrapMode ( WrapMode  mode)

Definition at line 272 of file shadereffectsource.cpp.

Referenced by wrapMode().

273 {
274  if (mode == m_wrapMode)
275  return;
276 
277  m_wrapMode = mode;
279 
280  m_dirtyTexture = true;
282 }
#define emit
Definition: qobjectdefs.h:76

◆ sourceItem()

QDeclarativeItem* ShaderEffectSource::sourceItem ( ) const
inline

Definition at line 83 of file shadereffectsource.h.

83 { return m_sourceItem.data(); }
QPointer< QDeclarativeItem > m_sourceItem
T * data() const
Definition: qpointer.h:79

◆ sourceItemChanged

void ShaderEffectSource::sourceItemChanged ( )
signal

Referenced by isMirrored(), and setSourceItem().

◆ sourceRect()

QRectF ShaderEffectSource::sourceRect ( ) const
inline

Definition at line 86 of file shadereffectsource.h.

86 { return m_sourceRect; };

◆ sourceRectChanged

void ShaderEffectSource::sourceRectChanged ( )
signal

Referenced by isMirrored(), and setSourceRect().

◆ textureSize()

QSize ShaderEffectSource::textureSize ( ) const
inline

Definition at line 89 of file shadereffectsource.h.

89 { return m_textureSize; }

◆ textureSizeChanged

void ShaderEffectSource::textureSizeChanged ( )
signal

Referenced by isMirrored(), and setTextureSize().

◆ updateBackbuffer()

void ShaderEffectSource::updateBackbuffer ( )

Definition at line 345 of file shadereffectsource.cpp.

Referenced by isActive(), and ShaderEffectItem::preprocess().

346 {
348  return;
349 
350  // Multisampling is not (for now) supported.
352  if (!m_textureSize.isEmpty())
353  size = m_textureSize;
354 
355  if (size.height() > 0 && size.width() > 0) {
359 
360  if (!m_fbo) {
361  m_fbo = new ShaderEffectBuffer(size, format);
362  } else {
363  if (!m_fbo->isValid() || m_fbo->size() != size || m_fbo->format().internalTextureFormat() != GLenum(m_format)) {
364  delete m_fbo;
365  m_fbo = 0;
366  m_fbo = new ShaderEffectBuffer(size, format);
367  }
368  }
369  }
370 
371  // Note that real update for the source content happens in shadereffect.cpp
372  m_dirtyTexture = false;
373 }
QSize size() const
Returns the size of the texture attached to this framebuffer object.
void setAttachment(QGLFramebufferObject::Attachment attachment)
Sets the attachment configuration of a framebuffer object to attachment.
bool isValid() const
Returns true if the framebuffer object is valid.
void setInternalTextureFormat(GLenum internalTextureFormat)
Sets the internal format of a framebuffer object&#39;s texture or multisample framebuffer object&#39;s color ...
QPointer< QDeclarativeItem > m_sourceItem
static const QGLContext * currentContext()
Returns the current context, i.e.
Definition: qgl.cpp:3545
int width() const
Returns the width.
Definition: qsize.h:126
QGLFramebufferObjectFormat format() const
Returns the format of this framebuffer object.
GLenum internalTextureFormat() const
Returns the internal format of a framebuffer object&#39;s texture or multisample framebuffer object&#39;s col...
unsigned int GLenum
Definition: main.cpp:50
int height() const
Returns the height.
Definition: qsize.h:129
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:53
bool isEmpty() const
Returns true if either of the width and height is less than or equal to 0; otherwise returns false...
Definition: qsize.h:120
The QGLFramebufferObjectFormat class specifies the format of an OpenGL framebuffer object...
ShaderEffectBuffer * m_fbo

◆ updateSizeAndTexture()

void ShaderEffectSource::updateSizeAndTexture ( )
private

Definition at line 400 of file shadereffectsource.cpp.

Referenced by isMirrored(), markSourceSizeDirty(), setSourceItem(), setSourceRect(), and setTextureSize().

401 {
402  if (m_sourceItem) {
403  QSize size = m_textureSize;
404  if (size.isEmpty())
405  size = QSize(m_sourceItem->width(), m_sourceItem->height());
406  if (size.width() < 1)
407  size.setWidth(1);
408  if (size.height() < 1)
409  size.setHeight(1);
410  if (m_fbo && (m_fbo->size() != size || !m_fbo->isValid())) {
411  delete m_fbo;
412  m_fbo = 0;
413  delete m_multisampledFbo;
414  m_fbo = m_multisampledFbo = 0;
415  }
416  if (m_size.width() != size.width()) {
417  m_size.setWidth(size.width());
418  emit widthChanged();
419  }
420  if (m_size.height() != size.height()) {
421  m_size.setHeight(size.height());
423  }
424  m_dirtyTexture = true;
425  } else {
426  if (m_size.width() != 0) {
427  m_size.setWidth(0);
428  emit widthChanged();
429  }
430  if (m_size.height() != 0) {
431  m_size.setHeight(0);
433  }
434  }
435 }
QSize size() const
Returns the size of the texture attached to this framebuffer object.
void heightChanged()
bool isValid() const
Returns true if the framebuffer object is valid.
QPointer< QDeclarativeItem > m_sourceItem
void setHeight(int h)
Sets the height to the given height.
Definition: qsize.h:135
ShaderEffectBuffer * m_multisampledFbo
void setWidth(int w)
Sets the width to the given width.
Definition: qsize.h:132
int width() const
Returns the width.
Definition: qsize.h:126
#define emit
Definition: qobjectdefs.h:76
int height() const
Returns the height.
Definition: qsize.h:129
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:53
bool isEmpty() const
Returns true if either of the width and height is less than or equal to 0; otherwise returns false...
Definition: qsize.h:120
ShaderEffectBuffer * m_fbo

◆ wrapMode()

WrapMode ShaderEffectSource::wrapMode ( ) const
inline

Definition at line 98 of file shadereffectsource.h.

98 { return m_wrapMode; };

◆ wrapModeChanged

void ShaderEffectSource::wrapModeChanged ( )
signal

Referenced by isMirrored(), and setWrapMode().

Properties

◆ hideSource

bool ShaderEffectSource::hideSource
private

This property holds the flag to define whether the original source item is hidden when the effect item is drawn.

The default value is false.

Definition at line 61 of file shadereffectsource.h.

◆ live

bool ShaderEffectSource::live
private

This property holds the optimization flag to define whether the source item content is changing or static.

If value true is assigned to this property, source item content is re-rendered into a texture for every frame. Setting the value to false improves the performance as it skips rendering the source item (and its chidleren) and instead immediately passes the previously rendered and cached texture to the shaders.

The default value is true.

Definition at line 60 of file shadereffectsource.h.

◆ m_checkedForMultisamplingSupport

bool ShaderEffectSource::m_checkedForMultisamplingSupport
private

Definition at line 148 of file shadereffectsource.h.

◆ m_dirtySceneGraph

bool ShaderEffectSource::m_dirtySceneGraph
private

Definition at line 146 of file shadereffectsource.h.

Referenced by markSceneGraphDirty().

◆ m_dirtyTexture

bool ShaderEffectSource::m_dirtyTexture
private

◆ m_fbo

ShaderEffectBuffer* ShaderEffectSource::m_fbo
private

◆ m_format

Format ShaderEffectSource::m_format
private

Definition at line 139 of file shadereffectsource.h.

Referenced by updateBackbuffer().

◆ m_hideSource

bool ShaderEffectSource::m_hideSource
private

Definition at line 150 of file shadereffectsource.h.

Referenced by hideSource(), and setHideSource().

◆ m_live

bool ShaderEffectSource::m_live
private

Definition at line 149 of file shadereffectsource.h.

Referenced by isLive(), and setLive().

◆ m_mirrored

bool ShaderEffectSource::m_mirrored
private

Definition at line 151 of file shadereffectsource.h.

Referenced by isMirrored().

◆ m_multisampledFbo

ShaderEffectBuffer* ShaderEffectSource::m_multisampledFbo
private

◆ m_multisamplingSupported

bool ShaderEffectSource::m_multisamplingSupported
private

Definition at line 147 of file shadereffectsource.h.

◆ m_refs

int ShaderEffectSource::m_refs
private

◆ m_size

QSize ShaderEffectSource::m_size
private

Definition at line 140 of file shadereffectsource.h.

Referenced by updateSizeAndTexture().

◆ m_sourceItem

QPointer<QDeclarativeItem> ShaderEffectSource::m_sourceItem
private

◆ m_sourceRect

QRectF ShaderEffectSource::m_sourceRect
private

Definition at line 137 of file shadereffectsource.h.

Referenced by setSourceRect(), and sourceRect().

◆ m_textureSize

QSize ShaderEffectSource::m_textureSize
private

◆ m_wrapMode

WrapMode ShaderEffectSource::m_wrapMode
private

Definition at line 136 of file shadereffectsource.h.

Referenced by bind(), setWrapMode(), and wrapMode().

◆ sourceItem

Item ShaderEffectSource::sourceItem
private

This property holds the Item which is used as the source for the shader effect.

If the item has children, those are included as well.

Note
When source item content is passed to the ShaderEffectItem(s), it is always clipped to the boundingrect of the sourceItem regardless of its clipping property.

Definition at line 57 of file shadereffectsource.h.

◆ sourceRect

QRectF ShaderEffectSource::sourceRect
private

This property can be used to specify margins for the source content.

If other value than Qt.rect(0,0,0,0) is assigned to this property, it is interpreted as specifying a relative source rectangle for the source content.

For example, setting Qt.rect(-10.0, -10.0, 120.0, 120.0) for a source that has width and height of 100 pixels would produce 10 pixels margins to each side of the source.

Margins are useful when the original content is wanted to be spread outside the original source area, like when creating a dropshadow with the shader or in other similar effects.

The default value is Qt.rect(0,0,0,0).

Definition at line 58 of file shadereffectsource.h.

◆ textureSize

QSize ShaderEffectSource::textureSize
private

This property holds the size for the texture containing the source content.

If value QSize(0,0) is assigned to this property, texture is resized according to the source size. Otherwise source content is scaled to the given size.

The default value is QSize(0,0).

Definition at line 59 of file shadereffectsource.h.

◆ wrapMode

enumeration ShaderEffectSource::wrapMode
private

This property defines the wrap parameter for the source after it has been mapped as a texture.

  • ShaderEffectSource.ClampToEdge - Causes texturecoordinates to be clamped to the range [ 1/2*N , 1 - 1/2*N ], where N is the texture width.
  • ShaderEffectSource.RepeatHorizontally - Causes the integer part of the horizontal texturecoordinate to be ignored; the GL uses only the fractional part, thereby creating a horizontal repeating pattern.
  • ShaderEffectSource.RepeatVertically - Causes the integer part of the vertical texturecoordinate to be ignored; the GL uses only the fractional part, thereby creating a vertical repeating pattern.
  • ShaderEffectSource.Repeat - Causes the integer part of both the horizontal and vertical texturecoordinates to be ignored; the GL uses only the fractional part, thereby creating a repeating pattern.

The default value is ClampToEdge.

Definition at line 62 of file shadereffectsource.h.


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