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
QPaintDeviceWindow Class Reference

\inmodule QtGui More...

#include <qpaintdevicewindow.h>

+ Inheritance diagram for QPaintDeviceWindow:
+ Collaboration diagram for QPaintDeviceWindow:

Public Slots

void update ()
 Marks the entire window as dirty and schedules a repaint.
 
- Public Slots inherited from QWindow
 Q_REVISION (2, 1) void requestActivate()
 
void setVisible (bool visible)
 
void show ()
 Shows the window.
 
void hide ()
 Hides the window.
 
void showMinimized ()
 Shows the window as minimized.
 
void showMaximized ()
 Shows the window as maximized.
 
void showFullScreen ()
 Shows the window as fullscreen.
 
void showNormal ()
 Shows the window as normal, i.e.
 
bool close ()
 Close the window.
 
void raise ()
 Raise the window in the windowing system.
 
void lower ()
 Lower the window in the windowing system.
 
bool startSystemResize (Qt::Edges edges)
 Start a system-specific resize operation.
 
bool startSystemMove ()
 Start a system-specific move operation.
 
void setTitle (const QString &)
 
void setX (int arg)
 
void setY (int arg)
 
void setWidth (int arg)
 
void setHeight (int arg)
 
void setGeometry (int posx, int posy, int w, int h)
 Sets the geometry of the window, excluding its window frame, to a rectangle constructed from posx, posy, w and h.
 
void setGeometry (const QRect &rect)
 Sets the geometry of the window, excluding its window frame, to rect.
 
void setMinimumWidth (int w)
 
void setMinimumHeight (int h)
 
void setMaximumWidth (int w)
 
void setMaximumHeight (int h)
 
 Q_REVISION (2, 1) void alert(int msec)
 
 Q_REVISION (2, 3) void requestUpdate()
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 

Public Member Functions

void update (const QRect &rect)
 Marks the rect of the window as dirty and schedules a repaint.
 
void update (const QRegion &region)
 Marks the region of the window as dirty and schedules a repaint.
 
- 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.
 
- Public Member Functions inherited from QSurface
virtual ~QSurface ()
 Destroys the surface.
 
SurfaceClass surfaceClass () const
 Returns the surface class of this surface.
 
virtual QPlatformSurfacesurfaceHandle () const =0
 Returns a handle to the platform-specific implementation of the surface.
 
bool supportsOpenGL () const
 Returns true if the surface is OpenGL compatible and can be used in conjunction with QOpenGLContext; otherwise returns false.
 
- Public Member Functions inherited from QPaintDevice
virtual ~QPaintDevice ()
 
virtual int devType () const
 
bool paintingActive () const
 
int width () const
 
int height () const
 
int widthMM () const
 
int heightMM () const
 
int logicalDpiX () const
 
int logicalDpiY () const
 
int physicalDpiX () const
 
int physicalDpiY () const
 
qreal devicePixelRatio () const
 
qreal devicePixelRatioF () const
 
int colorCount () const
 
int depth () const
 

Protected Member Functions

void exposeEvent (QExposeEvent *) override
 
void paintEvent (QPaintEvent *event) override
 Handles paint events passed in the event parameter.
 
int metric (PaintDeviceMetric metric) const override
 
bool event (QEvent *event) override
 
 QPaintDeviceWindow (QPaintDeviceWindowPrivate &dd, QWindow *parent)
 
- Protected Member Functions inherited from QWindow
virtual void resizeEvent (QResizeEvent *)
 Override this to handle resize events (ev).
 
virtual void moveEvent (QMoveEvent *)
 Override this to handle window move events (ev).
 
virtual void focusInEvent (QFocusEvent *)
 Override this to handle focus in events (ev).
 
virtual void focusOutEvent (QFocusEvent *)
 Override this to handle focus out events (ev).
 
virtual void showEvent (QShowEvent *)
 Override this to handle show events (ev).
 
virtual void hideEvent (QHideEvent *)
 Override this to handle hide events (ev).
 
virtual void closeEvent (QCloseEvent *)
 Override this to handle close events (ev).
 
virtual void keyPressEvent (QKeyEvent *)
 Override this to handle key press events (ev).
 
virtual void keyReleaseEvent (QKeyEvent *)
 Override this to handle key release events (ev).
 
virtual void mousePressEvent (QMouseEvent *)
 Override this to handle mouse press events (ev).
 
virtual void mouseReleaseEvent (QMouseEvent *)
 Override this to handle mouse release events (ev).
 
virtual void mouseDoubleClickEvent (QMouseEvent *)
 Override this to handle mouse double click events (ev).
 
virtual void mouseMoveEvent (QMouseEvent *)
 Override this to handle mouse move events (ev).
 
virtual void touchEvent (QTouchEvent *)
 Override this to handle touch events (ev).
 
virtual bool nativeEvent (const QByteArray &eventType, void *message, qintptr *result)
 Override this to handle platform dependent events.
 
 QWindow (QWindowPrivate &dd, QWindow *parent)
 Creates a window as a child of the given parent window with the dd private implementation.
 
- 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 Member Functions inherited from QSurface
 QSurface (SurfaceClass type)
 Creates a surface with the given type.
 
- Protected Member Functions inherited from QPaintDevice
 QPaintDevice () noexcept
 
virtual void initPainter (QPainter *painter) const
 
virtual QPaintDeviceredirected (QPoint *offset) const
 
virtual QPaintersharedPainter () const
 

Properties

int width
 the width of the window's geometry
 
int height
 the height of the window's geometry
 
- Properties inherited from QWindow
QString title
 the window's title in the windowing system
 
Qt::WindowModality modality
 the modality of the window
 
Qt::WindowFlags flags
 the window flags of the window
 
int x
 the x position of the window's geometry
 
int y
 the y position of the window's geometry
 
int width
 the width of the window's geometry
 
int height
 the height of the window's geometry
 
int minimumWidth
 the minimum width of the window's geometry
 
int minimumHeight
 the minimum height of the window's geometry
 
int maximumWidth
 the maximum width of the window's geometry
 
int maximumHeight
 the maximum height of the window's geometry
 
bool visible
 whether the window is visible or not
 
bool active
 the active status of the window
 
Visibility visibility
 the screen-occupation state of the window
 
Qt::ScreenOrientation contentOrientation
 the orientation of the window's contents
 
qreal opacity
 The opacity of the window in the windowing system.
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Private Member Functions

QPaintEnginepaintEngine () const override
 

Additional Inherited Members

- Public Types inherited from QSurface
enum  SurfaceClass { Window , Offscreen }
 The SurfaceClass enum describes the actual subclass of the surface. More...
 
enum  SurfaceType {
  RasterSurface , OpenGLSurface , RasterGLSurface , OpenVGSurface ,
  VulkanSurface , MetalSurface , Direct3DSurface
}
 The SurfaceType enum describes what type of surface this is. More...
 
- Public Types inherited from QPaintDevice
enum  PaintDeviceMetric {
  PdmWidth = 1 , PdmHeight , PdmWidthMM , PdmHeightMM ,
  PdmNumColors , PdmDepth , PdmDpiX , PdmDpiY ,
  PdmPhysicalDpiX , PdmPhysicalDpiY , PdmDevicePixelRatio , PdmDevicePixelRatioScaled
}
 
- Signals inherited from QWindow
void screenChanged (QScreen *screen)
 This signal is emitted when a window's screen changes, either by being set explicitly with setScreen(), or automatically when the window's screen is removed.
 
void modalityChanged (Qt::WindowModality modality)
 This signal is emitted when the Qwindow::modality property changes to modality.
 
void windowStateChanged (Qt::WindowState windowState)
 This signal is emitted when the windowState changes, either by being set explicitly with setWindowStates(), or automatically when the user clicks one of the titlebar buttons or by other means.
 
 Q_REVISION (2, 2) void windowTitleChanged(const QString &title)
 
void xChanged (int arg)
 
void yChanged (int arg)
 
void widthChanged (int arg)
 
void heightChanged (int arg)
 
void minimumWidthChanged (int arg)
 
void minimumHeightChanged (int arg)
 
void maximumWidthChanged (int arg)
 
void maximumHeightChanged (int arg)
 
void visibleChanged (bool arg)
 
Q_REVISION(2, 1) void visibilityChanged(QWindow Q_REVISION (2, 1) void activeChanged()
 
void contentOrientationChanged (Qt::ScreenOrientation orientation)
 
void focusObjectChanged (QObject *object)
 This signal is emitted when the final receiver of events tied to focus is changed to object.
 
 Q_REVISION (2, 1) void opacityChanged(qreal opacity)
 
 Q_REVISION (2, 13) void transientParentChanged(QWindow *transientParent)
 
- 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.
 
- 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)
 
- Static Public Member Functions inherited from QPaintDevice
static qreal devicePixelRatioFScale ()
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Protected Attributes inherited from QSurface
SurfaceClass m_type
 
QSurfacePrivate * m_reserved
 
- Protected Attributes inherited from QPaintDevice
ushort painters
 

Detailed Description

\inmodule QtGui

Since
5.4

Convenience subclass of QWindow that is also a QPaintDevice.

QPaintDeviceWindow is like a regular QWindow, with the added functionality of being a paint device too. Whenever the content needs to be updated, the virtual paintEvent() function is called. Subclasses, that reimplement this function, can then simply open a QPainter on the window.

Note
This class cannot directly be used in applications. It rather serves as a base for subclasses like QOpenGLWindow.
See also
QOpenGLWindow

Definition at line 16 of file qpaintdevicewindow.h.

Constructor & Destructor Documentation

◆ QPaintDeviceWindow()

QPaintDeviceWindow::QPaintDeviceWindow ( QPaintDeviceWindowPrivate & dd,
QWindow * parent )
protected

Definition at line 184 of file qpaintdevicewindow.cpp.

Member Function Documentation

◆ event()

bool QPaintDeviceWindow::event ( QEvent * event)
overrideprotectedvirtual

Reimplemented from QWindow.

Definition at line 157 of file qpaintdevicewindow.cpp.

References d, QWindow::event(), QEvent::Paint, QEvent::Resize, QWindow::size(), and QEvent::UpdateRequest.

+ Here is the call graph for this function:

◆ exposeEvent()

void QPaintDeviceWindow::exposeEvent ( QExposeEvent * exposeEvent)
overrideprotectedvirtual

Reimplemented from QWindow.

Definition at line 149 of file qpaintdevicewindow.cpp.

References QWindow::exposeEvent(), and exposeEvent().

Referenced by exposeEvent().

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

◆ metric()

int QPaintDeviceWindow::metric ( PaintDeviceMetric metric) const
overrideprotectedvirtual

◆ paintEngine()

QPaintEngine * QPaintDeviceWindow::paintEngine ( ) const
overrideprivatevirtual

Implements QPaintDevice.

Definition at line 192 of file qpaintdevicewindow.cpp.

◆ paintEvent()

void QPaintDeviceWindow::paintEvent ( QPaintEvent * event)
overrideprotectedvirtual

Handles paint events passed in the event parameter.

The default implementation does nothing. Reimplement this function to perform painting. If necessary, the dirty area is retrievable from the event.

Reimplemented from QWindow.

Reimplemented in QShapedPixmapWindow, and QWindowsDragCursorWindow.

Definition at line 89 of file qpaintdevicewindow.cpp.

References Q_UNUSED.

◆ update [1/3]

void QPaintDeviceWindow::update ( )
slot

Marks the entire window as dirty and schedules a repaint.

Note
Subsequent calls to this function before the next paint event will get ignored.
For non-exposed windows the update is deferred until the window becomes exposed again.

Definition at line 43 of file qpaintdevicewindow.cpp.

References QWindow::size(), and update().

Referenced by QWindowsDragCursorWindow::setPixmap(), and update().

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

◆ update() [2/3]

void QPaintDeviceWindow::update ( const QRect & rect)

Marks the rect of the window as dirty and schedules a repaint.

Note
Subsequent calls to this function before the next paint event will get ignored, but rect is added to the region to update.
For non-exposed windows the update is deferred until the window becomes exposed again.

Definition at line 57 of file qpaintdevicewindow.cpp.

References d, and rect.

◆ update() [3/3]

void QPaintDeviceWindow::update ( const QRegion & region)

Marks the region of the window as dirty and schedules a repaint.

Note
Subsequent calls to this function before the next paint event will get ignored, but region is added to the region to update.
For non-exposed windows the update is deferred until the window becomes exposed again.

Definition at line 74 of file qpaintdevicewindow.cpp.

References d.

Property Documentation

◆ height

QWindow::height
readwrite

the height of the window's geometry

Definition at line 83 of file qwindow.h.

Referenced by metric(), and QOpenGLWindow::resizeEvent().

◆ width

QWindow::width
readwrite

the width of the window's geometry

Definition at line 82 of file qwindow.h.

Referenced by metric(), and QOpenGLWindow::resizeEvent().


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