このページでは

C

1.9の新機能

Qt Quick Ultraliteはマイナーリリース間のソース互換性を維持しています。しかし、いくつかの変更点では、それに応じてアプリケーションコードを変更する必要があります。以下のセクションでは、そのような変更点を強調します:

重要な変更点

  • 以下の関数を非推奨としました:
    • Qul::PlatformInterface::DrawingDevice::pixelAt()
    • Qul::PlatformInterface::Texture::dataAtOffset()
    • Qul::PlatformInterface::DrawingDevice::bytesPerPixel()
    • Qul::PlatformInterface::Texture::bytesPerPixel()
    • Qul::Image::bytesPerPixel()

新機能

  • ホストとターゲット間のより良い通信を可能にするため、nanopbサードパーティライブラリを使用したprotobufサポートを追加。
  • 組み込みシステム用のサードパーティprintf の実装を追加。
  • plugin.qmltypes ファイルを追加することで、QtQuickUltralite.Extras モジュールのQt Creator サポートを追加。
  • Monotype Spark のヒープ/キャッシュバッファを設定する QUL_MONOTYPE_SPARK_HEAP_NO_PREALLOC と QUL_MONOTYPE_SPARK_HEAP_SIZE CMake ターゲットプロパティを追加。
  • Qt.font() API のプロパティバインディングに対応した。
  • メモリ割り当て API を追加し、メモリ割り当てのサイズを制御できるようにした。
  • PaintedItemQul::PaintedItemDelegate API を追加し、カスタムのハードウェアアクセラレーションまたはソフトウェアレンダラーを使用した QML アイテムのレンダリングをサポートした。
  • Screen::defaultApplicationSizeAPIを追加し、ルート・アイテムにサイズがない場合に、プラットフォームがアプリケーション・ウィンドウ・サイズをオーバーライドできるようにした。
  • ARM GCC バージョン 9 にアップグレード。
  • Qul::PixelFormat_Alpha1 ピクセル・フォーマットのサポートを追加。
  • PixelDataPointer 構造体を追加し、bitsPerPixel() が 8 未満のピクセル・データのポインティングを扱えるようにした。この構造体はQul::PlatformInterface::DrawingDevice::pixelDataAt() とQul::PlatformInterface::Texture::pixelData() で使用される。
  • 欠落した glpyhs をより優雅に扱うために、Text とStaticText アイテムを有効にしました。これらは、欠落しているglpyhのためのプレースホルダグリフ(ボックス)をレンダリングします。
  • グリフ描画品質を制御するための QUL_DEFAULT_FONT_QUALITY CMake ターゲットプロパティとfont.quality QML API を追加。

    注意: グリフの自動生成が無効になっている場合は、font.unicodeCoverage プロパティを設定する必要があります。

  • painteditemの例、カメラの例、Swipeゲームのデモを追加。
  • Infineon/Cypress Traveo II ボードのサポートを追加。
  • Linux開発ホストのサポートを追加。
  • CMakeの最小バージョンをv3.17.3にアップグレード。
  • カスタムキューを実装できるようにMessageQueue API を追加。

修正された問題

  • テキストアイテムの水平アライメントの問題を修正するために、テキストのアライメント計算をリファクタリングした。
  • MIMXRT1170の画面サイズをサポートするために、チャートのサンプルのヒープサイズを修正した。
  • NXP board SDKをバージョン2.9.1にアップグレード。
  • フェードアニメーションを無効にすることで、RA6M3G上のThermoデモアニメーションの問題を修正。
  • EK-RA6M3G の PixelFormat_RGB32 のブレンドを修正。
  • Indexed8 画像に RGB332 フォーマットを使用しないようにqulrcc をリファクタリング。
  • EK-RA6M3G でstd::rand() の代わりにstd::minstd_rand() に変更。
  • 新しいtime_t 関数を使用して UTC 時間を取得するようにWatch デモを更新。
  • Font_bindings サンプルを STM32F7508-Discovery 用に最適化。
  • C++ に関する一般的なリンカーの問題を検出するためのサニティチェックを追加。
  • EK-RA6M3G プラットフォーム・ポートを更新し、サポートされていないピクセル・フォーマットに fallbackDrawingEngine を使用するようにしました。
  • ベアメタルのサンプルを更新し、Qul::PlatformInterface::log() を使用するようにした。
  • STM32 用プラットフォーム適応を更新し、印刷/ロギングをサポートするようにした。
  • MIMXRT1050、MIMXRT1060、MIMXRT1064にPlatform::qul_printf()のサポートを追加。
  • RH850用にPlatform::consoleWrite()を実装した。
  • PlatformInterface::log()をサポートするために、EK-RA6M3G、MIMXRT1170、およびMIMXRT595用のプラットフォーム適応を更新した。
  • プラットフォームのprintfqul_printf に置き換えた。
  • レイヤーの例で背景レイヤーの不透明度を削除。
  • 負のベクトル座標をサポートするように vglitesupport を更新。
  • EK-RA6M3G での性能測定のクラッシュを修正。
  • アプリケーションのビルド時に CMAKE_BUILD_TYPE が指定されていなかったのを修正。
  • startX == startY == 0 のときに暗黙の移動が追加されなかったのを修正。
  • スパーク・エンジンとテキスト・キャッシュを併用した場合に、テキストがクリッピングしていたのを修正。
  • STM32 でダイナミック・アセット・サイズのしきい値が小さくなるように調整。
  • fontcompilerに1bppグリフの生成サポートを追加。
  • プラットフォームライブラリの再構築時にコアライブラリをインポートするようにビルド依存性を更新。
  • TextAlignment の変更に伴うテキストキャッシュの更新を有効にした。
  • DynDependencyNode の割り当てをプール。

新しいクラスと関数

アプリケーション開発

新しいクラス

新しいQMLタイプ

新しいQMLプロパティ

QML型font

(since Qt Quick Ultralite 1.9) quality : Quality

新しいQMLメソッド

QMLタイプQt

(since Qt Quick Ultralite 1.9) font font(object fontConfiguration)

プラットフォーム開発

新しいクラス

新しいメンバー関数

クラスMessageQueue

(since Qt Quick Ultralite (Platform) 1.9) uint32_t capacity() const
(since Qt Quick Ultralite (Platform) 1.9) void clearOverrun()
(since Qt Quick Ultralite (Platform) 1.9) bool discardSupported() const
(since Qt Quick Ultralite (Platform) 1.9) Qul::Platform::MessageQueueStatus enqueueOrDiscard(const MessageType *message)
(since Qt Quick Ultralite (Platform) 1.9) Qul::Platform::MessageQueueStatus enqueueOrDiscardFromInterrupt(const MessageType *message)
(since Qt Quick Ultralite (Platform) 1.9) Qul::Platform::MessageQueueStatus enqueueOrOverwrite(const MessageType *message)
(since Qt Quick Ultralite (Platform) 1.9) Qul::Platform::MessageQueueStatus enqueueOrOverwriteFromInterrupt(const MessageType *message)
(since Qt Quick Ultralite (Platform) 1.9) bool isEmpty() const
(since Qt Quick Ultralite (Platform) 1.9) bool isEmptyFromInterrupt() const
(since Qt Quick Ultralite (Platform) 1.9) bool isOverrun() const
(since Qt Quick Ultralite (Platform) 1.9) bool overwriteSupported() const
(since Qt Quick Ultralite (Platform) 1.9) Qul::Platform::MessageQueueStatus receive(MessageType *message, int32_t timeout = 0)
(since Qt Quick Ultralite (Platform) 1.9) Qul::Platform::MessageQueueStatus receiveFromInterrupt(MessageType *message, int32_t timeout = 0)

クラスMessageQueueInterface

(since Qt Quick Ultralite (Platform) 1.9) virtual uint32_t capacity() const = 0
(since Qt Quick Ultralite (Platform) 1.9) virtual void clearOverrun() = 0
(since Qt Quick Ultralite (Platform) 1.9) virtual bool discardSupported() const = 0
(since Qt Quick Ultralite (Platform) 1.9) virtual Qul::Platform::MessageQueueStatus enqueueOrDiscard(const void *message) = 0
(since Qt Quick Ultralite (Platform) 1.9) virtual Qul::Platform::MessageQueueStatus enqueueOrDiscardFromInterrupt(const void *message)
(since Qt Quick Ultralite (Platform) 1.9) virtual Qul::Platform::MessageQueueStatus enqueueOrOverwrite(const void *message) = 0
(since Qt Quick Ultralite (Platform) 1.9) virtual Qul::Platform::MessageQueueStatus enqueueOrOverwriteFromInterrupt(const void *message)
(since Qt Quick Ultralite (Platform) 1.9) virtual bool isEmpty() const = 0
(since Qt Quick Ultralite (Platform) 1.9) virtual bool isEmptyFromInterrupt() const
(since Qt Quick Ultralite (Platform) 1.9) virtual bool isOverrun() const = 0
(since Qt Quick Ultralite (Platform) 1.9) virtual bool overwriteSupported() const = 0
(since Qt Quick Ultralite (Platform) 1.9) virtual Qul::Platform::MessageQueueStatus receive(void *message, int32_t timeout = 0) = 0
(since Qt Quick Ultralite (Platform) 1.9) virtual Qul::Platform::MessageQueueStatus receiveFromInterrupt(void *message, int32_t timeout = 0)

クラスTexture

(since Qt Quick Ultralite (Platform) 1.9) Qul::PlatformInterface::PixelDataPointer pixelData(int16_t x, int16_t y) const

新しいグローバル関数

(since Qt Quick Ultralite (Platform) 1.9) Tvii::Configuration::Config configForOTFLayer(uint32_t platformId)
(since Qt Quick Ultralite (Platform) 1.9) Tvii::Configuration::Config defaultConfigForOTFLayer()
(since Qt Quick Ultralite (Platform) 1.9) void deleteQueue(Qul::Platform::MessageQueueInterface *queue)
(since Qt Quick Ultralite (Platform) 1.9) bool layerHasWarping(int platformId)
(since Qt Quick Ultralite (Platform) 1.9) int log(const char *format, ...)
(since Qt Quick Ultralite (Platform) 1.9) std::size_t maximumQueueMessageSize()
(since Qt Quick Ultralite (Platform) 1.9) Qul::Platform::MessageQueueInterface *requestQueue(std::size_t queueCapacity, std::size_t messageSize)
(since Qt Quick Ultralite (Platform) 1.9) void setConfigForOTFLayer(uint32_t platformId, uint16_t copses, uint32_t fifo, uint32_t lines)
(since Qt Quick Ultralite (Platform) 1.9) void setWarpingBufferForLayer(int platformId, const void *buffer, const int *platformStruct, int keepLines = 20)
(since Qt Quick Ultralite (Platform) 1.9) Tvii::Warping::WarpInfo warpInfoForLayer(int platformId)

新しいマクロ

(since Qt Quick Ultralite (Platform) 1.9) int qul_printf(const char *format, ...)
(since Qt Quick Ultralite (Platform) 1.9) int qul_snprintf(char *buffer, size_t count, const char *format, ...)
(since Qt Quick Ultralite (Platform) 1.9) int qul_sprintf(char *buffer, const char *format, ...)
(since Qt Quick Ultralite (Platform) 1.9) int qul_vprintf(const char *format, va_list va)
(since Qt Quick Ultralite (Platform) 1.9) int qul_vsnprintf(char *buffer, size_t count, const char *format, va_list va)

新しい列挙型

(since Qt Quick Ultralite (Platform) 1.9) enum class MessageQueueStatus { Success, MessageDiscarded, MessageOverwritten, EmptyQueue, Timeout, …, OtherError }

旧バージョンでの変更点

What's New in 1.1

v1.1.0での変更点

What's New in 1.2

v1.2.0での変更点

What's New in 1.3

v1.3.0での変更点

What's New in 1.4

v1.4.0の変更

What's New in 1.5

v1.5.0の変更

What's New in 1.6

v1.6.0の変更

What's New in 1.7

v1.7.0の変更

What's New in 1.8

v1.8.0の変更

What's New in 1.9

v1.9.0の変更

What's New in 2.0

v2.0.0の変更点

What's New in 2.1

v2.1での変更点

What's New in 2.2

v2.2の変更点

What's New in 2.3

v2.3の変更点

What's New in 2.4

v2.4.0の変更点

What's New in 2.5

v2.5の変更

What's New in 2.6

v2.6.0の変更点

What's New in 2.7

v2.7.0の変更

What's New in 2.8

v2.8.0の変更

What's New in 2.9

v2.9.0の変更

What's New in 2.10

v2.10.1の変更

What's New in 2.11

v2.11.0の変更点


詳細はこちらをご覧ください。