このページでは

C

2.12の新機能

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

新機能

  • 以下のターゲットプラットフォームのサポートを追加
  • Green HillsまたはIARツールチェーンを使用して構築されたInfineon TRAVEO T2GターゲットにDeviceLinkサポートを追加。これにより、Squishを使用した自動UIテストが可能になります。
  • QmlProjectの改善または更新:
  • GCCコンパイラー固有のオプションとフラグをCompilerExtraOptions から削除しました。これらのオプションとフラグは、CMakeツールチェーン・ファイル(armgcc.cmake )でも設定されているためです。これにより、オプションとフラグのハード・コーディングが回避され、カスタマイズが可能になります。
  • アプリケーションがサポートする言語のリストを取得するためのQul::activeLanguages プロパティを追加しました。
  • Position インスタンスでtimestamp インスタンスのサポートを有効にするため、date 値タイプを追加。
  • 外部フラッシュに保存された Monotype データテーブルの整合性を検証するためにQul::validateMonotypeDataTableChecksums() を追加。これらのデータテーブルを外部フラッシュに保存すると、内蔵フラッシュで約~57 KB を節約できます。詳細については、Monotype データテーブルを外部フラッシュに保存するを参照してください。
  • Thermoデモを更新し、Monotype データテーブルをデフォルトで QSPI に保存するようにしました(STM32F769I Discovery Kit )。
  • Qul::initResources() オプションを追加し、初期化の動作を制御できるようにしました。
  • グリフレイアウトデータのキャッシュサイズを制御するMCU.Config.glyphsLayoutCacheSizeを追加。
  • qmltocpp 改良:
    • 与えられたルート・オブジェクトのすべてのプロパティ・バインディングを設定するコードが、テーブル・ベースのセッターを使用するように改善され、コードのフットプリントが大幅に削減されました。
    • 組み込みの読み取り専用リストプロパティに対するエラーチェックを追加しました。
  • ターゲット・ハードウェアからコード・カバレッジ結果を取得するためのCocoのサポートを追加しました。
  • アプリケーションとそのリソース・データを独立して更新するサポートを追加。また、queryResourceStorageSectionInfo() を追加し、initResources() API にオプションを追加しました。これは、OTA (Over The Air) アップデートで利用可能なリソース・データに基づいて UI 機能を有効にするものです。
  • RTOS、SDK、コンパイラのアップグレード:
    • MSVCコンパイラをWindows 11の2022に対応。
    • Renesas RH850/D1M1A RGL SDKをv2.2.0aへ。
    • Renesas プラットフォームSDKをバージョン25.06.00へ。
    • NXP platform SDK をバージョン 25.09.00 に変更。
    • STM32CubeH7 SDKをバージョン1.12.1に変更。
    • Zephyr RTOS を v4.1 に変更。
  • パフォーマンス・ログのキャッシュ・メモリ使用レポートを改善し、ブロック・オーバーヘッドを含むすべての割り当て領域をカウントするようにした。
  • リソースキャッシュに十分な領域があるかどうかを確認するために、アサートの代わりにmaybeTexture() メソッドを追加。
  • MCU.Config.Experimental.multiLineElideのQmlProjectプロパティを使用して有効にできる、複数行消去モードを追加しました。このモードは、利用可能な幅を超える行をすべて消去します。明示的に高さを設定する必要はありません。
  • Text アイテムの表示行数を制限するmaximumLineCount プロパティを追加しました。
  • ナビゲーションAPIを改善:

修正された問題

  • TRAVEO T2GターゲットでOTFレイヤを使用する際に、リソースキャッシュを使用して複数フレームのアセットを保持できるようにした。これにより、Qt Quick Ultralite Coreでレンダリングしているテクスチャデータが無効になった場合に、OTFレイヤのビジュアルアーティファクトを回避。
  • IAR ツールチェーンに基づくSTM32F769Iターゲットのメモリ不足例外を修正しました。IARビルドでも24Kサイズの固定スタックに変更。
  • T2G TRAVEOボードでパスストロークを描画する際のグラフィックの不具合を修正。
  • TRAVEO T2Gターゲット上でハードコードされたメモリアドレスを使用する代わりに、動的にメモリを割り当てるようにJPEGデコーダを修正。
  • destRect.topLeft() != srcRect.topLeft() 時のTRAVEO T2Gターゲット上の不正な透視変換を修正。
  • TRAVEO T2Gでサーフェスの割り当てに失敗した場合のエラー報告を改善。
  • 描画エンジンがまだ非同期にそれらを読み込んでいるときに、削除されたエントリによる視覚的なアーティファクトを回避するために、テキストのキャッシュを修正しました。
  • Renesas RH850のプラットフォーム適応を修正し、RGB332ピクセルフォーマットのCPUフォールバックエンジンを使用するようにした。
  • qmltocpp 修正:
    • アイテム数の多いコンポーネントレイアウト用に生成されるコードを修正。
    • モジュールがそれ自身をインポートしている場合、import ステートメントを無視します。
    • 翻訳ファイルが見つからない場合、翻訳関数の生成をスキップするようにしました。
  • qmlprojectexporter の修正:
    • C++ コンパイラ・オプションに関する警告。
    • Qt Safe Renderer モジュールに正しい URI を使用するようにしました。
  • position プロパティが QML からアクセスできるように修正。
  • GHSコンパイラが生成する依存ファイルの接尾辞情報を修正し、Ninjaが正しいファイル名を認識できるようにした。
  • デリゲートからListView または Repeater モデルをリセットするとクラッシュする問題を修正。
  • 対応するクラスタ値へのchar属性のマッピングを無効にすることで、fontcompiler の警告を修正。
  • 不要な再レイアウトを避け、レンダリング前にキャッシュをクリアすることにより、テキストのパフォーマンスを最適化。
  • TRAVEO T2Gにおいて、JPEGデコーダーがハードコードされたメモリーアドレスを使用する代わりに動的にメモリーを割り当てる際のメモリー破損を修正。
  • キャッシュからエントリを削除する前にwaitUntilAsyncReadFinished() を呼び出すよう、テキストキャッシュの実装を修正。

新しいAPI

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

新しいクラス

新しいメンバー関数

クラスGeoPositionInfo

(since Qt Quick Ultralite 2.12) bool hasSpeed() const

クラスSharedImage

(since Qt Quick Ultralite 2.12) bool maybeTexture(Qul::PlatformInterface::Texture &texture, int textureIndex = 0) const

名前空間内の新しい関数

(since Qt Quick Ultralite 2.12) bool queryResourceStorageSectionInfo(const char *resourceStorageSectionName, Qul::ResourceStorageSectionInfo *info = NULL)
(since Qt Quick Ultralite 2.12) bool validateMonotypeDataTableChecksums(Qul::MonotypeDataTables tables = MonotypeDataTables(MonotypeDataTable::AllDataTables))

新しい列挙型

(since Qt Quick Ultralite 2.12) enum class RenderHint { SafeRendering }
(since Qt Quick Ultralite 2.12) enum class MonotypeDataTable { decompositionData0, decompositionData1, decompositionData2, decompositionData3, decompositionIndex, …, AllDataTables }
(since Qt Quick Ultralite 2.12) enum class ResourceInitializationOptions { DisableAutomaticVersionChecking, AllowUnlistedResources }

新しい型のエイリアス

(since Qt Quick Ultralite 2.12) RenderHints
(since Qt Quick Ultralite 2.12) MonotypeDataTables

新しい変数

(since Qt Quick Ultralite 2.12) double speed
(since Qt Quick Ultralite 2.12) uint64_t timestamp

新しい QML 型

新しいQMLプロパティ

QMLタイプPosition

(since Qt Quick Ultralite 2.12) speed : double
(since Qt Quick Ultralite 2.12) speedValid : bool
(since Qt Quick Ultralite 2.12) timestamp : date

QML TypeQul

(since Qt Quick Ultralite 2.12) activeLanguages : list<string>

QMLタイプText

(since Qt Quick Ultralite 2.12) maximumLineCount : int

プラットフォーム開発用API

新しいクラス

新しいメンバー関数

クラスDrawingEngine

(since Qt Quick Ultralite (Platform) 2.12) virtual Qul::PlatformInterface::RenderHints supportedRenderHints() const

旧バージョンでの変更点


詳細はこちら。