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

#include <qquickcontext2dtexture_p.h>

+ Inheritance diagram for QQuickContext2DTexture:
+ Collaboration diagram for QQuickContext2DTexture:

Classes

class  CanvasChangeEvent
 
class  PaintEvent
 

Public Slots

void canvasChanged (const QSize &canvasSize, const QSize &tileSize, const QRect &canvasWindow, const QRect &dirtyRect, bool smooth, bool antialiasing)
 
void paint (QQuickContext2DCommandBuffer *ccb)
 
void markDirtyTexture ()
 
void setItem (QQuickCanvasItem *item)
 
virtual void grabImage (const QRectF &region=QRectF())=0
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 

Signals

void textureChanged ()
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QQuickContext2DTexture ()
 
 ~QQuickContext2DTexture ()
 
virtual QQuickCanvasItem::RenderTarget renderTarget () const =0
 
bool setCanvasSize (const QSize &size)
 
bool setTileSize (const QSize &size)
 
bool setCanvasWindow (const QRect &canvasWindow)
 
void setSmooth (bool smooth)
 
void setAntialiasing (bool antialiasing)
 
bool setDirtyRect (const QRect &dirtyRect)
 
bool canvasDestroyed ()
 
void setOnCustomThread (bool is)
 
bool isOnCustomThread () const
 
virtual QSGTexturetextureForNextFrame (QSGTexture *lastFrame, QQuickWindow *window)=0
 
bool event (QEvent *e) override
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) 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.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
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.
 

Static Public Member Functions

static QRect tiledRect (const QRectF &window, const QSize &tileSize)
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 

Protected Member Functions

virtual QVector2D scaleFactor () const
 
void paintWithoutTiles (QQuickContext2DCommandBuffer *ccb)
 
virtual QPaintDevicebeginPainting ()
 
virtual void endPainting ()
 
virtual QQuickContext2DTilecreateTile () const =0
 
virtual void compositeTile (QQuickContext2DTile *tile)=0
 
void clearTiles ()
 
virtual QSize adjustedTileSize (const QSize &ts)
 
QRect createTiles (const QRect &window)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Protected Attributes

QList< QQuickContext2DTile * > m_tiles
 
QQuickContext2Dm_context
 
QSurfacem_surface
 
QQuickContext2D::State m_state
 
QQuickCanvasItemm_item
 
QSize m_canvasSize
 
QSize m_tileSize
 
QRect m_canvasWindow
 
qreal m_canvasDevicePixelRatio
 
QMutex m_mutex
 
QWaitCondition m_condition
 
uint m_canvasWindowChanged: 1
 
uint m_dirtyTexture: 1
 
uint m_smooth: 1
 
uint m_antialiasing: 1
 
uint m_tiledCanvas: 1
 
uint m_painting: 1
 
uint m_onCustomThread: 1
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Additional Inherited Members

- Properties inherited from QObject
QString objectName
 the name of this object
 

Detailed Description

Definition at line 34 of file qquickcontext2dtexture_p.h.

Constructor & Destructor Documentation

◆ QQuickContext2DTexture()

QT_BEGIN_NAMESPACE QQuickContext2DTexture::QQuickContext2DTexture ( )

Definition at line 17 of file qquickcontext2dtexture.cpp.

◆ ~QQuickContext2DTexture()

QQuickContext2DTexture::~QQuickContext2DTexture ( )

Definition at line 31 of file qquickcontext2dtexture.cpp.

References clearTiles().

+ Here is the call graph for this function:

Member Function Documentation

◆ adjustedTileSize()

QSize QQuickContext2DTexture::adjustedTileSize ( const QSize & ts)
protectedvirtual

Definition at line 299 of file qquickcontext2dtexture.cpp.

Referenced by createTiles().

+ Here is the caller graph for this function:

◆ beginPainting()

virtual QPaintDevice * QQuickContext2DTexture::beginPainting ( )
inlineprotectedvirtual

Reimplemented in QQuickContext2DImageTexture.

Definition at line 103 of file qquickcontext2dtexture_p.h.

References m_painting.

Referenced by QQuickContext2DImageTexture::beginPainting(), paint(), and paintWithoutTiles().

+ Here is the caller graph for this function:

◆ canvasChanged

void QQuickContext2DTexture::canvasChanged ( const QSize & canvasSize,
const QSize & tileSize,
const QRect & canvasWindow,
const QRect & dirtyRect,
bool smooth,
bool antialiasing )
slot

Definition at line 128 of file qquickcontext2dtexture.cpp.

References QSize::height(), QRect::isValid(), m_tiledCanvas, setAntialiasing(), setCanvasSize(), setCanvasWindow(), setDirtyRect(), setSmooth(), setTileSize(), QRect::size(), tileSize, and QSize::width().

Referenced by event(), and QQuickContext2D::prepare().

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

◆ canvasDestroyed()

bool QQuickContext2DTexture::canvasDestroyed ( )

Definition at line 177 of file qquickcontext2dtexture.cpp.

References m_item.

Referenced by paint().

+ Here is the caller graph for this function:

◆ clearTiles()

void QQuickContext2DTexture::clearTiles ( )
protected

Definition at line 293 of file qquickcontext2dtexture.cpp.

References QList< T >::clear(), m_tiles, and qDeleteAll().

Referenced by ~QQuickContext2DTexture().

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

◆ compositeTile()

virtual void QQuickContext2DTexture::compositeTile ( QQuickContext2DTile * tile)
protectedpure virtual

Implemented in QQuickContext2DImageTexture.

Referenced by paint().

+ Here is the caller graph for this function:

◆ createTile()

virtual QQuickContext2DTile * QQuickContext2DTexture::createTile ( ) const
protectedpure virtual

Implemented in QQuickContext2DImageTexture.

Referenced by createTiles().

+ Here is the caller graph for this function:

◆ createTiles()

QRect QQuickContext2DTexture::createTiles ( const QRect & window)
protected

Definition at line 243 of file qquickcontext2dtexture.cpp.

References adjustedTileSize(), QList< T >::append(), QList< T >::clear(), createTile(), QSize::height(), i, m_tiles, m_tileSize, pos, qDeleteAll(), rect, tiledRect(), v1, QSize::width(), and window().

Referenced by paint().

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

◆ endPainting()

virtual void QQuickContext2DTexture::endPainting ( )
inlineprotectedvirtual

Reimplemented in QQuickContext2DImageTexture.

Definition at line 104 of file qquickcontext2dtexture_p.h.

References m_painting.

Referenced by QQuickContext2DImageTexture::endPainting(), paint(), and paintWithoutTiles().

+ Here is the caller graph for this function:

◆ event()

bool QQuickContext2DTexture::event ( QEvent * e)
overridevirtual

This virtual function receives events to an object and should return true if the event e was recognized and processed.

The event() function can be reimplemented to customize the behavior of an object.

Make sure you call the parent event class implementation for all the events you did not handle.

Example:

class MyClass : public QWidget
{
public:
MyClass(QWidget *parent = nullptr);
bool event(QEvent* ev) override
{
if (ev->type() == QEvent::PolishRequest) {
// overwrite handling of PolishRequest if any
doThings();
return true;
} else if (ev->type() == QEvent::Show) {
// complement handling of Show if any
doThings2();
return true;
}
// Make sure the rest of events are handled
return QWidget::event(ev);
}
};
See also
installEventFilter(), timerEvent(), QCoreApplication::sendEvent(), QCoreApplication::postEvent()

Reimplemented from QObject.

Definition at line 304 of file qquickcontext2dtexture.cpp.

References canvasChanged(), QObject::event(), paint, QEvent::type(), and QEvent::User.

+ Here is the call graph for this function:

◆ grabImage

virtual void QQuickContext2DTexture::grabImage ( const QRectF & region = QRectF())
pure virtualslot

Referenced by QQuickContext2D::toImage().

+ Here is the caller graph for this function:

◆ isOnCustomThread()

bool QQuickContext2DTexture::isOnCustomThread ( ) const
inline

Definition at line 83 of file qquickcontext2dtexture_p.h.

References m_onCustomThread.

◆ markDirtyTexture

void QQuickContext2DTexture::markDirtyTexture ( )
slot

Definition at line 36 of file qquickcontext2dtexture.cpp.

References emit, QMutex::lock(), m_dirtyTexture, m_mutex, m_onCustomThread, textureChanged(), and QMutex::unlock().

Referenced by paint(), and paintWithoutTiles().

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

◆ paint

void QQuickContext2DTexture::paint ( QQuickContext2DCommandBuffer * ccb)
slot

Definition at line 182 of file qquickcontext2dtexture.cpp.

References beginPainting(), canvasDestroyed(), compositeTile(), createTiles(), endPainting(), QRect::intersected(), QRect::isEmpty(), m_antialiasing, m_canvasSize, m_canvasWindow, m_smooth, m_state, m_tiledCanvas, m_tiles, markDirtyTexture(), QQuickContext2D::mutex, paintWithoutTiles(), and scaleFactor().

Referenced by QQuickContext2D::flush().

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

◆ paintWithoutTiles()

void QQuickContext2DTexture::paintWithoutTiles ( QQuickContext2DCommandBuffer * ccb)
protected

Definition at line 154 of file qquickcontext2dtexture.cpp.

References QPainter::Antialiasing, QPainter::begin(), beginPainting(), QPainter::CompositionMode_SourceOver, device, endPainting(), m_antialiasing, m_smooth, m_state, markDirtyTexture(), scaleFactor(), QPainter::SmoothPixmapTransform, and QPainter::TextAntialiasing.

Referenced by paint().

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

◆ renderTarget()

virtual QQuickCanvasItem::RenderTarget QQuickContext2DTexture::renderTarget ( ) const
pure virtual

Implemented in QQuickContext2DImageTexture.

◆ scaleFactor()

virtual QVector2D QQuickContext2DTexture::scaleFactor ( ) const
inlineprotectedvirtual

Definition at line 100 of file qquickcontext2dtexture_p.h.

Referenced by paint(), and paintWithoutTiles().

+ Here is the caller graph for this function:

◆ setAntialiasing()

void QQuickContext2DTexture::setAntialiasing ( bool antialiasing)

Definition at line 69 of file qquickcontext2dtexture.cpp.

References m_antialiasing.

Referenced by canvasChanged(), and QQuickContext2D::init().

+ Here is the caller graph for this function:

◆ setCanvasSize()

bool QQuickContext2DTexture::setCanvasSize ( const QSize & size)

Definition at line 46 of file qquickcontext2dtexture.cpp.

References m_canvasSize.

Referenced by canvasChanged(), and QQuickContext2D::init().

+ Here is the caller graph for this function:

◆ setCanvasWindow()

bool QQuickContext2DTexture::setCanvasWindow ( const QRect & canvasWindow)

Definition at line 85 of file qquickcontext2dtexture.cpp.

References QString::isEmpty(), m_canvasDevicePixelRatio, m_canvasWindow, m_canvasWindowChanged, m_item, QObject::objectName, ok, qApp, qCDebug, qEnvironmentVariableIsEmpty(), qFuzzyCompare(), qgetenv(), qPrintable, and QQuickItem::window().

Referenced by canvasChanged(), and QQuickContext2D::init().

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

◆ setDirtyRect()

bool QQuickContext2DTexture::setDirtyRect ( const QRect & dirtyRect)

Definition at line 112 of file qquickcontext2dtexture.cpp.

References QRect::intersected(), QRect::isValid(), m_canvasWindow, m_tiledCanvas, and m_tiles.

Referenced by canvasChanged().

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

◆ setItem

void QQuickContext2DTexture::setItem ( QQuickCanvasItem * item)
slot

Definition at line 74 of file qquickcontext2dtexture.cpp.

References item, m_context, m_item, m_state, and QQuickContext2D::state.

Referenced by QQuickContext2D::~QQuickContext2D(), and QQuickContext2D::init().

+ Here is the caller graph for this function:

◆ setOnCustomThread()

void QQuickContext2DTexture::setOnCustomThread ( bool is)
inline

Definition at line 82 of file qquickcontext2dtexture_p.h.

References m_onCustomThread.

Referenced by QQuickContext2D::init().

+ Here is the caller graph for this function:

◆ setSmooth()

void QQuickContext2DTexture::setSmooth ( bool smooth)

Definition at line 64 of file qquickcontext2dtexture.cpp.

References m_smooth.

Referenced by canvasChanged(), and QQuickContext2D::init().

+ Here is the caller graph for this function:

◆ setTileSize()

bool QQuickContext2DTexture::setTileSize ( const QSize & size)

Definition at line 55 of file qquickcontext2dtexture.cpp.

References m_tileSize.

Referenced by canvasChanged(), and QQuickContext2D::init().

+ Here is the caller graph for this function:

◆ textureChanged

void QQuickContext2DTexture::textureChanged ( )
signal

Referenced by markDirtyTexture().

+ Here is the caller graph for this function:

◆ textureForNextFrame()

virtual QSGTexture * QQuickContext2DTexture::textureForNextFrame ( QSGTexture * lastFrame,
QQuickWindow * window )
pure virtual

Implemented in QQuickContext2DImageTexture.

◆ tiledRect()

QRect QQuickContext2DTexture::tiledRect ( const QRectF & window,
const QSize & tileSize )
static

Definition at line 227 of file qquickcontext2dtexture.cpp.

References tileSize, and window().

Referenced by createTiles().

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

Member Data Documentation

◆ m_antialiasing

uint QQuickContext2DTexture::m_antialiasing
protected

Definition at line 130 of file qquickcontext2dtexture_p.h.

Referenced by paint(), paintWithoutTiles(), and setAntialiasing().

◆ m_canvasDevicePixelRatio

qreal QQuickContext2DTexture::m_canvasDevicePixelRatio
protected

◆ m_canvasSize

QSize QQuickContext2DTexture::m_canvasSize
protected

Definition at line 119 of file qquickcontext2dtexture_p.h.

Referenced by paint(), and setCanvasSize().

◆ m_canvasWindow

QRect QQuickContext2DTexture::m_canvasWindow
protected

◆ m_canvasWindowChanged

uint QQuickContext2DTexture::m_canvasWindowChanged
protected

◆ m_condition

QWaitCondition QQuickContext2DTexture::m_condition
protected

Definition at line 125 of file qquickcontext2dtexture_p.h.

◆ m_context

QQuickContext2D* QQuickContext2DTexture::m_context
protected

Definition at line 113 of file qquickcontext2dtexture_p.h.

Referenced by QQuickContext2DImageTexture::grabImage(), and setItem().

◆ m_dirtyTexture

uint QQuickContext2DTexture::m_dirtyTexture
protected

◆ m_item

QQuickCanvasItem* QQuickContext2DTexture::m_item
protected

◆ m_mutex

QMutex QQuickContext2DTexture::m_mutex
protected

◆ m_onCustomThread

◆ m_painting

uint QQuickContext2DTexture::m_painting
protected

Definition at line 132 of file qquickcontext2dtexture_p.h.

Referenced by beginPainting(), and endPainting().

◆ m_smooth

uint QQuickContext2DTexture::m_smooth
protected

Definition at line 129 of file qquickcontext2dtexture_p.h.

Referenced by paint(), paintWithoutTiles(), and setSmooth().

◆ m_state

QQuickContext2D::State QQuickContext2DTexture::m_state
protected

Definition at line 116 of file qquickcontext2dtexture_p.h.

Referenced by paint(), paintWithoutTiles(), and setItem().

◆ m_surface

QSurface* QQuickContext2DTexture::m_surface
protected

Definition at line 114 of file qquickcontext2dtexture_p.h.

◆ m_tiledCanvas

uint QQuickContext2DTexture::m_tiledCanvas
protected

Definition at line 131 of file qquickcontext2dtexture_p.h.

Referenced by canvasChanged(), paint(), and setDirtyRect().

◆ m_tiles

QList<QQuickContext2DTile*> QQuickContext2DTexture::m_tiles
protected

Definition at line 112 of file qquickcontext2dtexture_p.h.

Referenced by clearTiles(), createTiles(), paint(), and setDirtyRect().

◆ m_tileSize

QSize QQuickContext2DTexture::m_tileSize
protected

Definition at line 120 of file qquickcontext2dtexture_p.h.

Referenced by createTiles(), and setTileSize().


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