4#ifndef QSGADAPTATIONLAYER_P_H
5#define QSGADAPTATIONLAYER_P_H
18#include <QtQuick/qsgnode.h>
19#include <QtQuick/qsgtexture.h>
20#include <QtQuick/qquickpainteditem.h>
21#include <QtCore/qobject.h>
22#include <QtCore/qrect.h>
23#include <QtGui/qbrush.h>
24#include <QtGui/qcolor.h>
25#include <QtGui/qpainterpath.h>
26#include <QtCore/qsharedpointer.h>
27#include <QtGui/qglyphrun.h>
28#include <QtGui/qpainterpath.h>
29#include <QtCore/qurl.h>
30#include <private/qfontengine_p.h>
31#include <QtGui/private/qdatabuffer_p.h>
32#include <private/qdistancefield_p.h>
33#include <private/qintrusivelist_p.h>
37#include <QtQuick/private/qquicktext_p.h>
43class TextureReference;
81#if QT_CONFIG(quick_sprite)
82 virtual bool visit(QSGSpriteNode *) = 0;
83 virtual void endVisit(QSGSpriteNode *) = 0;
88 void visitChildren(
QSGNode *node);
140 virtual void setMirror(
bool horizontally,
bool vertically) = 0;
210#if QT_CONFIG(quick_sprite)
215 ~QSGSpriteNode()
override;
218 virtual void setTime(
float time) = 0;
221 virtual void setSpriteSize(
const QSize &
size) = 0;
222 virtual void setSheetSize(
const QSize &
size) = 0;
226 virtual void update() = 0;
289#ifndef QT_NO_DEBUG_STREAM
302 DirtyShaderConstant = 0x02,
303 DirtyShaderTexture = 0x04,
304 DirtyShaderGeometry = 0x08,
305 DirtyShaderMesh = 0x10,
307 DirtyShaderAll = 0xFF
322 int propertyIndex = -1;
327 bool hasShaderCode =
false;
359#ifndef QT_NO_DEBUG_STREAM
368 DefaultAntialiasing = -1,
371 HighQualitySubPixelAntialiasing
414 int renderTypeQuality);
453 return pixelSize / baseFontSize();
464 inline TexCoord glyphTexCoord(
glyph_t glyph);
475 virtual void registerOwnerElement(
QQuickItem *ownerElement);
476 virtual void unregisterOwnerElement(
QQuickItem *ownerElement);
477 virtual void processPendingGlyphs();
507 inline void removeGlyph(
glyph_t glyph);
511 inline bool containsGlyph(
glyph_t glyph);
516 int baseFontSize()
const;
518#if defined(QSG_DISTANCEFIELD_CACHE_DEBUG)
The QColor class provides colors based on RGB, HSV or CMYK values.
The QGlyphRun class provides direct access to the internal glyphs in a font.
The QIntrusiveList class is a template class that provides a list of objects using static storage.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
RenderTarget
This enum describes QQuickPaintedItem's render targets.
The QRawFont class provides access to a single physical instance of a font.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QSGClipNode class implements the clipping functionality in the scene graph.
virtual bool screenSpaceDerivativesSupported() const =0
qreal distanceFieldRadius() const
void unregisterGlyphNode(QSGDistanceFieldGlyphConsumer *node)
qreal fontScale(qreal pixelSize) const
bool doubleGlyphResolution() const
virtual void releaseGlyphs(const QSet< glyph_t > &glyphs)=0
const Texture * glyphTexture(glyph_t glyph)
TexCoord glyphTexCoord(glyph_t glyph)
virtual void storeGlyphs(const QList< QDistanceField > &glyphs)=0
bool m_doubleGlyphResolution
void registerGlyphNode(QSGDistanceFieldGlyphConsumer *node)
bool containsGlyph(glyph_t glyph)
GlyphData & glyphData(glyph_t glyph)
virtual void referenceGlyphs(const QSet< glyph_t > &glyphs)=0
virtual bool eightBitFormatIsAlphaSwizzled() const =0
int renderTypeQuality() const
void removeGlyph(glyph_t glyph)
const QRawFont & referenceFont() const
virtual void requestGlyphs(const QSet< glyph_t > &glyphs)=0
virtual ~QSGDistanceFieldGlyphConsumer()
virtual void invalidateGlyphs(const QVector< quint32 > &glyphs)=0
The QSGDynamicTexture class serves as a baseclass for dynamically changing textures,...
The QSGGeometryNode class is used for all rendered content in the scene graph.
QQuickItem * ownerElement() const
void setOwnerElement(QQuickItem *ownerElement)
virtual QPointF baseLine() const =0
virtual void setGlyphs(const QPointF &position, const QGlyphRun &glyphs)=0
virtual void setPreferredAntialiasingMode(AntialiasingMode)=0
virtual void setRenderTypeQuality(int renderTypeQuality)
void accept(QSGNodeVisitorEx *visitor) override
virtual void setBoundingRect(const QRectF &bounds)
virtual void setStyle(QQuickText::TextStyle style)=0
virtual void setColor(const QColor &color)=0
virtual QRectF boundingRect() const
virtual void setStyleColor(const QColor &color)=0
@ LowQualitySubPixelAntialiasing
virtual Status status() const =0
void shaderCodePrepared(bool ok, ShaderInfo::Type typeHint, const QUrl &src, ShaderInfo *result)
virtual bool hasSeparateSamplerAndTextureObjects() const =0
virtual QString log() const =0
~QSGGuiThreadShaderEffectManager() override
virtual void prepareShaderCode(ShaderInfo::Type typeHint, const QUrl &src, ShaderInfo *result)=0
void logAndStatusChanged()
virtual void setHorizontalWrapMode(QSGTexture::WrapMode wrapMode)=0
virtual void setTexture(QSGTexture *texture)=0
virtual void setTargetRect(const QRectF &rect)=0
virtual void setFiltering(QSGTexture::Filtering filtering)=0
virtual void setInnerSourceRect(const QRectF &rect)=0
virtual void setSubSourceRect(const QRectF &rect)=0
virtual void setInnerTargetRect(const QRectF &rect)=0
virtual void setAntialiasing(bool antialiasing)
~QSGInternalImageNode() override
virtual void setMipmapFiltering(QSGTexture::Filtering filtering)=0
void accept(QSGNodeVisitorEx *visitor) override
virtual void setMirror(bool horizontally, bool vertically)=0
virtual void setVerticalWrapMode(QSGTexture::WrapMode wrapMode)=0
virtual void setRadius(qreal radius)=0
void accept(QSGNodeVisitorEx *visitor) override
virtual void setAntialiasing(bool antialiasing)
virtual void setGradientVertical(bool vertical)=0
virtual void setAligned(bool aligned)=0
virtual void setPenColor(const QColor &color)=0
~QSGInternalRectangleNode() override
virtual void setTopRightRadius(qreal radius)=0
virtual void setBottomRightRadius(qreal radius)=0
virtual void setBottomLeftRadius(qreal radius)=0
virtual void setPenWidth(qreal width)=0
virtual void setGradientStops(const QGradientStops &stops)=0
virtual void setRect(const QRectF &rect)=0
virtual void setTopLeftRadius(qreal radius)=0
virtual void setColor(const QColor &color)=0
virtual Q_SLOT void markDirtyTexture()=0
virtual void scheduleUpdate()=0
void scheduledUpdateCompleted()
virtual void setRecursive(bool recursive)=0
virtual QImage toImage() const =0
virtual Q_SLOT void invalidated()=0
virtual void setMirrorVertical(bool mirror)=0
virtual void setSamples(int samples)=0
virtual void setDevicePixelRatio(qreal ratio)=0
virtual void setItem(QSGNode *item)=0
virtual void setMirrorHorizontal(bool mirror)=0
virtual void setLive(bool live)=0
virtual void setFormat(Format format)=0
virtual void setSize(const QSize &pixelSize)=0
virtual void setRect(const QRectF &logicalRect)=0
virtual void setHasMipmaps(bool mipmap)=0
virtual void endVisit(QSGGeometryNode *)=0
virtual bool visit(QSGInternalRectangleNode *)=0
virtual void endVisit(QSGInternalImageNode *)=0
virtual void endVisit(QSGGlyphNode *)=0
virtual void endVisit(QSGClipNode *)=0
virtual bool visit(QSGInternalImageNode *)=0
virtual void endVisit(QSGInternalRectangleNode *)=0
virtual void endVisit(QSGRootNode *)=0
virtual bool visit(QSGGeometryNode *)=0
virtual void endVisit(QSGOpacityNode *)=0
virtual bool visit(QSGRootNode *)=0
virtual bool visit(QSGPainterNode *)=0
virtual ~QSGNodeVisitorEx()
virtual void endVisit(QSGTransformNode *)=0
virtual void endVisit(QSGPainterNode *)=0
virtual void endVisit(QSGRenderNode *)=0
void visitChildren(QSGNode *node)
virtual bool visit(QSGGlyphNode *)=0
virtual bool visit(QSGRenderNode *)=0
virtual bool visit(QSGTransformNode *)=0
virtual bool visit(QSGOpacityNode *)=0
virtual bool visit(QSGClipNode *)=0
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
The QSGOpacityNode class is used to change opacity of nodes.
virtual QSGTexture * texture() const =0
virtual void setTextureSize(const QSize &size)=0
virtual void setSmoothPainting(bool s)=0
virtual void setPreferredRenderTarget(QQuickPaintedItem::RenderTarget target)=0
virtual void setLinearFiltering(bool linearFiltering)=0
~QSGPainterNode() override
virtual void setFastFBOResizing(bool dynamic)=0
void accept(QSGNodeVisitorEx *visitor) override
virtual QImage toImage() const =0
virtual void setDirty(const QRect &dirtyRect=QRect())=0
virtual void setFillColor(const QColor &c)=0
virtual void setSize(const QSize &size)=0
virtual void setContentsScale(qreal s)=0
virtual void setOpaquePainting(bool opaque)=0
virtual void setMipmapping(bool mipmapping)=0
The QSGRenderNode class represents a set of custom rendering commands targeting the graphics API that...
The QSGRootNode is the toplevel root of any scene graph.
void accept(QSGNodeVisitorEx *visitor) override
virtual QRectF updateNormalizedTextureSubRect(bool supportsAtlasTextures)=0
virtual void syncMaterial(SyncData *syncData)=0
~QSGShaderEffectNode() override
Filtering
Specifies how sampling of texels should filter when texture coordinates are not pixel aligned.
WrapMode
Specifies how the sampler should treat texture coordinates.
~QSGVisitableNode() override
virtual void accept(QSGNodeVisitorEx *)=0
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
int QT_DISTANCEFIELD_RADIUS(bool narrowOutlineFont)
int QT_DISTANCEFIELD_SCALE(bool narrowOutlineFont)
#define Q_DECLARE_FLAGS(Flags, Enum)
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
GLsizei const GLfloat * v
[13]
GLint GLint GLint GLint GLint x
[0]
GLint GLsizei GLsizei height
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint GLintptr offset
GLint GLsizei GLsizei GLenum format
GLsizei GLsizei GLchar * source
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
bool operator==(const QRandomGenerator &rng1, const QRandomGenerator &rng2)
Int aligned(Int v, Int byteAlign)
QIntrusiveList< QSGDistanceFieldGlyphConsumer, &QSGDistanceFieldGlyphConsumer::node > QSGDistanceFieldGlyphConsumerList
Q_QUICK_PRIVATE_EXPORT QDebug operator<<(QDebug debug, const QSGGuiThreadShaderEffectManager::ShaderInfo::Variable &v)
QVector< Variable > variables
QVector< VariableData > varData
QSGGuiThreadShaderEffectManager::ShaderInfo shaderInfo
const QSet< int > * dirtyTextures
const ShaderData * shader
const QSet< int > * dirtyConstants
void * materialTypeCacheKey