Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QRhiScissor Class Reference

\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h More...

#include <qrhi.h>

Collaboration diagram for QRhiScissor:

Public Member Functions

 QRhiScissor ()=default
 Constructs an empty scissor.
 QRhiScissor (int x, int y, int w, int h)
 Constructs a scissor with the rectangle specified by x, y, w, and h.
std::array< int, 4 > scissor () const
void setScissor (int x, int y, int w, int h)
 Sets the scissor position and size to x, y, w, h.

Friends

bool operator== (const QRhiScissor &a, const QRhiScissor &b) noexcept
bool operator!= (const QRhiScissor &a, const QRhiScissor &b) noexcept
size_t qHash (const QRhiScissor &v, size_t seed=0) noexcept
 \qhash{QRhiScissor}

Detailed Description

\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h

Since
6.6

Specifies a scissor rectangle.

Used with QRhiCommandBuffer::setScissor(). Setting a scissor rectangle is only possible with a QRhiGraphicsPipeline that has QRhiGraphicsPipeline::UsesScissor set.

QRhi assumes OpenGL-style scissor coordinates, meaning x and y are bottom-left. Negative width or height are not allowed. However, apart from that, the flexible OpenGL semantics apply: negative x and y, partially out of bounds rectangles, etc. will be handled gracefully, clamping as appropriate. Therefore, any rendering logic targeting OpenGL can feed scissor rectangles into QRhiScissor as-is, without any adaptation.

Note
This is a RHI API with limited compatibility guarantees, see \l QRhi for details.
See also
QRhiCommandBuffer::setScissor(), QRhiViewport

Definition at line 138 of file qrhi.h.

Constructor & Destructor Documentation

◆ QRhiScissor() [1/2]

QRhiScissor::QRhiScissor ( )
default

Constructs an empty scissor.

◆ QRhiScissor() [2/2]

QRhiScissor::QRhiScissor ( int x,
int y,
int w,
int h )

Constructs a scissor with the rectangle specified by x, y, w, and h.

Note
x and y are assumed to be the bottom-left position. Negative w or h are not allowed, such scissor rectangles will be ignored by QRhiCommandBuffer. Other than that, the flexible OpenGL semantics apply: negative x and y, partially out of bounds rectangles, etc. will be handled gracefully, clamping as appropriate.

Definition at line 1486 of file qrhi.cpp.

Member Function Documentation

◆ scissor()

std::array< int, 4 > QRhiScissor::scissor ( ) const
inline
Returns
the scissor position and size.

Definition at line 144 of file qrhi.h.

◆ setScissor()

void QRhiScissor::setScissor ( int x,
int y,
int w,
int h )
inline

Sets the scissor position and size to x, y, w, h.

Note
The position is always expected to be specified in a coordinate system that has its origin in the bottom-left corner, like OpenGL.

Definition at line 145 of file qrhi.h.

◆ operator!=

bool operator!= ( const QRhiScissor & a,
const QRhiScissor & b )
friend
Returns
false if the values in the two QRhiScissor objects a and b are equal; otherwise returns true.

Definition at line 157 of file qrhi.h.

◆ operator==

bool operator== ( const QRhiScissor & a,
const QRhiScissor & b )
friend
Returns
true if the values in the two QRhiScissor objects a and b are equal.

Definition at line 152 of file qrhi.h.

◆ qHash

size_t qHash ( const QRhiScissor & v,
size_t seed = 0 )
friend

\qhash{QRhiScissor}

Definition at line 162 of file qrhi.h.


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