- Qt 6.5
- Qt 3D
- C++ Classes
- Qt3DRender
- QRenderSurfaceSelector
- Qt 6.5.1 Reference Documentation

# QRenderSurfaceSelector Class

class Qt3DRender::QRenderSurfaceSelector

Provides a way of specifying the render surface. More...

Header: | #include <QRenderSurfaceSelector>
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: | QT += 3drender
Instantiated By: | RenderSurfaceSelector
Inherits: | Qt3DRender::QFrameGraphNode

- List of all members, including inherited members

## Properties

- externalRenderTargetSize : QSize
- surface : QObject*
- surfacePixelRatio : float

## Public Functions

| QRenderSurfaceSelector(Qt3DCore::QNode *parent = nullptr)
QSize | externalRenderTargetSize() const
QObject * | surface() const
float | surfacePixelRatio() const

## Public Slots

void | setExternalRenderTargetSize(const QSize &size)
void | setSurface(QObject *surfaceObject)
void | setSurfacePixelRatio(float ratio)

## Signals

void | externalRenderTargetSizeChanged(const QSize &size)
void | surfaceChanged(QObject *surface)
void | surfacePixelRatioChanged(float ratio)

## Detailed Description

The Qt3DRender::QRenderSurfaceSelector can be used to select the surface, where Qt3D renders the content. The surface can either be window surface or offscreen surface. The externalRenderTargetSize is used to specify the actual size of the surface when offscreen surface is used.

When DPI scaling is used by the system, the logical surface size, which is used by mouse events, and the actual 'physical' size of the surface can differ. The surfacePixelRatio is the factor to convert the logical size to the physical size.

See also QWindow, QOffscreenSurface, and QSurface.

## Property Documentation

### externalRenderTargetSize : QSize

Holds the size of the external render target.

Access functions:

QSize | externalRenderTargetSize() const
void | setExternalRenderTargetSize(const QSize &size)

Notifier signal:

void | externalRenderTargetSizeChanged(const QSize &size)

### surface : QObject*

Holds the surface

Access functions:

QObject * | surface() const
void | setSurface(QObject *surfaceObject)

Notifier signal:

void | surfaceChanged(QObject *surface)

### surfacePixelRatio : float

Holds the surfacePixelRatio of the surface.

Access functions:

float | surfacePixelRatio() const
void | setSurfacePixelRatio(float ratio)

Notifier signal:

void | surfacePixelRatioChanged(float ratio)

## Member Function Documentation

### `[explicit]` QRenderSurfaceSelector::QRenderSurfaceSelector(Qt3DCore::QNode *parent = nullptr)

Constructs QRenderSurfaceSelector with given parent.

### `[slot]` void QRenderSurfaceSelector::setExternalRenderTargetSize(const QSize &size)

Sets render target size if different than underlying surface size. Tells picking the correct size.

Note: Setter function for property externalRenderTargetSize.

See also externalRenderTargetSize().

### `[slot]` void QRenderSurfaceSelector::setSurface(QObject *surfaceObject)

Sets surfaceObject.

Note: Setter function for property surface.

See also surface().