📄️ 画像フォーマット
TouchGFXは複数の画像フォーマットをサポートしています。 画像フォーマットは、それに合ったフレームバッファ・フォーマットでのみサポートされます。 以下の表に、サポートされている画像フォーマットとフレームバッファ・フォーマットを示します。
📄️ カスタム・トリガとカスタム・アクション
TouchGFX Designerでは、カスタム・トリガとカスタム・アクションによって、独自のインタラクション・コンポーネントを定義することができます。 アプリケーションの各スクリーンには、アクションのコレクション(C++のシンプルなvoidメソッド)を含むことができ、これらはTouchGFX Designer内から、またはコードでも呼び出すことができます。同時に、カスタム・コンテナにもトリガのコレクション(C++のコールバックと等しい)を含むことができ、これに対してアプリケーションで反応できます。 この記事では、この機能を利用して、非常にクリーンでダイナミックなTouchGFXアプリケーションを作成する方法について説明します。
📄️ スクリーン遷移
TouchGFXでは、スクリーン間の各種遷移をサポートしています。 そのため、アプリケーション・プログラマは、アプリケーションでスクリーンを変更する際にさまざまな視覚的効果を使用できます。
📄️ 位置とサイズ
一般的なTouchGFXアプリケーションのUIセットアップの大部分は、TouchGFX Designerによって作成できますが、通常はユーザが手動で少し記述する必要もあります。 たとえば、アニメーションの実行を増やしたり、ユーザ・イベントや設定データに応じて異なるウィジェットのダイナミック・セットアップを作成するような場合です。
📄️ カスタム・コンテナ
アプリケーションの作成時には、TouchGFXに含まれる標準ウィジェット・セットにはないウィジェットが必要になる場合もあります。
📄️ ビットマップのキャッシュ
このセクションでは、TouchGFXのビットマップ・キャッシュについて説明します。 ビットマップ・キャッシュとは、アプリケーションによってビットマップを保存(つまりキャッシュ)できる専用のRAMバッファのことです。 ビットマップがキャッシュされると、TouchGFXは、ビットマップを描画するときのピクセル・ソースとして、そのRAMキャッシュを自動的に使用することになります。
📄️ カスタム・ウィジェット
アプリケーションの作成時には、TouchGFX配布には含まれていないウィジェットが必要になる場合があります。 TouchGFXでは、ユーザが独自のグラフィック要素を作成できる方法がいくつか用意されています。 最も単純なのはカスタム・コンテナ・アプローチを使用する方法で、既存のウィジェットを独自のウィジェットに結合するものです。 しかしこの記事では、本質的に、フレームバッファを完全制御して望むものを正確に描画することができるウィジェットを作成できるようになる、もっと高度なアプローチを詳しく取り上げます。
📄️ Canvas Widget(キャンバス・ウィジェット)
Canvas WidgetとCanvas Widget Rendererは、強力で用途の広いTouchGFXのアドオンで、相対的に少ないメモリ使用量で高パフォーマンスを維持しながら、幾何学形状に対して非常に滑らかでアンチエイリアスされた描画を実現します。 ただし、幾何学形状の描画は極めて負荷の高い操作ですので、注意して使用しないとマイクロコントローラのリソースが簡単にひっ迫することになります。
📄️ ダイナミック・ビットマップ
このセクションでは、ダイナミック・ビットマップの使用方法について説明します。 標準のビットマップはアプリケーションにコンパイルされるので、コンパイル時に使用可能でなければならないことを思い出してください。 ビットマップはPNGファイルなどから変換され、サイズおよびフォーマット情報と共に内部フォーマットで保存されます。
📄️ バイナリ・フォント
このセクションでは、TouchGFXでバイナリ・フォントを使用する方法について説明します。 最初のセクションでは、TouchGFXのフォントとテキストのシステムに関する詳細な情報をいくつか取り上げます。これはバイナリ・フォントを操作する際の理解に役立つものです。 2番目のセクションでは、バイナリ・フォントの使用方法について説明します。
📄️ フォント・キャッシュ
このセクションでは、フォント・キャッシュを使用してTouchGFXでバイナリ・フォントを処理する方法について説明します。
📄️ バイナリ翻訳
このセクションでは、TouchGFXでバイナリ翻訳を使用する方法について説明します。 通常、テキスト翻訳はアプリケーションにコンパイルされます。 この方法は効率的で使いやすいものです。 バイナリ翻訳では、テキストの翻訳をアプリケーション外に保持します。 バイナリ翻訳は独立したバイナリ・ファイル内に生成され、Flashにプログラミングするか、SDカードに保存することができます。 これにより、アプリケーション開発者が多数の翻訳を処理するときに大きな柔軟性がもたらされます。
📄️ バックエンド通信
ほとんどのアプリケーションでは、UIを何らかの方法でシステムのその他のコンポーネントに接続し、データを送受信する必要があります。 このために、ハードウェア・ペリフェラル(センサ・データ、A/D変換、シリアル通信など)とのインタフェースや、他のソフトウェア・モジュールとのインタフェースを行うことが考えられます。
📄️ ミックスイン
ミックスインとはウィジェットの機能を拡張するクラスで、移動やアルファ値の変化をアニメーション化することなどができます。 Move AnimatorおよびFade Animatorミックスインは、TouchGFX Designerインタラクションの基本となるもので、移動やアルファの変化をアニメーション化するコードを生成できます。 これらのミックスインは、TouchGFX Designerを介して、あるいはユーザ・コードで手動でウィジェットに追加されます。
📄️ テキストとフォント
テキストとフォントは、現代のグラフィカル・ユーザ・インタフェースの非常に重要な要素です。 アプリケーションがサポートするすべての言語で、高品質でなめらかなテキストを表示できるようにすることはとても重要です。
📄️ 言語と文字
TouchGFXでは、国際化およびローカライズされたアプリケーションを使用できます。
📄️ MJPEGビデオ
TouchGFXバージョン4.18から、MJPEGビデオの使用がサポートされています。 ビデオを使用して、より生き生きとしたユーザ・インタフェースを作成したり、簡単な手順やユーザガイドを表示したりすることができます。
📄️ SVG
TouchGFXバージョン4.21から、SVG画像の使用がサポートされています。 SVG画像は、従来のビットマップ・ベースのグラフィックスと組み合わせて、ベクタ・グラフィックを使用したユーザ・インタフェースを作成するために使用できます。
📄️ ベクタ・フォント
TouchGFXバージョン4.23から、ベクタ・フォーマットのフォントの使用がサポートされています。 ベクタ・フォーマットで格納されるフォントは、フォント・データがすべてのフォント・サイズで共有されるため、データ・サイズを小さくできる可能性があります。 これは、すべてのフォント・サイズにそのサイズのグリフ専用のビットマップを持つビットマップ・フォントとは対照的です。
📄️ 画像の圧縮
TouchGFXバージョン4.22から、画像の圧縮がサポートされています。 バージョン4.22~4.23でのサポートは、L8画像圧縮に制限されています。 バージョン4.24以降は、RGB565、RGB888、およびARGB8888フォーマットの画像圧縮がサポートされています。
📄️ アニメーション・ストレージ
アニメーション・ストレージはTouchGFXでサポートされているオプションの追加フレームバッファで、スクリーン遷移中のアニメーションの作成に使用できます。