1.5 的新功能

Changes in 1.5

New features

  • Added documentation on porting Qt Quick Ultralite to new platforms, see the Qt Quick Ultralite 平台移植指南 .
  • 添加 图像 and ImageProvider APIs. Use them to register image providers for "image://provider/location" URLs and to display images that are loaded at runtime. See the image_loading 范例。
  • 添加 QUL_DEFAULT_FONT_FAMILY and QUL_FONTS_DIR CMake target properties. Using the CMake variables of the same name is now deprecated.
  • Added SDK v2.8.0 support for NXP MIMXRT1050-EVKB, MIMXRT1060-EVK, and MIMXRT1064-EVK.
  • Added 24bpp color depth support for NXP RT1050, RT1060, and RT1064. This requires platform adaptation for screen support though.

Source compatibility breaks

  • Flickable 's contentX and contentY properties have flipped sign: Positive values move the content right or down respectively. This matches the behavior in Qt Quick's Flickable .

Fixed issues

  • Fixed redraw bug on the desktop backend (QTMCU-7)
  • Fixed bug that prevented anchors on the root item of a QML file from working.
  • Use of the rotation , scale ,和 transformOrigin properties in the root item of a QML file works now.
  • qul_target_generate_interfaces() CMake API no longer require adding additional include directories using target_include_directories or setting CMAKE_INCLUDE_CURRENT_DIR .

New APIs

APIs for application development

新类

APIs for platform development

新类

新成员函数

Class Texture :

const unsigned char * data () const

新全局函数

PlatformInterface::Screen * availableScreens (size_t * screenCount )
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 endFrame (const PlatformInterface::LayerEngine::ItemLayer * layer )
Qul::Platform::FrameBufferingType frameBufferingType (const PlatformInterface::LayerEngine::ItemLayer * layer )
void handleKeyEvent (uint64_t timestamp , Qul::PlatformInterface::KeyEventType type , int key , uint32_t nativeScanCode = 0, unsigned int modifiers = NoKeyboardModifier, char * textUtf8 = NULL, bool autoRepeat = false)
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 ()
Qul::Platform::FrameStatistics presentFrame (const PlatformInterface::Screen * screen , const PlatformInterface::Rect & rect )
void printHeapStats ()
void printStackStats ()
void qul_free (void * ptr )
void * qul_malloc (std::size_t size )
void * qul_realloc (void * ptr , std::size_t new_size )
void updateEngine (uint64_t timestamp )

新枚举类型

enum FrameBufferingType { SingleBuffering, FlippedDoubleBuffering, CopyingDoubleBuffering, OtherBuffering }
enum KeyEventType { KeyPressEvent, KeyReleaseEvent }
enum KeyboardModifier { NoKeyboardModifier, ShiftKeyboardModifier, ControlKeyboardModifier, AltKeyboardModifier, MetaKeyboardModifier, …, GroupSwitchKeyboardModifier }
enum BlendMode { BlendMode_SourceOver, BlendMode_Source }
enum Flags { NoTextureFlags, Swizzled, PartiallyOverlaps, NeedsCachedLoadFromSlowMemory, PaddedWithTransparency }
enum State { Pressed, Moved, Stationary, Released }

新变量