このページでは

C

2.2の新機能

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

新機能

  • QUL_PLATFORM_DEFAULT_BINARY_ASSET_OPTIONSが追加され、アセット・データ・バイナリをアプリケーション・バイナリにどのように含めるかを設定できるようになりました。
  • コンパイラ、グラフィックス・ドライバ、SDKのアップグレード
    • ARM GCCコンパイラv10.3。
    • IAR コンパイラ 9.20.4.
    • Traveo IIクラスタシリーズ用グラフィックスドライバv1e.1.0
    • MCUXPresso SDK v2.11.1
  • NXP RT1170のRK055HDMIPI4MA0ディスプレイのサポートを追加しました。
  • QUL_RH850_FLASH_TYPEとQUL_RH850_RAM_TYPEのコンフィグオプションを追加し、リソースデータにOcta flashとOcta RAMを使用できるようにしました。
  • 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

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

Qt for MCUs v2.2.3

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

Qt for MCUs v2.2.2

  • JLinkを見つけようとする時に、システム環境で見つかったJDKを無視するようにCMakeのロジックを修正しました。
  • MSVCのようなマルチコンフィグジェネレーターのビルドタイプチェックを修正し、デフォルトのビルドタイプが正しいことを確認するようにしました。
  • IARツールチェーンを使用してビルドされたシェイプ例のCypress Traveo II上のレンダリングアーティファクトを修正しました。
  • カスタムexec ループのパフォーマンスロギングの問題を修正しました。
  • STM デバイスへのバイナリのフラッシュに関する問題を修正しました。

Qt for MCUs v2.2.1

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

Qt for MCUs v2.2.0

  • バインディングを最適化し、ツールチェーンやアプリケーションに応じてコードサイズを約3~15%削減。
  • 行の高さに行頭(フォントのメトリック)を含めないようにテキストレイアウトを修正。これにより、Qt QuickQt Quick Ultralite の互換性が向上しました。
  • 可視プロパティを無視するレイヤーを修正し、そのプロパティがレイヤーの子にも伝達されるようにしました。
  • 互換性のあるソースが含まれるようにパッケージングを修正。
  • qulrcc を最適化し、未加工のバイナリ・データが適切に整列されるようにした。
  • Screen とItemLayer タイプを最適化し、誤った使用について警告するようにした。
  • qul_add_resource に BASE と PREFIX が定義されている場合の qulrcc の一貫性のない動作を修正。
  • NXT RT1170 プラットフォームポートを更新し、円弧の代わりに一連のベジエ曲線を使用するようにしました。
  • フォントデータ配列のアドレスアライメントの問題を修正しました。
  • Qt Quick Ultralite を Qt 6.2.4 と互換性があるように更新。
  • nullptr の場合にメモリの整列をスキップするようにメモリマネージャーを修正。
  • チェスの例で、画面の向きに基づいてターンインジケーターの位置を処理するように修正した。
  • Traveo II の Green Hills toolchain でのレンダリングの問題を修正。
  • 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, ...)

旧バージョンの変更点


詳細はこちら。