このページでは

C

バージョン2.2の新機能

Qt Quick Ultraliteは、マイナーリリース間のソース互換性を維持しています。ただし、一部の変更により、アプリケーションコードの修正が必要になる場合があります。以下のセクションでは、そのような変更点について説明します。

新機能

  • アセットデータのバイナリがアプリケーションバイナリにどのように組み込まれるかを設定できるようにするため、QUL_PLATFORM_DEFAULT_BINARY_ASSET_OPTIONS が追加されました。
  • コンパイラ、グラフィックスドライバ、および SDK のアップグレード:
    • ARM GCC コンパイラ v10.3。
    • IAR コンパイラ 9.20.4。
    • Traveo II Cluster シリーズ用グラフィックスドライバ v1e.1.0
    • MCUXPresso SDK v2.11.1
  • NXP RT1170上のRK055HDMIPI4MA0ディスプレイのサポートを追加しました。
  • リソースデータに Octa フラッシュおよび Octa RAM を使用できるように、QUL_RH850_FLASH_TYPE および QUL_RH850_RAM_TYPE コンフィギュレーション・オプションが追加されました。
  • IAR 8.22 機能安全コンパイラを使用して tviic2d6m-baremetal プラットフォームをビルドするサポートが追加されました。
  • Text.wrapMode API を追加しました。
  • アプリケーションがQt Quick Ultraliteのエラーを適切に処理できるように、エラー通知APIを追加しました。詳細については、「エラー処理」を参照してください。
  • フラッシュターゲットを生成するためのqul_generate_flash_targetCMake コマンドが追加されました。
  • テクスチャデータにアクセスするためのtexture() およびtextureCount() 関数が追加されました。
  • Qt for MCUs を最適に利用できるよう、パフォーマンスおよびフットプリントに関するガイドを追加しました。
  • Linux ホスト向けの Monotype FontmapEditor のサポートを追加し、最新バージョンにアップグレードしました。

不具合の修正

Qt for MCUs v2.2.4

  • Linuxデスクトップ向けのビルド時に発生していた CMP0083 CMake ポリシーエラーを修正しました。
  • アニメーションロジックにおいて、以下の問題を修正しました:
    • 指定された値が (0-1) の範囲内にあるかどうかを確認する際、誤ったQulError_Animation_ProgressOutOfRange アサーションが発生しないようにしました。
    • Qt Quick アニメーションとの互換性を向上させるため、スタンドアロンおよびトップレベルのアニメーションに対してのみシグナルをトリガーするようにしました。
  • カスタム BASE および PREFIX を持つリソースのリソースプロパティ処理における不整合を修正しました。
  • qmltocpp の修正を行い、未使用の戻り値を持つ関数呼び出しが削除されないようにしました。
  • Ninja を使用した CMake 設定を修正し、フラッシュツールの進行状況を表示するようにしました。
  • NXP プラットフォームの移植版を修正し、タッチ割り込みがない場合にタッチデータのクエリが行われないようにしました。
  • 配列の境界に関するコンパイラ警告が発生しないよう、スタックサイズの計算ロジックを修正しました。
  • MinSizeRel ビルドのswipe_gameデモ実行中にSTM32H750Bで発生していた予期せぬアーティファクトを修正しました。
  • fontcompiler において、glyphMap のサイズが誤っていた問題を修正しました。
  • Qul::Property::setValue の呼び出しが確実に再描画をトリガーするように、UI更新ロジックを修正しました。
  • 自動車向けデモの CMake 設定を修正し、HMI ソースを含めるようにしました。
  • interrupt_handlerのサンプルを修正し、すべてのプラットフォームでユーザーボタンの選択動作が一貫するようにしました。

Qt for MCUs v2.2.3

  • std::string 型のプロパティに対するプロパティ変更イベントでの型変換エラーを修正しました。
  • fontcompiler 修正点:
    • font.unicodeCoverage リスト内のスペース文字の処理を改善しました。
    • 不要な「グリフが見つかりません」という警告が発生しないようにしました。
  • 親矩形の中央に位置する矩形アイテムのレンダリングに関する問題を修正しました。これにより、QtQuickQt Quick Ultralite間の互換性が向上しました。
  • 初期化されていないプロパティを評価する際のセグメンテーションフォルトを修正しました。
  • Text アイテムを修正し、標準のQtQuick テキストアイテムと同様にclip プロパティを処理するようにしました。
  • STM32F469I-Disco ボードでの 24bpp ブレンディングを修正しました。
  • Cypress Traveo II キット (JSON) ファイルを修正し、Qt Creator にキット作成に必要なすべての情報が含まれるようにしました。
  • IAR ツールチェーンを使用した STM32F769I ボードでのタッチ処理を修正し、割り込みコンテキスト外のタッチイベントも含まれるようにしました。
  • Text.WordWrap をラップモードに設定したアイテムの改行が、Unicodeの改行アルゴリズムに準拠するよう、テキストアイテムを修正しました。
  • アニメーションがアクティブな状態で、Animation の再生時間がゼロに設定されている場合のゼロ除算の問題を修正しました。
  • ダーティなレンダリングノードを削除した際のクラッシュを修正しました。
  • Property を修正し、プロパティにバインディングとトランジションが組み合わされている場合に、QulError_PropertyBase_DependencyNodesNotMarkedDirty のアサーションが発生しないようにしました。これにより、プロパティが数回変更された場合にもアサーションが発生しなくなります。
  • fontcompilerを修正し、font.unicodeCoverage リスト内の重複を無視して、一意の文字のみをSparkフォントエンジンのキャッシュ初期化データに含めるようにしました。

Qt for MCUs v2.2.2

  • JLink の検索時に、システム環境変数で検出された JDK を無視するよう、CMake のロジックを修正しました。
  • MSVC などのマルチコンフィグジェネレータのビルドタイプチェックを修正し、デフォルトのビルドタイプが正しいことを保証しました。
  • IARツールチェーンを使用してビルドした「shapes」サンプルにおいて、Cypress Traveo IIで発生していたレンダリングの不具合を修正しました。
  • カスタムexec ループにおけるパフォーマンスロギングの問題を修正しました。
  • STM デバイスへのバイナリ書き込みに関連する問題を修正しました。

Qt for MCUs v2.2.1

  • 静的テキスト翻訳配列の自動生成に使用されるロジックを修正し、それらが常にフラッシュメモリに保存されるようにしました。
  • Infineon Traveo II のプラットフォームポートを修正し、OTF ウィンドウでの角丸矩形のブレンドによるアーティファクトの発生を回避しました。
  • STM プラットフォームでのアニメーションループの速度低下を修正しました。
  • PauseAnimation および TimeLineAnimation を、予想以上に長時間実行されないよう、タイムスタンプに基づくように更新しました。
  • DrawingEngine::blendPath() 関数の頻繁な呼び出しによって引き起こされていたパフォーマンスの問題を修正しました。
  • qmlcompiler を修正し、無効な QML ファイル名に関連するエラーメッセージを改善しました。
  • デスクトップシミュレータにおける以下の問題を修正しました:
    • システムスケーリングが有効な場合のレンダリング品質。
    • Windows 上のアプリケーションのデフォルトのビルドタイプが `Release` に設定されるようになりました。

Qt for MCUs v2.2.0

  • バインディングを最適化し、ツールチェーンやアプリケーションに応じてコードサイズを約3~15%削減しました。
  • 行高さにリーディング(フォントメトリック)が含まれないよう、テキストのレイアウトを修正しました。これにより、Qt QuickQt Quick Ultralite間の互換性が向上しました。
  • レイヤーが visible プロパティを無視する問題を修正し、このプロパティがレイヤーの子要素にも確実に伝播されるようにしました。
  • 互換性ソースが確実に含まれるよう、パッケージングを修正しました。
  • raw バイナリデータが適切にアラインされるよう、qulrcc を最適化しました。
  • Screen およびItemLayer タイプを最適化し、誤った使用法に対して警告が出るようにしました。
  • qul_add_resource で BASE および PREFIX が定義されている場合の qulrcc における動作の不整合を修正しました。
  • NXT RT1170 プラットフォームの移植版を更新し、円弧の代わりに一連のベジエ曲線を使用するようにしました。
  • フォントデータ配列のアドレスアライメントの問題を修正しました。
  • Qt Quick Ultralite を Qt 6.2.4 と互換性があるように更新しました。
  • nullptr の場合、メモリの整列をスキップするようにメモリマネージャーを修正しました。
  • チェスのサンプルを修正し、画面の向きに基づいてターンインジケーターの位置を処理するようにしました。
  • Green Hills ツールチェーンを使用した Traveo II でのレンダリングの問題を修正しました。
  • STM32H750Bでのちらつきを防ぐため、ブレンディングロジックをリファクタリングしました。

新しいAPI

アプリケーション開発用API

新しいメンバ関数

クラスSharedImage

(since Qt Quick Ultralite 2.2) Qul::PlatformInterface::Texture texture(int textureIndex = 0) const
(since Qt Quick Ultralite 2.2) int textureCount() const

名前空間内の新しい関数

(since Qt Quick Ultralite 2.2) QulErrorHandler *setErrorHandler(QulErrorHandler *handler)

新しいグローバル関数

(since Qt Quick Ultralite 2.2) const char *errorCodeToString(QulError code)

新しいQMLプロパティ

QML 型Text

(since Qt Quick Ultralite 2.2) wrapMode : WrapMode

プラットフォーム開発向けAPI

新しいグローバル関数

(since Qt Quick Ultralite (Platform) 2.2) void error(unsigned int lineNumber, QulError code, int param1 = 0, int param2 = 0, int param3 = 0)
(since Qt Quick Ultralite (Platform) 2.2) QulErrorHandler *setErrorHandler(QulErrorHandler *handler)

新しいマクロ

(since Qt Quick Ultralite (Platform) 2.2) QUL_ASSERT(expression, code, ...)

以前のバージョンでの変更点

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。