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>.
|
#include "qquickcontext2d_p.h"
#include "qquickcontext2dcommandbuffer_p.h"
#include "qquickcanvasitem_p.h"
#include <private/qtquickglobal_p.h>
#include <private/qquickcontext2dtexture_p.h>
#include <private/qquickitem_p.h>
#include <qsgrendererinterface.h>
#include <QtQuick/private/qsgcontext_p.h>
#include <private/qquicksvgparser_p.h>
#include <private/qquickimage_p_p.h>
#include <qqmlinfo.h>
#include <qqmlengine.h>
#include <private/qv4domerrors_p.h>
#include <private/qv4engine_p.h>
#include <private/qv4object_p.h>
#include <private/qv4qobjectwrapper_p.h>
#include <private/qquickwindow_p.h>
#include <private/qv4value_p.h>
#include <private/qv4functionobject_p.h>
#include <private/qv4objectproto_p.h>
#include <private/qv4scopedvalue_p.h>
#include <private/qlocale_tools_p.h>
#include <QtCore/qmath.h>
#include <QtCore/qvector.h>
#include <QtCore/private/qnumeric_p.h>
#include <QtCore/QRunnable>
#include <QtGui/qguiapplication.h>
#include <private/qguiapplication_p.h>
#include <qpa/qplatformintegration.h>
#include <private/qsgdefaultrendercontext_p.h>
#include <QtCore/qpointer.h>
#include <cmath>
#include "moc_qquickcontext2d_p.cpp"
Go to the source code of this file.
Classes | |
class | QQuickContext2DEngineData |
struct | QV4::Heap::QQuickJSContext2D |
struct | QV4::Heap::QQuickJSContext2DPrototype |
struct | QV4::Heap::QQuickContext2DStyle |
struct | QV4::Heap::QQuickJSContext2DPixelData |
struct | QV4::Heap::QQuickJSContext2DImageData |
struct | QQuickJSContext2D |
struct | QQuickJSContext2DPrototype |
struct | QQuickContext2DStyle |
struct | QQuickJSContext2DPixelData |
struct | QQuickJSContext2DImageData |
Namespaces | |
namespace | QV4 |
namespace | QV4::Heap |
Macros | |
#define | CHECK_CONTEXT(r) |
\qmltype Context2D \instantiates QQuickContext2D \inqmlmodule QtQuick | |
#define | CHECK_CONTEXT_SETTER(r) |
#define | qClamp(val, min, max) qMin(qMax(val, min), max) |
#define | CHECK_RGBA(c) (c == '-' || c == '.' || (c >=0 && c <= 9)) |
#define | Q_TRY_SET_TOKEN(token, value, setStatement) |
Enumerations | |
enum | FontToken { NoTokens = 0x00 , FontStyle = 0x01 , FontVariant = 0x02 , FontWeight = 0x04 } |
#define CHECK_CONTEXT | ( | r | ) |
\qmltype Context2D \instantiates QQuickContext2D \inqmlmodule QtQuick
Provides 2D context for shapes on a Canvas item.
The Context2D object can be created by Canvas
item's getContext()
method:
The Context2D API implements the same \l {http://www.w3.org/TR/2dcontext}{W3C Canvas 2D Context API standard} with some enhanced features.
The Context2D API provides the rendering {context} which defines the methods and attributes needed to draw on the Canvas
item. The following assigns the canvas rendering context to a {context} variable:
The Context2D API renders the canvas as a coordinate system whose origin (0,0) is at the top left corner, as shown in the figure below. Coordinates increase along the {x} axis from left to right and along the
{y} axis from top to bottom of the canvas.
Definition at line 94 of file qquickcontext2d.cpp.
Referenced by QQuickJSContext2DPrototype::method_arc(), QQuickJSContext2DPrototype::method_arcTo(), QQuickJSContext2DPrototype::method_beginPath(), QQuickJSContext2DPrototype::method_bezierCurveTo(), QQuickJSContext2DPrototype::method_clearRect(), QQuickJSContext2DPrototype::method_clip(), QQuickJSContext2DPrototype::method_closePath(), QQuickJSContext2DPrototype::method_createConicalGradient(), QQuickJSContext2DPrototype::method_createImageData(), QQuickJSContext2DPrototype::method_createLinearGradient(), QQuickJSContext2DPrototype::method_createPattern(), QQuickJSContext2DPrototype::method_createRadialGradient(), QQuickJSContext2DPrototype::method_drawImage(), QQuickJSContext2DPrototype::method_ellipse(), QQuickJSContext2DPrototype::method_fill(), QQuickJSContext2DPrototype::method_fillRect(), QQuickJSContext2DPrototype::method_fillText(), QQuickJSContext2DPrototype::method_get_canvas(), QQuickJSContext2D::method_get_fillRule(), QQuickJSContext2D::method_get_fillStyle(), QQuickJSContext2D::method_get_font(), QQuickJSContext2D::method_get_globalAlpha(), QQuickJSContext2D::method_get_globalCompositeOperation(), QQuickJSContext2D::method_get_lineCap(), QQuickJSContext2D::method_get_lineDashOffset(), QQuickJSContext2D::method_get_lineJoin(), QQuickJSContext2D::method_get_lineWidth(), QQuickJSContext2D::method_get_miterLimit(), QQuickJSContext2D::method_get_shadowBlur(), QQuickJSContext2D::method_get_shadowColor(), QQuickJSContext2D::method_get_shadowOffsetX(), QQuickJSContext2D::method_get_shadowOffsetY(), QQuickJSContext2D::method_get_strokeStyle(), QQuickJSContext2D::method_get_textAlign(), QQuickJSContext2D::method_get_textBaseline(), QQuickJSContext2DPrototype::method_getImageData(), QQuickJSContext2DPrototype::method_getLineDash(), QQuickJSContext2DPrototype::method_isPointInPath(), QQuickJSContext2DPrototype::method_lineTo(), QQuickJSContext2DPrototype::method_measureText(), QQuickJSContext2DPrototype::method_moveTo(), QQuickJSContext2DPrototype::method_putImageData(), QQuickJSContext2DPrototype::method_quadraticCurveTo(), QQuickJSContext2DPrototype::method_rect(), QQuickJSContext2DPrototype::method_reset(), QQuickJSContext2DPrototype::method_resetTransform(), QQuickJSContext2DPrototype::method_restore(), QQuickJSContext2DPrototype::method_rotate(), QQuickJSContext2DPrototype::method_roundedRect(), QQuickJSContext2DPrototype::method_save(), QQuickJSContext2DPrototype::method_scale(), QQuickJSContext2DPrototype::method_setTransform(), QQuickJSContext2DPrototype::method_shear(), QQuickJSContext2DPrototype::method_stroke(), QQuickJSContext2DPrototype::method_strokeRect(), QQuickJSContext2DPrototype::method_strokeText(), QQuickJSContext2DPrototype::method_text(), QQuickJSContext2DPrototype::method_transform(), and QQuickJSContext2DPrototype::method_translate().
#define CHECK_CONTEXT_SETTER | ( | r | ) |
Definition at line 97 of file qquickcontext2d.cpp.
Referenced by QQuickJSContext2D::method_set_fillRule(), QQuickJSContext2D::method_set_fillStyle(), QQuickJSContext2D::method_set_font(), QQuickJSContext2D::method_set_globalAlpha(), QQuickJSContext2D::method_set_globalCompositeOperation(), QQuickJSContext2D::method_set_lineCap(), QQuickJSContext2D::method_set_lineDashOffset(), QQuickJSContext2D::method_set_lineJoin(), QQuickJSContext2D::method_set_lineWidth(), QQuickJSContext2D::method_set_miterLimit(), QQuickJSContext2D::method_set_shadowBlur(), QQuickJSContext2D::method_set_shadowColor(), QQuickJSContext2D::method_set_shadowOffsetX(), QQuickJSContext2D::method_set_shadowOffsetY(), QQuickJSContext2D::method_set_strokeStyle(), QQuickJSContext2D::method_set_textAlign(), QQuickJSContext2D::method_set_textBaseline(), and QQuickJSContext2DPrototype::method_setLineDash().
Definition at line 100 of file qquickcontext2d.cpp.
Definition at line 318 of file qquickcontext2d.cpp.
Referenced by qt_font_from_string().
Definition at line 99 of file qquickcontext2d.cpp.
Referenced by qt_color_from_string().
enum FontToken |
Enumerator | |
---|---|
NoTokens | |
FontStyle | |
FontVariant | |
FontWeight |
Definition at line 310 of file qquickcontext2d.cpp.
Definition at line 4176 of file qquickcontext2d.cpp.
References qFuzzyCompare().
Referenced by QQuickContext2D::isPointInPath().
int baseLineOffset | ( | QQuickContext2D::TextBaseLineType | value, |
const QFontMetrics & | metrics ) |
Definition at line 4111 of file qquickcontext2d.cpp.
References QQuickContext2D::Alphabetic, QQuickContext2D::Bottom, QQuickContext2D::Hanging, QQuickContext2D::Middle, and QQuickContext2D::Top.
Referenced by QQuickContext2D::createTextGlyphs().
DEFINE_OBJECT_VTABLE | ( | QQuickContext2DStyle | ) |
DEFINE_OBJECT_VTABLE | ( | QQuickJSContext2D | ) |
DEFINE_OBJECT_VTABLE | ( | QQuickJSContext2DImageData | ) |
DEFINE_OBJECT_VTABLE | ( | QQuickJSContext2DPixelData | ) |
DEFINE_OBJECT_VTABLE | ( | QQuickJSContext2DPrototype | ) |
|
static |
Definition at line 219 of file qquickcontext2d.cpp.
References ch, QString::mid(), QString::push_back(), and qWarning.
Referenced by qt_font_from_string().
|
static |
Definition at line 173 of file qquickcontext2d.cpp.
Referenced by qSetFontSizeFromToken().
|
static |
Definition at line 277 of file qquickcontext2d.cpp.
References QFont::Cursive, QFont::defaultFamily(), QFont::Fantasy, font, QFontDatabase::hasFamily(), QFont::Monospace, qPrintable, qWarning, QFont::SansSerif, QFont::Serif, QFont::setFamily(), and QFont::setStyleHint().
Referenced by qt_font_from_string().
|
static |
Definition at line 189 of file qquickcontext2d.cpp.
References font, QStringView::left(), ok, qParseFontSizeFromToken(), qWarning, QStringView::right(), QFont::setPixelSize(), QFont::setPointSize(), and QStringView::trimmed().
Referenced by qt_font_from_string().
Q_QUICK_EXPORT QColor qt_color_from_string | ( | const QV4::Value & | name | ) |
Definition at line 101 of file qquickcontext2d.cpp.
References QString::data(), QColor::fromHsl(), QColor::fromRgba(), QColor::fromString(), hasAlpha(), ok, Q_UNUSED, qClamp, qRgba(), qRound(), qstrtod(), QString::size(), str, and QString::toUtf8().
Referenced by QQuickContext2DStyle::gradient_proto_addColorStop(), QQuickJSContext2D::method_set_fillStyle(), QQuickJSContext2D::method_set_shadowColor(), and QQuickJSContext2D::method_set_strokeStyle().
|
static |
Definition at line 779 of file qquickcontext2d.cpp.
References QPainter::CompositionMode_Clear, QPainter::CompositionMode_ColorBurn, QPainter::CompositionMode_ColorDodge, QPainter::CompositionMode_Darken, QPainter::CompositionMode_Destination, QPainter::CompositionMode_DestinationAtop, QPainter::CompositionMode_DestinationIn, QPainter::CompositionMode_DestinationOut, QPainter::CompositionMode_DestinationOver, QPainter::CompositionMode_Difference, QPainter::CompositionMode_Exclusion, QPainter::CompositionMode_HardLight, QPainter::CompositionMode_Lighten, QPainter::CompositionMode_Multiply, QPainter::CompositionMode_Overlay, QPainter::CompositionMode_Plus, QPainter::CompositionMode_Screen, QPainter::CompositionMode_SoftLight, QPainter::CompositionMode_Source, QPainter::CompositionMode_SourceAtop, QPainter::CompositionMode_SourceIn, QPainter::CompositionMode_SourceOut, QPainter::CompositionMode_SourceOver, and QPainter::CompositionMode_Xor.
Referenced by QQuickJSContext2D::method_set_globalCompositeOperation().
|
static |
Definition at line 833 of file qquickcontext2d.cpp.
References QPainter::CompositionMode_Clear, QPainter::CompositionMode_ColorBurn, QPainter::CompositionMode_ColorDodge, QPainter::CompositionMode_Darken, QPainter::CompositionMode_Destination, QPainter::CompositionMode_DestinationAtop, QPainter::CompositionMode_DestinationIn, QPainter::CompositionMode_DestinationOut, QPainter::CompositionMode_DestinationOver, QPainter::CompositionMode_Difference, QPainter::CompositionMode_Exclusion, QPainter::CompositionMode_HardLight, QPainter::CompositionMode_Lighten, QPainter::CompositionMode_Multiply, QPainter::CompositionMode_Overlay, QPainter::CompositionMode_Plus, QPainter::CompositionMode_Screen, QPainter::CompositionMode_SoftLight, QPainter::CompositionMode_Source, QPainter::CompositionMode_SourceAtop, QPainter::CompositionMode_SourceIn, QPainter::CompositionMode_SourceOut, QPainter::CompositionMode_SourceOver, QPainter::CompositionMode_Xor, and QStringLiteral.
Referenced by QQuickJSContext2D::method_get_globalCompositeOperation().
|
static |
Definition at line 937 of file qquickcontext2d.cpp.
References QV4::MemoryManager::allocate(), QV4::Scoped< T >::asReturnedValue(), QV4::Scope::engine, QImage::Format_ARGB32, imageData, QV4::EngineBase::memoryManager, Q_ASSERT, qAbs(), and qRound().
Referenced by QQuickJSContext2DPrototype::method_createImageData(), and QQuickJSContext2DPrototype::method_getImageData().
Definition at line 332 of file qquickcontext2d.cpp.
References FontStyle, FontVariant, FontWeight, QStringView::mid(), NoTokens, Q_TRY_SET_TOKEN, qExtractFontFamiliesFromString(), qSetFontFamilyFromTokens(), qSetFontSizeFromToken(), qWarning, QString::remove(), QFont::SmallCaps, QStringView::split(), QFont::StyleItalic, QFont::StyleOblique, token, and QStringView::trimmed().
Referenced by QQuickJSContext2D::method_set_font().
Definition at line 771 of file qquickcontext2d.cpp.
References i, and qt_image_convolute_filter().
|
static |
Definition at line 4131 of file qquickcontext2d.cpp.
References QQuickContext2D::Center, QQuickContext2D::End, QGuiApplication::layoutDirection, QQuickContext2D::Left, Qt::LeftToRight, QQuickContext2D::Right, QQuickContext2D::Start, and text.
Referenced by QQuickContext2D::createTextGlyphs().
Definition at line 4182 of file qquickcontext2d.cpp.
Referenced by QQuickContext2D::isPointInPath().