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
QOpenGLWidgetPrivate Class Reference
+ Inheritance diagram for QOpenGLWidgetPrivate:
+ Collaboration diagram for QOpenGLWidgetPrivate:

Public Member Functions

 QOpenGLWidgetPrivate ()=default
 
void reset ()
 
void resetRhiDependentResources ()
 
void recreateFbos ()
 
void ensureRhiDependentResources ()
 
QWidgetPrivate::TextureData texture () const override
 
QPlatformTextureList::Flags textureListFlags () override
 
QPlatformBackingStoreRhiConfig rhiConfig () const override
 
void initialize ()
 
void render ()
 
void invalidateFboBeforePainting ()
 
void invalidateFboAfterPainting ()
 
void destroyFbos ()
 
bool setCurrentTargetBuffer (QOpenGLWidget::TargetBuffer targetBuffer)
 
QImage grabFramebuffer (QOpenGLWidget::TargetBuffer targetBuffer)
 
QImage grabFramebuffer () override
 
void beginBackingStorePainting () override
 
void endBackingStorePainting () override
 
void beginCompose () override
 
void endCompose () override
 
void initializeViewportFramebuffer () override
 
bool isStereoEnabled () override
 
bool toggleStereoTargetBuffer () override
 
void resizeViewportFramebuffer () override
 
void resolveSamples () override
 
void resolveSamplesForBuffer (QOpenGLWidget::TargetBuffer targetBuffer)
 
- Public Member Functions inherited from QWidgetPrivate
 QWidgetPrivate (int version=QObjectPrivateVersion)
 
 ~QWidgetPrivate ()
 
QWExtraextraData () const
 
QTLWExtratopData () const
 
QTLWExtramaybeTopData () const
 
QPaintersharedPainter () const
 
void setSharedPainter (QPainter *painter)
 
QWidgetRepaintManagermaybeRepaintManager () const
 
QRhirhi () const
 
QWindowwindowHandle (WindowHandleMode mode=WindowHandleMode::Direct) const
 
QWindow_q_closestWindowHandle () const
 
QScreenassociatedScreen () const
 
template<typename T >
void repaint (T t)
 
template<typename T >
void update (T t)
 
void init (QWidget *desktopWidget, Qt::WindowFlags f)
 
void create ()
 
void createRecursively ()
 
void createWinId ()
 
bool setScreenForPoint (const QPoint &pos)
 
bool setScreen (QScreen *screen)
 
void createTLExtra ()
 
void createExtra ()
 
void deleteExtra ()
 
void createSysExtra ()
 
void deleteSysExtra ()
 
void createTLSysExtra ()
 
void deleteTLSysExtra ()
 
void updateSystemBackground ()
 
void propagatePaletteChange ()
 
void setPalette_helper (const QPalette &)
 
void resolvePalette ()
 
QPalette naturalWidgetPalette (QPalette::ResolveMask inheritedMask) const
 
void setMask_sys (const QRegion &)
 
void raise_sys ()
 
void lower_sys ()
 
void stackUnder_sys (QWidget *)
 
QWidgetdeepestFocusProxy () const
 
void setFocus_sys ()
 
void updateFocusChild ()
 
void updateFont (const QFont &)
 
void setFont_helper (const QFont &font)
 
QFont localFont () const
 
void resolveFont ()
 
QFont naturalWidgetFont (uint inheritedMask) const
 
void setLayoutDirection_helper (Qt::LayoutDirection)
 
void resolveLayoutDirection ()
 
void setLocale_helper (const QLocale &l, bool forceUpdate=false)
 
void resolveLocale ()
 
void setStyle_helper (QStyle *newStyle, bool propagate)
 
void inheritStyle ()
 
void setUpdatesEnabled_helper (bool)
 
bool updateBrushOrigin (QPainter *, const QBrush &brush) const
 
void paintBackground (QPainter *, const QRegion &, DrawWidgetFlags flags=DrawAsRoot) const
 
bool isAboutToShow () const
 The graphicsEffect function returns a pointer to the widget's graphics effect.
 
QRegion prepareToRender (const QRegion &region, QWidget::RenderFlags renderFlags)
 
void render_helper (QPainter *painter, const QPoint &targetOffset, const QRegion &sourceRegion, QWidget::RenderFlags renderFlags)
 
void render (QPaintDevice *target, const QPoint &targetOffset, const QRegion &sourceRegion, QWidget::RenderFlags renderFlags)
 
void drawWidget (QPaintDevice *pdev, const QRegion &rgn, const QPoint &offset, DrawWidgetFlags flags, QPainter *sharedPainter=nullptr, QWidgetRepaintManager *repaintManager=nullptr)
 
void sendPaintEvent (const QRegion &toBePainted)
 
void paintSiblingsRecursive (QPaintDevice *pdev, const QObjectList &children, int index, const QRegion &rgn, const QPoint &offset, DrawWidgetFlags flags, QPainter *sharedPainter, QWidgetRepaintManager *repaintManager)
 
bool shouldPaintOnScreen () const
 
void paintOnScreen (const QRegion &rgn)
 
QRect clipRect () const
 
QRegion clipRegion () const
 
void setSystemClip (QPaintEngine *paintEngine, qreal devicePixelRatio, const QRegion &region)
 
void subtractOpaqueChildren (QRegion &rgn, const QRect &clipRect) const
 
void subtractOpaqueSiblings (QRegion &source, bool *hasDirtySiblingsAbove=nullptr, bool alsoNonOpaque=false) const
 
void clipToEffectiveMask (QRegion &region) const
 
void updateIsOpaque ()
 
void setOpaque (bool opaque)
 
void updateIsTranslucent ()
 
const QRegiongetOpaqueChildren () const
 
void setDirtyOpaqueRegion ()
 
bool close ()
 
bool handleClose (CloseMode mode)
 
void setWindowIcon_helper ()
 
void setWindowIcon_sys ()
 
void setWindowOpacity_sys (qreal opacity)
 
void adjustQuitOnCloseAttribute ()
 
void scrollChildren (int dx, int dy)
 
void moveRect (const QRect &, int dx, int dy)
 
void scrollRect (const QRect &, int dx, int dy)
 
void invalidateBackingStore_resizeHelper (const QPoint &oldPos, const QSize &oldSize)
 Invalidates the backing store when the widget is resized.
 
template<class T >
void invalidateBackingStore (const T &)
 
QRegion overlappedRegion (const QRect &rect, bool breakAfterFirst=false) const
 
bool isOverlapped (const QRect &rect) const
 
void syncBackingStore ()
 
void syncBackingStore (const QRegion &region)
 
bool shouldDiscardSyncRequest () const
 
void updateWidgetTransform (QEvent *event)
 
void reparentFocusWidgets (QWidget *oldtlw)
 
void setWinId (WId)
 
void showChildren (bool spontaneous)
 
void hideChildren (bool spontaneous)
 
void setParent_sys (QWidget *parent, Qt::WindowFlags)
 
void reparentWidgetWindows (QWidget *parentWithWindow, Qt::WindowFlags windowFlags={})
 
void reparentWidgetWindowChildren (QWidget *parentWithWindow)
 
void scroll_sys (int dx, int dy)
 
void scroll_sys (int dx, int dy, const QRect &r)
 
void deactivateWidgetCleanup ()
 
void setGeometry_sys (int, int, int, int, bool)
 
void fixPosIncludesFrame ()
 
void sendPendingMoveAndResizeEvents (bool recursive=false, bool disableUpdates=false)
 
void activateChildLayoutsRecursively ()
 
void show_recursive ()
 
void show_helper ()
 
void show_sys ()
 
void hide_sys ()
 
void hide_helper ()
 
bool isExplicitlyHidden () const
 
void _q_showIfNotHidden ()
 
void setVisible (bool)
 
void setEnabled_helper (bool)
 
void updateFrameStrut ()
 
QRect frameStrut () const
 
void setWindowIconText_sys (const QString &cap)
 
void setWindowIconText_helper (const QString &cap)
 
void setWindowTitle_sys (const QString &cap)
 
void setWindowFilePath_sys (const QString &filePath)
 
void setCursor_sys (const QCursor &cursor)
 
void unsetCursor_sys ()
 
void setWindowTitle_helper (const QString &cap)
 
void setWindowFilePath_helper (const QString &filePath)
 
void setWindowModified_helper ()
 
virtual void setWindowFlags (Qt::WindowFlags windowFlags)
 
bool setMinimumSize_helper (int &minw, int &minh)
 
bool setMaximumSize_helper (int &maxw, int &maxh)
 
void setConstraints_sys ()
 
bool pointInsideRectAndMask (const QPoint &) const
 
QWidgetchildAt_helper (const QPoint &, bool) const
 
QWidgetchildAtRecursiveHelper (const QPoint &p, bool) const
 
void updateGeometry_helper (bool forceUpdate)
 
void getLayoutItemMargins (int *left, int *top, int *right, int *bottom) const
 
void setLayoutItemMargins (int left, int top, int right, int bottom)
 
void setLayoutItemMargins (QStyle::SubElement element, const QStyleOption *opt=nullptr)
 
void updateContentsRect ()
 
QMargins safeAreaMargins () const
 
virtual void aboutToDestroy ()
 
QWidgeteffectiveFocusWidget ()
 
void setModal_sys ()
 
void setRedirected (QPaintDevice *replacement, const QPoint &offset)
 
QPaintDeviceredirected (QPoint *offset) const
 
void restoreRedirected ()
 
void enforceNativeChildren ()
 
bool nativeChildrenForced () const
 
QRect effectiveRectFor (const QRegion &region) const
 
QRect effectiveRectFor (const QRect &rect) const
 
QSize adjustedSize () const
 
void handleSoftwareInputPanel (Qt::MouseButton button, bool clickCausedFocus)
 
void handleSoftwareInputPanel (bool clickCausedFocus=false)
 
void setWSGeometry ()
 
QPoint mapToWS (const QPoint &p) const
 
QPoint mapFromWS (const QPoint &p) const
 
QRect mapToWS (const QRect &r) const
 
QRect mapFromWS (const QRect &r) const
 
virtual QObjectfocusObject ()
 
void setRenderToTexture ()
 
void setTextureChildSeen ()
 
std::string flagsForDumping () const override
 
QWidgetclosestParentWidgetWithWindowHandle () const
 
QWidgetnextPrevElementInFocusChain (FocusDirection direction) const
 
bool removeFromFocusChain (FocusChainRemovalRules rules=FocusChainRemovalRules(), FocusDirection direction=FocusDirection::Next)
 
bool insertIntoFocusChain (FocusDirection direction, QWidget *position)
 
bool insertIntoFocusChainBefore (QWidget *position)
 
bool insertIntoFocusChainAfter (QWidget *position)
 
void reparentFocusChildren (FocusDirection direction)
 
QWidgetdetermineLastFocusChild (QWidget *noFurtherThan)
 
void initFocusChain ()
 
bool isInFocusChain () const
 
bool isFocusChainConsistent () const
 
void setNetWmWindowTypes (bool skipIfMissing=false)
 
bool stealKeyboardGrab (bool grab)
 
bool stealMouseGrab (bool grab)
 
bool hasChildWithFocusPolicy (Qt::FocusPolicy policy, const QWidget *excludeChildrenOf=nullptr) const
 
- Public Member Functions inherited from QObjectPrivate
void ensureExtraData ()
 
 QObjectPrivate (int version=QObjectPrivateVersion)
 
virtual ~QObjectPrivate ()
 
void deleteChildren ()
 
void clearBindingStorage ()
 
void checkForIncompatibleLibraryVersion (int version) const
 
void setParent_helper (QObject *)
 
void moveToThread_helper ()
 
void setThreadData_helper (QThreadData *currentData, QThreadData *targetData, QBindingStatus *status)
 
QObjectList receiverList (const char *signal) const
 
void ensureConnectionData ()
 
void addConnection (int signal, Connection *c)
 
int signalIndex (const char *signalName, const QMetaObject **meta=nullptr) const
 
bool isSignalConnected (uint signalIdx, bool checkDeclarative=true) const
 
bool maybeSignalConnected (uint signalIndex) const
 
bool isDeclarativeSignalConnected (uint signalIdx) const
 
void connectNotify (const QMetaMethod &signal)
 
void disconnectNotify (const QMetaMethod &signal)
 
void reinitBindingStorageAfterThreadMove ()
 
virtual void writeToDebugStream (QDebug &) const
 
QtPrivate::QPropertyAdaptorSlotObjectgetPropertyAdaptorSlotObject (const QMetaProperty &property)
 
- Public Member Functions inherited from QObjectData
 QObjectData ()=default
 
virtual ~QObjectData ()=0
 
QMetaObjectdynamicMetaObject () const
 

Public Attributes

QOpenGLContextcontext = nullptr
 
QRhiTexturewrapperTextures [2] = {}
 
QOpenGLFramebufferObjectfbos [2] = {}
 
QOpenGLFramebufferObjectresolvedFbos [2] = {}
 
QOffscreenSurfacesurface = nullptr
 
QOpenGLPaintDevicepaintDevice = nullptr
 
int requestedSamples = 0
 
GLenum textureFormat = 0
 
QSurfaceFormat requestedFormat = QSurfaceFormat::defaultFormat()
 
QOpenGLWidget::UpdateBehavior updateBehavior = QOpenGLWidget::NoPartialUpdate
 
bool initialized = false
 
bool fakeHidden = false
 
bool inBackingStorePaint = false
 
bool hasBeenComposed = false
 
bool flushPending = false
 
bool inPaintGL = false
 
QOpenGLWidget::TargetBuffer currentTargetBuffer = QOpenGLWidget::LeftBuffer
 
- Public Attributes inherited from QWidgetPrivate
std::unique_ptr< QWExtraextra
 
QWidgetfocus_next
 
QWidgetfocus_prev
 
QWidgetfocus_child
 
QLayoutlayout
 
QRegionneedsFlush
 
QPaintDeviceredirectDev
 
QWidgetItemV2widgetItem
 
QPaintEngineextraPaintEngine
 
const QMetaObjectpolished
 
QGraphicsEffectgraphicsEffect
 
Qt::InputMethodHints imHints
 
QRegion opaqueChildren
 
QRegion dirty
 
uint directFontResolveMask
 
uint inheritedFontResolveMask
 
decltype(std::declval< QPalette >().resolveMask()) directPaletteResolveMask
 
QPalette::ResolveMask inheritedPaletteResolveMask
 
short leftmargin
 
short topmargin
 
short rightmargin
 
short bottommargin
 
signed char leftLayoutItemMargin
 
signed char topLayoutItemMargin
 
signed char rightLayoutItemMargin
 
signed char bottomLayoutItemMargin
 
Qt::HANDLE hd
 
QWidgetData data
 
QSizePolicy size_policy
 
QLocale locale
 
QPoint redirectOffset
 
QList< QAction * > actions
 
QMap< Qt::GestureType, Qt::GestureFlags > gestureContext
 
uint high_attributes [4]
 
QPalette::ColorRole fg_role: 8
 
QPalette::ColorRole bg_role: 8
 
uint dirtyOpaqueChildren: 1
 
uint isOpaque: 1
 
uint retainSizeWhenHiddenChanged: 1
 
uint inDirtyList: 1
 
uint isScrolled: 1
 
uint isMoved: 1
 
uint usesDoubleBufferedGLContext: 1
 
uint mustHaveWindowHandle: 1
 
uint renderToTexture: 1
 
uint textureChildSeen: 1
 
uint inheritsInputMethodHints: 1
 
uint renderToTextureReallyDirty: 1
 
uint usesRhiFlush: 1
 
uint childrenHiddenByWState: 1
 
uint childrenShownByExpose: 1
 
- Public Attributes inherited from QObjectPrivate
ExtraDataextraData
 
QAtomicPointer< QThreadDatathreadData
 
QAtomicPointer< ConnectionDataconnections
 
union { 
 
   QObject *   currentChildBeingDeleted 
 
   QAbstractDeclarativeData *   declarativeData 
 
};  
 
QAtomicPointer< QtSharedPointer::ExternalRefCountDatasharedRefcount
 
- Public Attributes inherited from QObjectData
QObjectq_ptr
 
QObjectparent
 
QObjectList children
 
uint isWidget: 1
 
uint blockSig: 1
 
uint wasDeleted: 1
 
uint isDeletingChildren: 1
 
uint sendChildEvents: 1
 
uint receiveChildEvents: 1
 
uint isWindow: 1
 
uint deleteLaterCalled: 1
 
uint isQuickItem: 1
 
uint willBeWidget: 1
 
uint wasWidget: 1
 
uint receiveParentEvents: 1
 
uint unused: 20
 
QAtomicInt postedEvents
 
QDynamicMetaObjectDatametaObject
 
QBindingStorage bindingStorage
 

Static Public Attributes

static constexpr GLenum gl_color_attachment0 = 0x8CE0
 
static constexpr GLenum gl_depth_attachment = 0x8D00
 
static constexpr GLenum gl_stencil_attachment = 0x8D20
 
static constexpr GLenum gl_depth_stencil_attachment = 0x821A
 
- Static Public Attributes inherited from QWidgetPrivate
static QWidgetMappermapper = nullptr
 
static QWidgetSetallWidgets = nullptr
 
static int instanceCounter = 0
 
static int maxInstances = 0
 

Additional Inherited Members

- Public Types inherited from QWidgetPrivate
enum  DrawWidgetFlag {
  DrawAsRoot = 0x01 , DrawPaintOnScreen = 0x02 , DrawRecursive = 0x04 , DrawInvisible = 0x08 ,
  DontSubtractOpaqueChildren = 0x10 , DontDrawOpaqueChildren = 0x20 , DontDrawNativeChildren = 0x40 , DontSetCompositionMode = 0x80 ,
  UseEffectRegionBounds = 0x100
}
 
enum  Direction { DirectionNorth = 0x01 , DirectionEast = 0x10 , DirectionSouth = 0x02 , DirectionWest = 0x20 }
 
enum class  WindowHandleMode { Direct , Closest , TopLevel }
 
enum  CloseMode { CloseNoEvent , CloseWithEvent , CloseWithSpontaneousEvent }
 
enum class  FocusDirection { Previous , Next }
 
enum class  FocusChainRemovalRule { EnsureFocusOut = 0x01 , AssertConsistency = 0x02 }
 
- Public Types inherited from QObjectPrivate
typedef void(* StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **)
 
using ConnectionDataPointer = QExplicitlySharedDataPointer<ConnectionData>
 
- Static Public Member Functions inherited from QWidgetPrivate
static QWidgetPrivateget (QWidget *w)
 
static const QWidgetPrivateget (const QWidget *w)
 
static void checkRestoredGeometry (const QRect &availableGeometry, QRect *restoredGeometry, int frameHeight)
 
static void adjustFlags (Qt::WindowFlags &flags, QWidget *w=nullptr)
 
static QWidgetparentGraphicsView (const QWidget *widget)
 
static QRect screenGeometry (const QWidget *widget)
 
static QRect availableScreenGeometry (const QWidget *widget)
 
static QScreenscreen (const QWidget *widget, const QPoint &globalPosition, bool hasPosition=true)
 
static QRect screenGeometry (const QWidget *widget, const QPoint &globalPosition, bool hasPosition=true)
 
static QRect availableScreenGeometry (const QWidget *widget, const QPoint &globalPosition, bool hasPosition=true)
 
static void sendComposeStatus (QWidget *w, bool end)
 
static void setWidgetParentHelper (QObject *widgetAsObject, QObject *newParent)
 
static bool insertIntoFocusChain (const QWidgetList &toBeInserted, FocusDirection direction, QWidget *position)
 
static QWidgetList takeFromFocusChain (QWidget *from, QWidget *to, FocusDirection direction=FocusDirection::Next)
 
- Static Public Member Functions inherited from QObjectPrivate
static bool removeConnection (Connection *c)
 
static QObjectPrivateget (QObject *o)
 
static const QObjectPrivateget (const QObject *o)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot)
 
static QMetaObject::Connection connectImpl (const QObject *sender, int signal_index, const QObject *receiver, void **slot, QtPrivate::QSlotObjectBase *slotObj, int type, const int *types, const QMetaObject *senderMetaObject)
 
static QMetaObject::Connection connect (const QObject *sender, int signal_index, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
 
static QMetaObject::Connection connect (const QObject *sender, int signal_index, const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
 
static bool disconnect (const QObject *sender, int signal_index, void **slot)
 
static bool disconnect (const QObject *sender, int signal_index, const QObject *receiver, void **slot)
 

Detailed Description

Definition at line 537 of file qopenglwidget.cpp.

Constructor & Destructor Documentation

◆ QOpenGLWidgetPrivate()

QOpenGLWidgetPrivate::QOpenGLWidgetPrivate ( )
default

Member Function Documentation

◆ beginBackingStorePainting()

void QOpenGLWidgetPrivate::beginBackingStorePainting ( )
inlineoverridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 569 of file qopenglwidget.cpp.

References inBackingStorePaint.

◆ beginCompose()

void QOpenGLWidgetPrivate::beginCompose ( )
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 806 of file qopenglwidget.cpp.

References context, emit, flushPending, QOpenGLContext::functions(), and hasBeenComposed.

+ Here is the call graph for this function:

◆ destroyFbos()

void QOpenGLWidgetPrivate::destroyFbos ( )

Definition at line 1031 of file qopenglwidget.cpp.

References QOpenGLWidget::LeftBuffer, resetRhiDependentResources(), resolvedFbos, and QOpenGLWidget::RightBuffer.

Referenced by recreateFbos(), and reset().

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

◆ endBackingStorePainting()

void QOpenGLWidgetPrivate::endBackingStorePainting ( )
inlineoverridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 570 of file qopenglwidget.cpp.

References inBackingStorePaint.

◆ endCompose()

void QOpenGLWidgetPrivate::endCompose ( )
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 818 of file qopenglwidget.cpp.

References emit.

◆ ensureRhiDependentResources()

void QOpenGLWidgetPrivate::ensureRhiDependentResources ( )

Definition at line 783 of file qopenglwidget.cpp.

References QRhi::backend(), currentTargetBuffer, QRhi::newTexture(), QRhi::OpenGLES2, qWarning, QRhiTexture::RenderTarget, resolvedFbos, QRhiTexture::RGBA8, QWidgetPrivate::rhi(), QRhiTexture::setPixelSize(), QOpenGLFramebufferObject::texture(), and wrapperTextures.

Referenced by recreateFbos().

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

◆ grabFramebuffer() [1/2]

QImage QOpenGLWidgetPrivate::grabFramebuffer ( )
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 1046 of file qopenglwidget.cpp.

References grabFramebuffer(), and QOpenGLWidget::LeftBuffer.

Referenced by grabFramebuffer().

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

◆ grabFramebuffer() [2/2]

QImage QOpenGLWidgetPrivate::grabFramebuffer ( QOpenGLWidget::TargetBuffer targetBuffer)

Definition at line 1051 of file qopenglwidget.cpp.

References QOpenGLFramebufferObject::bind(), hasAlpha(), initialize(), initialized, inPaintGL, isStereoEnabled(), QOpenGLWidget::LeftBuffer, qt_gl_read_framebuffer(), recreateFbos(), render(), resolvedFbos, resolveSamplesForBuffer(), QOpenGLWidget::RightBuffer, and setCurrentTargetBuffer().

+ Here is the call graph for this function:

◆ initialize()

◆ initializeViewportFramebuffer()

void QOpenGLWidgetPrivate::initializeViewportFramebuffer ( )
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 1090 of file qopenglwidget.cpp.

◆ invalidateFboAfterPainting()

void QOpenGLWidgetPrivate::invalidateFboAfterPainting ( )

Definition at line 1014 of file qopenglwidget.cpp.

References QOpenGLContext::currentContext(), QOpenGLExtensions::DiscardFramebuffer, gl_depth_attachment, gl_depth_stencil_attachment, GL_FRAMEBUFFER, gl_stencil_attachment, GLenum(), and GLsizei().

Referenced by render().

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

◆ invalidateFboBeforePainting()

void QOpenGLWidgetPrivate::invalidateFboBeforePainting ( )

Definition at line 994 of file qopenglwidget.cpp.

References QOpenGLContext::currentContext(), QOpenGLExtensions::DiscardFramebuffer, gl_color_attachment0, gl_depth_attachment, gl_depth_stencil_attachment, GL_FRAMEBUFFER, gl_stencil_attachment, GLenum(), and GLsizei().

Referenced by render().

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

◆ isStereoEnabled()

bool QOpenGLWidgetPrivate::isStereoEnabled ( )
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 1098 of file qopenglwidget.cpp.

Referenced by grabFramebuffer(), recreateFbos(), render(), resetRhiDependentResources(), and setCurrentTargetBuffer().

+ Here is the caller graph for this function:

◆ recreateFbos()

void QOpenGLWidgetPrivate::recreateFbos ( )

Definition at line 726 of file qopenglwidget.cpp.

References QOpenGLFramebufferObject::CombinedDepthStencil, context, currentTargetBuffer, destroyFbos(), emit, ensureRhiDependentResources(), flushPending, QOpenGLExtensions::FramebufferMultisample, QOpenGLContext::functions(), QOpenGLFunctions::glClear(), isStereoEnabled(), QOpenGLWidget::LeftBuffer, QOpenGLContext::makeCurrent(), paintDevice, requestedSamples, resolvedFbos, QOpenGLWidget::RightBuffer, QOpenGLFramebufferObjectFormat::setAttachment(), QOpenGLPaintDevice::setDevicePixelRatio(), QOpenGLPaintDevice::setSize(), surface, and textureFormat.

Referenced by grabFramebuffer(), and resizeViewportFramebuffer().

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

◆ render()

void QOpenGLWidgetPrivate::render ( )

Definition at line 922 of file qopenglwidget.cpp.

References QOpenGLContext::currentContext(), currentTargetBuffer, fakeHidden, flushPending, QOpenGLContextPrivate::get(), GL_ARRAY_BUFFER, QOpenGLFunctions::glViewport(), hasBeenComposed, initialized, inPaintGL, invalidateFboAfterPainting(), invalidateFboBeforePainting(), isStereoEnabled(), QOpenGLWidget::LeftBuffer, QOpenGLWidget::NoPartialUpdate, qWarning, QOpenGLWidget::RightBuffer, setCurrentTargetBuffer(), and updateBehavior.

Referenced by grabFramebuffer().

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

◆ reset()

void QOpenGLWidgetPrivate::reset ( )

Definition at line 685 of file qopenglwidget.cpp.

References context, destroyFbos(), fakeHidden, inBackingStorePaint, initialized, paintDevice, and surface.

+ Here is the call graph for this function:

◆ resetRhiDependentResources()

void QOpenGLWidgetPrivate::resetRhiDependentResources ( )

Definition at line 711 of file qopenglwidget.cpp.

References isStereoEnabled(), and wrapperTextures.

Referenced by destroyFbos().

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

◆ resizeViewportFramebuffer()

void QOpenGLWidgetPrivate::resizeViewportFramebuffer ( )
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 1114 of file qopenglwidget.cpp.

References currentTargetBuffer, initialized, and recreateFbos().

+ Here is the call graph for this function:

◆ resolveSamples()

void QOpenGLWidgetPrivate::resolveSamples ( )
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 905 of file qopenglwidget.cpp.

References QOpenGLWidget::LeftBuffer, resolveSamplesForBuffer(), and QOpenGLWidget::RightBuffer.

+ Here is the call graph for this function:

◆ resolveSamplesForBuffer()

void QOpenGLWidgetPrivate::resolveSamplesForBuffer ( QOpenGLWidget::TargetBuffer targetBuffer)

Definition at line 911 of file qopenglwidget.cpp.

References QOpenGLFramebufferObject::blitFramebuffer(), flushPending, rect, and resolvedFbos.

Referenced by grabFramebuffer(), and resolveSamples().

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

◆ rhiConfig()

QPlatformBackingStoreRhiConfig QOpenGLWidgetPrivate::rhiConfig ( ) const
inlineoverridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 551 of file qopenglwidget.cpp.

References QPlatformBackingStoreRhiConfig::OpenGL.

◆ setCurrentTargetBuffer()

bool QOpenGLWidgetPrivate::setCurrentTargetBuffer ( QOpenGLWidget::TargetBuffer targetBuffer)

Definition at line 1680 of file qopenglwidget.cpp.

References currentTargetBuffer, isStereoEnabled(), and QOpenGLWidget::RightBuffer.

Referenced by grabFramebuffer(), render(), and toggleStereoTargetBuffer().

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

◆ texture()

QWidgetPrivate::TextureData QOpenGLWidgetPrivate::texture ( ) const
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 651 of file qopenglwidget.cpp.

References QOpenGLWidget::LeftBuffer, QOpenGLWidget::RightBuffer, and wrapperTextures.

◆ textureListFlags()

QPlatformTextureList::Flags QOpenGLWidgetPrivate::textureListFlags ( )
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 669 of file qopenglwidget.cpp.

References GL_SRGB, GL_SRGB8, GL_SRGB8_ALPHA8, GL_SRGB_ALPHA, textureFormat, QPlatformTextureList::TextureIsSrgb, and QWidgetPrivate::textureListFlags().

+ Here is the call graph for this function:

◆ toggleStereoTargetBuffer()

bool QOpenGLWidgetPrivate::toggleStereoTargetBuffer ( )
overridevirtual

Reimplemented from QWidgetPrivate.

Definition at line 1107 of file qopenglwidget.cpp.

References currentTargetBuffer, QOpenGLWidget::LeftBuffer, QOpenGLWidget::RightBuffer, and setCurrentTargetBuffer().

+ Here is the call graph for this function:

Member Data Documentation

◆ context

◆ currentTargetBuffer

◆ fakeHidden

bool QOpenGLWidgetPrivate::fakeHidden = false

Definition at line 592 of file qopenglwidget.cpp.

Referenced by render(), and reset().

◆ fbos

QOpenGLFramebufferObject* QOpenGLWidgetPrivate::fbos[2] = {}

Definition at line 583 of file qopenglwidget.cpp.

Referenced by QOpenGLWidgetPaintDevice::ensureActiveTarget().

◆ flushPending

bool QOpenGLWidgetPrivate::flushPending = false

◆ gl_color_attachment0

constexpr GLenum QOpenGLWidgetPrivate::gl_color_attachment0 = 0x8CE0
staticconstexpr

Definition at line 556 of file qopenglwidget.cpp.

Referenced by invalidateFboBeforePainting().

◆ gl_depth_attachment

constexpr GLenum QOpenGLWidgetPrivate::gl_depth_attachment = 0x8D00
staticconstexpr

Definition at line 557 of file qopenglwidget.cpp.

Referenced by invalidateFboAfterPainting(), and invalidateFboBeforePainting().

◆ gl_depth_stencil_attachment

constexpr GLenum QOpenGLWidgetPrivate::gl_depth_stencil_attachment = 0x821A
staticconstexpr

Definition at line 559 of file qopenglwidget.cpp.

Referenced by invalidateFboAfterPainting(), and invalidateFboBeforePainting().

◆ gl_stencil_attachment

constexpr GLenum QOpenGLWidgetPrivate::gl_stencil_attachment = 0x8D20
staticconstexpr

Definition at line 558 of file qopenglwidget.cpp.

Referenced by invalidateFboAfterPainting(), and invalidateFboBeforePainting().

◆ hasBeenComposed

bool QOpenGLWidgetPrivate::hasBeenComposed = false

Definition at line 594 of file qopenglwidget.cpp.

Referenced by beginCompose(), and render().

◆ inBackingStorePaint

bool QOpenGLWidgetPrivate::inBackingStorePaint = false

Definition at line 593 of file qopenglwidget.cpp.

Referenced by beginBackingStorePainting(), endBackingStorePainting(), and reset().

◆ initialized

◆ inPaintGL

bool QOpenGLWidgetPrivate::inPaintGL = false

◆ paintDevice

QOpenGLPaintDevice* QOpenGLWidgetPrivate::paintDevice = nullptr

Definition at line 586 of file qopenglwidget.cpp.

Referenced by initialize(), recreateFbos(), and reset().

◆ requestedFormat

QSurfaceFormat QOpenGLWidgetPrivate::requestedFormat = QSurfaceFormat::defaultFormat()

Definition at line 589 of file qopenglwidget.cpp.

Referenced by initialize().

◆ requestedSamples

int QOpenGLWidgetPrivate::requestedSamples = 0

Definition at line 587 of file qopenglwidget.cpp.

Referenced by initialize(), and recreateFbos().

◆ resolvedFbos

QOpenGLFramebufferObject* QOpenGLWidgetPrivate::resolvedFbos[2] = {}

◆ surface

QOffscreenSurface* QOpenGLWidgetPrivate::surface = nullptr

Definition at line 585 of file qopenglwidget.cpp.

Referenced by initialize(), recreateFbos(), and reset().

◆ textureFormat

GLenum QOpenGLWidgetPrivate::textureFormat = 0

Definition at line 588 of file qopenglwidget.cpp.

Referenced by recreateFbos(), and textureListFlags().

◆ updateBehavior

QOpenGLWidget::UpdateBehavior QOpenGLWidgetPrivate::updateBehavior = QOpenGLWidget::NoPartialUpdate

Definition at line 590 of file qopenglwidget.cpp.

Referenced by render().

◆ wrapperTextures

QRhiTexture* QOpenGLWidgetPrivate::wrapperTextures[2] = {}

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