C
平台接口 Namesapes
Qul::PlatformInterface提供从 Qt Quick Ultralite 核心库中使用的接口,由平台实现使用。 更多...
头文件 | #include <platforminterface/platforminterface.h> |
类
类型
枚举 | GradientSpread { PadSpread, RepeatSpread, ReflectSpread } |
枚举 | KeyEventType { KeyPressEvent, KeyReleaseEvent } |
枚举 | KeyboardModifier { NoKeyboardModifier, ShiftKeyboardModifier, ControlKeyboardModifier, AltKeyboardModifier, MetaKeyboardModifier, …, GroupSwitchKeyboardModifier } |
枚举 | LineCapStyle { FlatCap, RoundCap, SquareCap } |
枚举 | LineJoinStyle { MiterJoin, RoundJoin, BevelJoin } |
枚举 | PathFillRule { PathOddEvenFill, PathWindingFill } |
枚举 | PathOptimizationHints { PathOptimizationHints_None, PathOptimizationHints_NotSelfIntersecting, PathOptimizationHints_NoOverlappingSubPaths } |
Vector |
函数
void | blendRectTiled(Qul::PlatformInterface::DrawingDevice *buffer, const Qul::PlatformInterface::Rect &rect, Qul::PlatformInterface::Rgba32 color, void (*)() finish, void (*)(void *, int) invalidateCache) |
void | blendRectTiledAlphaMap(Qul::PlatformInterface::DrawingDevice *buffer, const Qul::PlatformInterface::Rect &rect, Qul::PlatformInterface::Rgba32 color, void (*)() finish, void (*)(void *, int) invalidateCache) |
void | deviceLinkBytesReceived(const uint8_t *data, int size) |
void | error(unsigned int lineNumber, QulError code, int param1 = 0, int param2 = 0, int param3 = 0) |
void | generateGradientColorTable(const PlatformInterface::GradientStops &gradientStops, float opacity, PlatformInterface::Rgba32 *colorTable, int size, bool premultipliedAlpha) |
void | handleKeyEvent(uint64_t timestamp, Qul::PlatformInterface::KeyEventType type, int key, uint32_t nativeScanCode = 0, unsigned int modifiers = NoKeyboardModifier, const char *textUtf8 = NULL, bool autoRepeat = false, uint32_t ucs4 = 0) |
void | handleTouchCancelEvent(Qul::PlatformInterface::Screen *screen, uint64_t timestamp) |
void | handleTouchEvent(Qul::PlatformInterface::Screen *screen, uint64_t timestamp, const Qul::PlatformInterface::TouchPoint *touchPoints, unsigned int numTouchPoints) |
void | init16bppRendering() |
void | init24bppRendering() |
void | init32bppRendering() |
void | init8bppRendering() |
int | log(const char *format, ...) |
void | pathArcToBeziers(Qul::PlatformInterface::cubicToPath func, void *data, float radiusX, float radiusY, float , bool useLargeArc, bool clockwise, const Qul::PlatformInterface::PointF &source, const Qul::PlatformInterface::PointF &target) |
void | qul_delete(T *t) |
T * | qul_new(Args &&... args) |
T * | qul_new() |
T * | qul_new(Arg1 arg1) |
T * | qul_new(Arg1 arg1, Arg2 arg2) |
T * | qul_new(Arg1 arg1, Arg2 arg2, Arg3 arg3) |
T * | qul_new(Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4) |
QulErrorHandler * | setErrorHandler(QulErrorHandler *handler) |
void | updateEngine(uint64_t timestamp) |
bool | operator!=(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2) |
bool | operator!=(const Qul::PlatformInterface::Rect &r1, const Qul::PlatformInterface::Rect &r2) |
GenericMatrix<M, N, T2> | operator*(T1 factor, const GenericMatrix<M, N, T2> &matrix = M) |
GenericMatrix<M, N2, T> | operator*(const GenericMatrix<M, N1, T> &m1 = M, const GenericMatrix<N1, N2, T> &m2 = N1) |
GenericMatrix<M, N, T> | operator+(const GenericMatrix<M, N, T> &m1 = M, const GenericMatrix<M, N, T> &m2 = M) |
bool | operator==(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2) |
bool | operator==(const Qul::PlatformInterface::Rect &r1, const Qul::PlatformInterface::Rect &r2) |
类
class Allocator
用于与C++标准容器一起使用的内存分配器。 更多信息...
class Brush
表示使用 绘图引擎 绘制形状的填充图案。更多...
类 DefaultPathDataStroker
DefaultPathDataStroker 提供默认实现。更多...
类 DrawingDevice
DrawingDevice 类定义了一个可以绘制其上的设备。更多...
类 DrawingEngine
此类提供了一个混合函数的抽象接口。更多...
类 File
File 类提供了一个抽象 API 以实现对文件的访问。更多...
类 Filesystem
Filesystem 类提供了一个抽象 API 以实现对自定义文件系统的实现。更多...
类 GenericMatrix
GenericMatrix 类是一个表示矩阵的模板类。更多...
类 GradientStop
表示渐变中的单个渐变停止点。更多...
类 GradientStops
表示用于定义渐变色过渡的停止点集。更多...
类 ImageDecoder
ImageDecoder 类提供了一个抽象 API 以实现对自定义图像解码器的实现。更多...
类 LayerEngine
此类提供一个抽象接口,以管理硬件层。更多...
类 LinearGradient
表示由 画刷 使用的线性渐变。更多...
类 MemoryAllocator
此类提供了一个抽象接口以进行内存分配。更多...
类 PathData
此类表示矢量路径数据。更多...
类 PathDataArcSegment
表示路径数据圆弧段。更多...
类 PathDataCubicBezierSegment
表示路径数据三次贝塞尔段。更多...
类 PathDataIterator
用于遍历路径数据段的小便利类。更多...
类 PathDataLargeClockWiseArcSegment
表示路径数据大顺时针圆弧段。更多...
类 PathDataLargeCounterClockWiseArcSegment
表示路径数据大逆时针圆弧段。更多...
类 PathDataLineSegment
表示路径数据直线段。更多...
类 PathDataMoveSegment
表示路径数据移动段。更多...
类 PathDataPathSeparatorSegment
表示路径数据路径分隔段。更多...
类 PathDataQuadraticBezierSegment
表示路径数据二次贝塞尔段。更多...
类 PathDataSegment
代表Qul::PlatformInterface::PathData类的一个单一路径数据段。更多信息...
类 PathDataSmallClockWiseArcSegment
代表一个路径数据小顺时针弧线段。更多信息...
类 PathDataSmallCounterClockWiseArcSegment
代表一个路径数据小逆时针弧线段。更多信息...
类 PathDataStroker
PathDataStroker类为形状生成轮廓表示。更多信息...
类 PixelDataPointer
一个结构,包含有关精确(比特完美)像素数据位置的详细信息。更多信息...
类 Point
Point类使用整数精度定义平面上的一个点。更多信息...
类 PointF
PointF类使用浮点精度定义平面上的一个点。点由x坐标和y坐标指定,可以使用x()和y()函数访问。点的坐标使用浮点数指定以提高精度。当x和y都设置为0.0时,isNull()函数返回true
。可以使用setX()和setY()函数设置(或修改)坐标,或者使用rx()和ry()函数来直接操作坐标引用。更多信息...
类 Rect
Rect类使用整数精度定义平面上的一个矩形。更多信息...
类 RectF
RectF类使用浮点精度定义平面上的一个矩形。更多信息...
类 Rgba32
Rgba32类提供存储RGBA颜色的空间。更多信息...
类 Screen
Screen类包含有关像素显示大小的信息。更多信息...
类 Size
Size类使用整数精确度定义二维对象的大小。更多信息...
类 SizeF
SizeF类使用浮点精度定义二维对象的大小。更多信息...
类 StrokeProperties
一个结构,指定路径的轮廓属性。更多信息...
类 Texture
一个包含有关纹理的信息的类。更多信息...
类 TouchPoint
代表单个触摸点。更多信息...
类 Transform
Transform类指定坐标系统的2D变换。更多信息...
类型文档
枚举 PlatformInterface::GradientSpread
定义支持的不同渐变扩展。
常数 | 值 | 描述 |
---|---|---|
Qul::PlatformInterface::PadSpread | 0 | 该区域填充了最近的停止颜色。这是默认设置。 |
Qul::PlatformInterface::RepeatSpread | 1 | 渐变在渐变区域外重复。 |
Qul::PlatformInterface::ReflectSpread | 2 | 渐变在渐变区域外反射。 |
[自 Qt Quick Ultralite (Platform) 1.5]
枚举 KeyEventType
表示可能的按键事件类型的枚举。
常数 | 值 | 描述 |
---|---|---|
KeyPressEvent | 0 | 表示按键事件 |
KeyReleaseEvent | 1 | 表示按键释放事件 |
此枚举在 Qt Quick Ultralite (Platform) 1.5 中引入或修改。
[自 Qt Quick Ultralite (Platform) 1.5]
枚举 KeyboardModifier
常数 | 值 | 描述 |
---|---|---|
NoKeyboardModifier | 0x00000000 | 没有按任何修饰键 |
ShiftKeyboardModifier | 0x02000000 | 按下了键盘上的 Shift 键 |
ControlKeyboardModifier | 0x04000000 | 按下了键盘上的 Ctrl 键 |
AltKeyboardModifier | 0x08000000 | 按下了键盘上的 Alt 键 |
MetaKeyboardModifier | 0x10000000 | 按下了键盘上的 Meta 键 |
KeypadKeyboardModifier | 0x20000000 | 按下了键盘上的数字键 |
GroupSwitchKeyboardModifier | 0x40000000 | 按下了键盘上的模式开关键。 |
此枚举在 Qt Quick Ultralite (Platform) 1.5 中引入或修改。
[自 Qt Quick Ultralite (Platform) 1.8]
枚举 LineCapStyle
此枚举类型定义了可以使用 Qul::PlatformInterface::DrawingEngine 绘制的支持的线条端点样式。
常数 | 值 | 描述 |
---|---|---|
FlatCap | 0 | 一个不超出线条末端的方形端点。 |
RoundCap | 1 | 一个半径等于线条宽度一半的圆形端点。 |
SquareCap | 2 | 一个延伸到线条末端的方形端点,延伸长度为线条宽度的一半。 |
此枚举在 Qt Quick Ultralite (Platform) 1.8 中引入或修改。
[自 Qt Quick Ultralite (Platform) 1.8]
枚举 LineJoinStyle
此枚举类型定义了可以使用 Qul::PlatformInterface::DrawingEngine 绘制的支持的线条连接样式。
常数 | 值 | 描述 |
---|---|---|
MiterJoin | 0 | 线的外边缘延伸到相交点,并填充该区域。 |
RoundJoin | 1 | 填充两条线之间的圆形弧。 |
BevelJoin | 2 | 填充两条线之间的三角形缺口。 |
此枚举在 Qt Quick Ultralite (Platform) 1.8 中引入或修改。
[自 Qt Quick Ultralite (Platform) 1.8]
枚举 PlatformInterface::PathFillRule
此枚举类型定义了应该如何填充路径。
常数 | 值 | 描述 |
---|---|---|
Qul::PlatformInterface::PathOddEvenFill | 0 | 指定使用奇偶填充规则填充区域。使用此规则时,确定点是否在形状内的方法如下。从点到形状外的位置画一条水平线,并计算交叉点的数量。如果交叉点的数量是奇数,则点在形状内。这种模式是默认设置。 |
Qul::PlatformInterface::PathWindingFill | 1 | 指定使用非零缠绕规则填充区域。使用此规则时,确定点是否在形状内的方法如下。从点到形状外的位置画一条水平线。在每个交叉点确定线的方向是向上还是向下。通过将每个交叉点的方向相加确定缠绕数。如果该数非零,则点在形状内。此填充模式还可以在大多数情况下被认为是封闭形状的交集。 |
此枚举在 Qt Quick Ultralite (Platform) 1.8 中引入或修改。
[自 Qt Quick Ultralite (Platform) 1.8]
枚举 PathOptimizationHints
此枚举类型定义路径优化提示。
常数 | 值 | 描述 |
---|---|---|
PathOptimizationHints_None | 0 | 没有路径优化提示。 |
PathOptimizationHints_NotSelfIntersecting | 1 | 路径没有任何自相交的线。 |
PathOptimizationHints_NoOverlappingSubPaths | 2 | 路径没有重叠的子路径。 |
此枚举在 Qt Quick Ultralite (Platform) 1.8 中引入或修改。
[别名,自 Qt Quick Ultralite (Platform) 1.8]
template<typename T> PlatformInterface::Vector
一个使用 Qul::Platform::qul_malloc 和 Qul::Platform::qul_free 分别分配和释放内存的 std::vector 模板特化。
仅适用于 C++版本 C++11 或更高。
此typedef是在 Qt Quick Ultralite (Platform) 1.8 中引入的。
函数文档
[自 Qt Quick Ultralite (Platform) 1.5]
void blendRectTiled(Qul::PlatformInterface::DrawingDevice *buffer, const Qul::PlatformInterface::Rect &rect, Qul::PlatformInterface::Rgba32 color, void (*)() finish, void (*)(void *, int) invalidateCache)
为不提供直接混合颜色的二维加速器的解决方案。
通过使用源颜色填充一个适当大的缓冲区并将该缓冲区用作源,在 rect 上混合 color,可能进行多次调用,以平铺整个输出矩形。
buffer 是混合的绘图设备。 finish 在混合操作结束时调用。可以用来等待异步混合操作。如果不要求,应提供 NULL
。 invalidateCache 将被调用以允许无效化分配的平铺内存缓存。如果不要求,应提供 NULL
。
此函数是在 Qt Quick Ultralite (Platform) 1.5 中引入的。
[自 Qt Quick Ultralite (Platform) 1.5]
void blendRectTiledAlphaMap(Qul::PlatformInterface::DrawingDevice *buffer, const Qul::PlatformInterface::Rect &rect, Qul::PlatformInterface::Rgba32 color, void (*)() finish, void (*)(void *, int) invalidateCache)
为不提供直接混合颜色的二维加速器的解决方案。
与 blendRectTiled 相同,但使用 DrawingEngine::blendAlphaMap
在 alpha 图混合有加速的情况下很有用,因为不再需要混合 ARGB32,从而节省了一些带宽。
通过使用源颜色填充一个适当大的缓冲区并将该缓冲区用作源,在 rect 上混合 color,可能进行多次调用,以平铺整个输出矩形。
buffer 是混合的绘图设备。 finish 在混合操作结束时调用。可以用来等待异步混合操作。如果不要求,应提供 NULL
。 invalidateCache 将被调用以允许无效化分配的平铺内存缓存。如果不要求,应提供 NULL
。
此函数是在 Qt Quick Ultralite (Platform) 1.5 中引入的。
void PlatformInterface::deviceLinkBytesReceived(const uint8_t *data, int size)
将串口接收到数据进一步发送到解码。
当从主机接收到字符时,串口接收函数必须调用此函数。 data 是接收到的数据,size 是它的长度。此函数将数据转发到 Qul::Platform::DeviceLink::charsReceived。
另请参阅移植 DeviceLink 通信。
[自 Qt Quick Ultralite (平台) 2.2]
void error(unsigned int lineNumber, QulError code, int param1 = 0, int param2 = 0, int param3 = 0)
向默认或自定义处理程序报告错误信息。
默认错误处理程序将错误 code、lineNumber 以及额外的 param1、param2 和 param3 打印到 Qul::Platform::PlatformContext::consoleWrite。
默认处理程序在打印错误信息后会停止程序,并进入一个无限循环以保存调试用的堆栈跟踪。
如果已使用 Qul::setErrorHandler 设置了自定义错误处理程序,则调用它。
此功能自 Qt Quick Ultralite (平台) 2.2 开始引入。
另请参阅错误处理、Qt Quick Ultralite 错误代码 和 QUL_ASSERT。
[自 Qt Quick Ultralite (平台) 2.7]
void generateGradientColorTable(const PlatformInterface::GradientStops &gradientStops, float opacity, PlatformInterface::Rgba32 *colorTable, int size, bool premultipliedAlpha)
根据渐变停止点生成渐变色表。
基于提供的 gradientStops 和不透明度值 opacity 生成渐变色表。
colorTable 参数指向色表,而 size 指定色表应有多少项。
premultipliedAlpha 参数指定输出数据是否应该有预乘的alpha值。
此功能自 Qt Quick Ultralite (平台) 2.7 开始引入。
[自 Qt Quick Ultralite (平台) 1.5]
void handleKeyEvent(uint64_t timestamp, Qul::PlatformInterface::KeyEventType type, int key, uint32_t nativeScanCode = 0, unsigned int modifiers = NoKeyboardModifier, const char *textUtf8 = NULL, bool autoRepeat = false, uint32_t ucs4 = 0)
处理键盘事件
必须将来自平台层的接收到的键盘事件通过此函数传递给核心引擎。 timestamp 是事件发生的时间。通常是从平台的本地时间戳函数读取的时间。 type 指定这是按键事件还是键盘释放事件。 key 是实际的关键标识符,根据 Qul::PlatformInterface::Key 枚举值确定。 nativeScanCode 是本机扫描码标识符,用于与键值 Qul::Key_unknown
结合用于自定义平台特定键。 modifiers 指定在键盘事件时按下了哪些键修饰符,通过使用 Qul::PlatformInterface::KeyModifier 值的或组合确定。
textUtf8 不使用并在下一个主要版本中将被移除。
autoRepeat 指定这是自动重复键,如果事件来自初始按键,则应为 false。
ucs4 是按键生成的文本的 ucs4 表示形式,对于各种国际键盘支持和字母大小写都很有用。请注意,核心引擎不保持键盘的状态。平台集成负责跟踪当前活动的修饰符状态,并基于此选择相关的 ucs4 值。对于控制键,或者如果不需要完全支持文本输入(此时将会有空的文本属性传递给 QML,但仍然可以根据 key 和 nativeScanCode 的值选择操作)应将其保留为 NULL。
此函数是在 Qt Quick Ultralite (Platform) 1.5 中引入的。
另请参阅 Qul::Platform::PlatformContext::currentTimestamp。
[自 Qt Quick Ultralite (Platform) 1.5]
void handleTouchCancelEvent(Qul::PlatformInterface::Screen *screen, uint64_t timestamp)
取消触摸事件
取消 screen 的触摸事件。 timestamp 是事件发生的时间。这通常是读取平台原生时间戳函数的时间。如果 screen 为 NULL
,则使用平台主屏幕。
此函数是在 Qt Quick Ultralite (Platform) 1.5 中引入的。
另请参阅 Qul::Platform::PlatformContext::currentTimestamp 和 Qul::Platform::PlatformContext::availableScreens。
[自 Qt Quick Ultralite (Platform) 1.5]
void handleTouchEvent(Qul::PlatformInterface::Screen *screen, uint64_t timestamp, const Qul::PlatformInterface::TouchPoint *touchPoints, unsigned int numTouchPoints)
处理触摸事件
通过此函数将平台层接收到的触摸事件传递给核心引擎。 screen 是产生触摸事件的屏幕。 timestamp 是事件发生的时间。这通常是读取平台原生时间戳函数的时间。 touchPoints 和 numTouchPoints 包含了当前活动的触摸点列表。触摸点的所有权在调用函数中保持。如果 screen 是 NULL
,将使用平台主屏幕。
此函数是在 Qt Quick Ultralite (Platform) 1.5 中引入的。
另请参阅 Qul::Platform::PlatformContext::currentTimestamp 和 Qul::Platform::PlatformContext::availableScreens。
[自 Qt Quick Ultralite (Platform) 1.5]
void init16bppRendering()
初始化 Qt Quick Ultralite 以进行 16 BPP 渲染。
默认情况下,Qt Quick Ultralite 不引用后备渲染器,如果不需要使用它可以被丢弃。
此函数设置 16 BPP 绘图设备的后备渲染器。
目前此函数假设 16 BPP 表示 RGB565 格式。
此函数是在 Qt Quick Ultralite (Platform) 1.5 中引入的。
另请参阅 Qul::PlatformInterface::init8bppRendering、Qul::PlatformInterface::init24bppRendering 和 Qul::PlatformInterface::init32bppRendering。
[自 Qt Quick Ultralite (Platform) 1.5]
void init24bppRendering()
初始化 Qt Quick Ultralite 以进行 24 BPP 渲染。
默认情况下,Qt Quick Ultralite 不引用后备渲染器,如果不需要使用它可以被丢弃。
此函数设置 24 BPP 绘图设备的后备渲染器。
目前此函数假设 24 BPP 设备在 RGB888 格式。
此函数是在 Qt Quick Ultralite (Platform) 1.5 中引入的。
另请参阅 Qul::PlatformInterface::init8bppRendering、Qul::PlatformInterface::init16bppRendering 和 Qul::PlatformInterface::init32bppRendering。
[自 Qt Quick Ultralite (Platform) 1.5]
void init32bppRendering()
初始化Qt Quick Ultralite进行32位BPP渲染。
默认情况下,Qt Quick Ultralite 不引用后备渲染器,如果不需要使用它可以被丢弃。
此函数设置32位BPP绘图设备的后备渲染器。
当前此函数假定32位BPP设备为ARGB32格式。
此函数是在 Qt Quick Ultralite (Platform) 1.5 中引入的。
另请参阅Qul::PlatformInterface::init8bppRendering, Qul::PlatformInterface::init24bppRendering, 和 Qul::PlatformInterface::init16bppRendering.
[自Qt Quick Ultralite (Platform) 1.8以来]
void init8bppRendering()
初始化Qt Quick Ultralite进行8位BPP渲染。
默认情况下,Qt Quick Ultralite 不引用后备渲染器,如果不需要使用它可以被丢弃。
此函数设置8位BPP绘图设备的后备渲染器。
当前此函数假定8位BPP代表RGB332格式。
此函数首次出现在Qt Quick Ultralite (Platform) 1.8中。
另请参阅Qul::PlatformInterface::init16bppRendering, Qul::PlatformInterface::init24bppRendering, 和 Qul::PlatformInterface::init32bppRendering.
[自Qt Quick Ultralite (Platform) 1.9以来]
int log(const char *format, ...)
根据格式字符串 format 打印定义的参数。将输出写入到 Qul::Platform::PlatformContext::consoleWrite。
format 是一个指向以空字符结尾的多字节字符串的指针,指定如何解释数据。
... 包含指定要打印的数据的参数。
返回成功写入的字符数,或者在出错时返回负值。
注意:格式字符串解析与C++11 std::printf
相当。
此函数首次出现在Qt Quick Ultralite (Platform) 1.9中。
另请参阅Qul::Platform::PlatformContext::consoleWrite。
[自Qt Quick Ultralite (Platform) 1.8以来]
void pathArcToBeziers(Qul::PlatformInterface::cubicToPath func, void *data, float radiusX, float radiusY, float xClockwiseRotation, bool useLargeArc, bool Clockwise, const Qul::PlatformInterface::PointF &source, const Qul::PlatformInterface::PointF &target)
将弧形段转换为贝塞尔曲线序列。
提供的回调 func 将最多被调四次,传入四次贝塞尔曲线参数。回调的第一个参数也将提供 data 处理器,并可用于提供必要的上下文信息。
参数 radiusX、radiusY、xClockwiseRotation、useLargeArc、Clockwise、source 和 target 定义弧形段,符合SVG标准。
此函数首次出现在Qt Quick Ultralite (Platform) 1.8中。
另请参阅Qul::PlatformInterface::PathDataArcSegment。
template <typename T> void PlatformInterface::qul_delete(T *t)
用于释放类型内存并调用其析构函数的辅助函数。
t 是指向先前用 qul_new 分配的类型指针。
template <typename T, typename Args> T *PlatformInterface::qul_new(Args &&... args)
使用Qul::Platform::qul_malloc实现为类型T
分配内存,并调用其构造函数的辅助函数。
此函数仅适用于C++11或更高版本。
template <typename T> T *PlatformInterface::qul_new()
使用Qul::Platform::qul_malloc实现为类型T
分配内存,并调用其构造函数的辅助函数。
此函数仅适用于C++03或更低版本。
template <typename T, typename Arg1> T *PlatformInterface::qul_new(Arg1 arg1)
使用Qul::Platform::qul_malloc实现为类型T
分配内存,并调用其构造函数的辅助函数,并带有参数。
此函数仅适用于C++03或更低版本。
template <typename T, typename Arg1, typename Arg2> T *PlatformInterface::qul_new(Arg1 arg1, Arg2 arg2)
使用Qul::Platform::qul_malloc实现为类型T
分配内存,并调用其构造函数的辅助函数,并带有参数。
此函数仅适用于C++03或更低版本。
template <typename T, typename Arg1, typename Arg2, typename Arg3> T *PlatformInterface::qul_new(Arg1 arg1, Arg2 arg2, Arg3 arg3)
使用Qul::Platform::qul_malloc实现为类型T
分配内存,并调用其构造函数的辅助函数,并带有参数。
此函数仅适用于C++03或更低版本。
template <typename T, typename Arg1, typename Arg2, typename Arg3, typename Arg4> T *PlatformInterface::qul_new(Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4)
使用Qul::Platform::qul_malloc实现为类型T
分配内存,并调用其构造函数的辅助函数,并带有参数。
此函数仅适用于C++03或更低版本。
[since Qt Quick Ultralite (Platform) 2.2]
QulErrorHandler *setErrorHandler(QulErrorHandler *handler)
设置错误处理器为handler。
将NULL
作为参数传递将恢复默认错误处理。
返回前一个错误处理器的指针。当使用默认错误处理器时返回NULL
。
此功能自 Qt Quick Ultralite (平台) 2.2 开始引入。
另请参阅:错误处理。
[since Qt Quick Ultralite (Platform) 1.5]
void updateEngine(uint64_t timestamp)
更新Qt Quick Ultralite引擎。
Qt Quick Ultralite引擎需要定期更新以更新其计时器和显示动画。
timestamp参数是当前平台时间戳(毫秒),由Qul::Platform::PlatformContext::currentTimestamp()报告。
以下示例展示了从主循环执行引擎更新的典型部分。
static uint64_t nextUpdate = 0; void scheduleEngineUpdate(uint64_t timeout) { nextUpdate = timeout; } while_loop { const uint64_t timestamp = Qul::Platform::PlatformContext::currentTimestamp(); if (timestamp >= nextUpdate) { Qul::PlatformInterface::updateEngine(timestamp); } else { // Device could sleep until time in 'nextUpdate'. enterSleepMode(nextUpdate); } }
Qul::Platform::PlatformContext::scheduleEngineUpdate回调通知平台实现下一次Qt Quick Ultralite引擎需要更新,通过Qul::PlatformInterface::updateEngine。
此函数是在 Qt Quick Ultralite (Platform) 1.5 中引入的。
另请参阅:Qul::Platform::PlatformContext::scheduleEngineUpdate和Qul::Platform::PlatformContext::currentTimestamp。
bool operator!=(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2)
如果矩形 r1 r2 不同,则返回 true
,否则返回 false
。
bool operator!=(const Qul::PlatformInterface::Rect &r1, const Qul::PlatformInterface::Rect &r2)
如果矩形 r1 r2 不同,则返回 true
,否则返回 false
。
template <int M, int N, typename T1, typename T2> GenericMatrix<M, N, T2> operator*(T1 factor, const GenericMatrix<M, N, T2> &matrix = M)
返回将 matrix 的所有元素乘以标量 factor 的结果。
template <int M, int N1, int N2, typename T> GenericMatrix<M, N2, T> operator*(const GenericMatrix<M, N1, T> &m1 = M, const GenericMatrix<N1, N2, T> &m2 = N1)
返回 m1 和 m2 的所有元素乘积的结果。
template <int M, int N, typename T> GenericMatrix<M, N, T> operator+(const GenericMatrix<M, N, T> &m1 = M, const GenericMatrix<M, N, T> &m2 = M)
返回 m1 和 m2 的和。
bool operator==(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2)
如果矩形 r1 和 r2 相等,则返回 true
,否则返回 false
。
bool operator==(const Qul::PlatformInterface::Rect &r1, const Qul::PlatformInterface::Rect &r2)
如果矩形 r1 r2 相等,则返回 true
,否则返回 false
。
在特定版本的 Qt 许可证下可用。
了解更多信息。