更新履歴
バージョン4.19.1
リリース日付: 2022年4月4日
TouchGFX Designerの新機能:
TouchGFX Designerのバグ修正:
- フレックス・ボタン・ウィジェットのテキスト・ボタン・スタイルで、欠落している色のプロパティが修正されました。
- フレックス・ボタン・ウィジェットのテキスト・ボタン・スタイルで、誤ったワイルドカードのコード生成が修正されました。
- InteractionEndedCallBacksでフレックス・ボタンを使用するときの誤ったコード生成が修正されました。
- ダイナミック・グラフとスタティック・グラフのラベルで、誤った'Text'プロパティ・ラベルが修正されました。
- バージョンのアップグレード後に、touchgfx_componentsフォルダが削除されない問題が修正されました。
- テキスト・グリッドでセルがフォーカスから外れると、クラッシュを引き起こすことがある問題が修正されました。
TouchGFXコアの新機能:
TouchGFXコアのバグ修正:
- 省略記号のみの変更の場合に、FontConvertで新しいコードが生成されない問題が修正されました。
- いくつかのアプリケーションの失敗の原因になることがある、ビデオ・ウィジェットのデストラクタ内のバグが修正されました。
バージョン4.19.0
リリース日付: 2022年3月21日
TouchGFX Designerの新機能:
- 大容量テキストの概要把握と管理を容易にするために、テキストおよびタイポグラフィ処理のインタフェースが新しく改善されました。
- テキストおよびタイポグラフィ管理用に追加された機能には次のものが含まれます。
- シングル・ユースとリソースを1つのグリッドにマージ
- テキストの容易な変換
- グループ化
- グリッドでのテキストの再整列とコピー
- 検索
- グリッドでの言語列の非表示
- タイポグラフィの言語設定
- テキストおよびタイポグラフィ管理用に追加された機能には次のものが含まれます。
- 新しいウィジェット: スタティック・グラフ
- 大容量テキストの概要把握と管理を容易にするために、テキストおよびタイポグラフィ処理のインタフェースが新しく改善されました。
TouchGFX Designerのバグ修正:
TouchGFXコアの新機能:
- 新しいウィジェット: グラフ
- 新しいtexts.xmlフォーマットでは、テキストのグループ化と言語固有のタイポグラフィの設定をサポートします。
- HAL::setAnimationStorage()が追加されました。
- サーキュラではないリストの末尾のドラッグ・イベント用に、ScrollBase::setOvershootPercentage()、およびgetOvershootPercentage()が追加されました。 これは、ScrollListsおよびScrollWheelsで機能します。
- Event::getEventType()がconstになりました。
- シミュレータでF5キーを押すと、Application::changeToStartScreen()が呼び出されます。これはFrontendApplicationで実装可能です。
- 各無効化領域をフラッシュするシミュレータの機能を、HALSDL2::setFlashInvalidatedAreas()を使用してコードで設定できるようになりました。
- ウィジェットのグラフィック要素を含む部分のみを無効化する新しい関数invalidateContent()が、ドローアブル、コンテナ、ウィジェット、ミックスインに追加されました。 この新しい関数をinvalidate()の代わりに使用すると、パフォーマンスを向上させることができます。
- スケーリング時にスクリーンを正しく更新するために無効化を行うTextureMapper::updateScale()が追加されました。 それに応じて、AnimationTextureMapperが更新されました。
- FadeAnimatorはアルファが変化した場合のみ無効化を行います。 減衰するウィジェットには関数getAlpha()が必要です。
- 一部の内部グラフ・クラスの名前が変更されました。
- AbstractDataGraphWithY -> DynamicDataGraph
- DataGraphScroll -> GraphScrollData
- DataGraphWrapAndClear -> GraphWrapAndClearData
- DataGraphWrapAndOverwrite -> GraphWrapAndOverwriteData
- グラフ・クラスの新機能により、スケーリング済みの値を追加できるようになりました。 スケールが10の場合、スケーリングされた値15を追加することは、浮動小数点値1.5fの追加と等しくなります。 これにより浮動小数点による計算を導入しなくてすみます。 この新しい関数はすべて末尾が"Scaled"という単語になっています。
- ビデオ内の特定のフレームを表示するために、Video::showFrame()が追加されました。
- LCD::copyAreaFromTFTToClientBuffer()が追加され、TFTとクライアント・バッファ間で新しいピクセルがコピーされるようになりました。
- LCDNemaPが、LCDGPU2Dに名前変更されました。
- Microsoft Visual Studio 2022のサポートが追加されました。
- 既存のKeilライブラリの名前が、"touchgfx_core.lib"から"touchgfx_core_wchar32.lib"に変更されました。
- short enum/wchar用にコンパイルされたKeilライブラリ"touchgfx_core_wchar16.lib"が追加されました。
TouchGFXコアのバグ修正:
- テキストの省略記号が存在しない場合の処理が適切になりました。
- LCD16bppSerialFlash::blitCopyRGB888()で、画像をFlashから読み出せるかどうかチェックされなかった問題が修正されました。
- HAL::copyFrameBufferRegionToMemory()関数で、誤ったSolidRectが設定されることがある問題が修正されました。
- 回転ディスプレイで、フレームバッファの高さがディスプレイの幅より大きい場合に、フレームバッファの誤った部分が書き込まれる問題が修正されました。
- ScrollList::setWindowSize()が、(余白も含め)完全に表示されたアイテムの数に制限されます。
- EasingEquations::backEaseInOut()で、変更が奇数の場合に丸め処理にバグが発生する問題が修正されました。
非推奨になったTouchGFXコア機能:
- TextureMapper::invalidateBoundingRect()が非推奨になりました。 invalidateContent()を使用してください。
- Application::cacheDrawOperations()が削除されました。 clearCachedAreas()およびdrawCachedAreas()を使用してください。
- ダイナミック・グラフに対する関数setXAxisScale()が、setXAxisFactor()という名前になりました。
- ダイナミック・グラフに対する関数getXAxisScaleAsInt()が、getXAxisFactorAsInt()という名前になりました。
- ダイナミック・グラフに対する関数getXAxisScaleAsFloat()が、getXAxisFactorAsFloat()という名前になりました。
- GraphElementArea::setBaseline()とGraphElementHistogram::setBaseline()で、グラフが自動的に再描画されなくなりました。 invalidateGraphArea()などを明示的に呼び出す必要があります。
バージョン4.18.1
リリース日付: 2021年12月7日
TouchGFX Designerの新機能:
TouchGFX Designerのバグ修正:
- さまざまなネットワークの安定性が確保されました。
- TouchGFX Designerを開いているときに進捗インジケータを含むプロジェクトに画像を追加すると、クラッシュする問題が修正されました。
- [Add Widget]メニューで、メニューを開くと検索テキスト・ボックスがフォーカスされない状態になる問題が修正されました。
- "Set wildcard"アクションでリソース・テキストを選択できない問題が修正されました。
- 1bppの色深度でBW_RLEフォーマットが欠落している問題が修正されました。
- テキスト上で使用されているタイポグラフィを削除すると、誤ったエラーがレポートされる問題が修正されました。
- ウィジェット・ツリー・ビューの表示切り替えボタンに、マウス・ポインタを合わせても反応しない問題が修正されました。
- ファイル・メニューのテーマの切り替えオプションで、現在のテーマが正しくレポートされない問題が修正されました。
TouchGFXコアの新機能:
TouchGFXコアのバグ修正:
- Videos.sファイルは、ビデオを使用するKeilプロジェクトに対してのみ生成されるようになりました。
- CWR PainterARGB8888Bitmapが、アルファ・チャネルを使用するRGB565画像に対して機能しなかった問題が修正されました。
- キーボード・ウィジェットの使用で、レイアウト内のキーの外側を押したときに発生する可能性がある表示上のバグが修正されました。
- Event::getEventType()がconstになりました。
バージョン4.18.0
リリース日付: 2021年10月20日
TouchGFX Designerの新機能:
- 新しいウィジェット: Video
- 新しい.xmlテキスト・データベースがサポートされました。
- .touchgfxファイルからTextEntriesデータベースが削除されました。
- XRGBがサポートされました。
- Recent Applicationsリストにアプリケーションのフル・パスが追加されました。
- アイコンにさまざまなアニメーションが追加されました。
TouchGFX Designerのバグ修正:
- プロキシのダイアログがない問題が修正されました。
- Gaugeウィジェットをカスタム・コンテナ定義内に配置するときのコード生成エラーが修正されました。
- ファイルを他のエディタで開いているときに、TouchGFX Designerがディスク上のファイル変更をレポートする問題が修正されました。
- アナログ・クロックのサイズ変更ができる問題を修正しました。
- テキスト・マネージャ内でタイポグラフィ・セレクタが正しくサイズ変更されない問題が修正されました。
- ドロップ・ダウン・コントロールが自動選択されることがある問題が修正されました。
- テキスト・マネージャのパフォーマンスが向上しました。
- カラー・ピッカーのパフォーマンスが向上しました。
- アルファ・スライダ・コントロールのUX動作が改善されました。
- 数値プロパティの上下コントロールがマウス・ホイールの使用後に動作しなくなる問題が修正されました。
- プロパティ・コントロール間のタブ移動が修正されました。
- ディザリング・アルゴリズム・セレクタ・アイテムに名前がない問題が修正されました。
- Selected Style Templateで使用されるカスタム・コンテナを削除した後、ScrollWheelウィジェットが誤った状態になる問題が修正されました。
- ディスク上で削除済みである最近のアプリケーションを開こうとするとクラッシュする問題が修正されました。
TouchGFXコアの新機能:
- テキストと言語(翻訳)がtexts.xlsx(Excel形式)ではなくtexts.xmlに保存されるようになりました。 翻訳をエクスポートおよびインポートするためのツールが追加されました(touchgfx/framework/tools/textconvert/translation.rb)。
- 新しいウィジェット: VideoWidget
- 3rdparty/libjpegにLinuxおよびWindows用のlibjpegライブラリが追加されました(公式のlibjpegとは赤と青の色が置き換わっています)。
- フレームバッファのサイズと等しくないディスプレイ・サイズをシミュレータで処理できるようになりました。 touchgfx_generic_init()の呼び出しの後で、HAL::setFrameBufferSize()を使用して(大きな)フレームバッファ・サイズを設定します。
- Drawable::center()、centerX()、centerY()が追加され、Drawableを親の内部で中央配置できるようになりました。
- Drawable::expand()が追加され、Drawableを親と同じサイズにし、オプションでエッジの周囲に余白を使用できるようになりました。
- LCD::fillBuffer()が追加され、任意のメモリ・バッファ内を1つのカラー・パターンで埋められるようになりました。
- ScrollableContainer::getChildrenContainedArea()が追加されました。
- 16bpp LCDでARGB8888画像の描画が高速化されました。
- Application::getCurrentScreen()がスタティックになり、使いやすくなりました。
- Freetype 2.10.4が2.11.0に更新されました(フォント変換ユーティリティで使用)。
- nlohmann json 3.9.1が3.10.2に更新されました(画像変換ユーティリティで使用)。
- Ruby 1.9.3が3.0.2に更新されました(テキスト変換ユーティリティで使用)。
- ScrollableContainer::doScroll()がパブリックになり、スクロールが確実に有効になりました。
- スクリーン内のルート・コンテナの位置とサイズを設定できるようになりました。
- すべてのビットマップ・ペインタでビットマップのオフセットが可能になり、ビットマップをタイル化できるようになりました(メモリの節約に役立ちます)。
TouchGFXコアのバグ修正:
- TextAreaの自動WordWrapping(WideTextAction)でインデントが考慮されない問題が修正されました。
- ImageConvertで別のドライブへの書き込み、またはフル・パスの書き込みが許可されない問題が修正されました。
- TextProvider::initialize()で...パラメータを使用すると、予期しない結果が生成される問題が修正されました。
- 生成済みのファイル内のすべての外部宣言が実際の宣言と一致するようになりました。
- ディスプレイの向きの変更時に、FRAME_BUFFER_WIDTHとFRAME_BUFFER_HEIGHTが混乱する可能性があった問題が修正されました。
- ProgressIndicatorとGaugeをタイマによるミックスインで使用できない問題が修正されました。
- ピクセルデータのバッファが設定されていないときに、PixelDataWidget::getSolidRect()が空のRectを返すようになりました。
- PixelDataWidget::getPixelData()およびPixelDataWidget::getBitmapFormat()が追加されました。
- シミュレータ・アプリケーションのマウスおよびキーボード・イベントに対する応答性が向上しました。
- ScrollableContainer::moveChildrenRelative()で、getScrolledX()およびgetScrolledY()の値が更新されるようになりましたが、スクロールバーは更新されません。 ただし、moveChildrenRelative()は非推奨になる予定なので、代わりにdoScroll()を使用してください。
- ScrollableContainerでの相対座標の誤った使用が修正されました。
- EasingEquations::elasticEaseIn()、EasingEquations::elasticEaseOut()、EasingEquations::elasticEaseInOut()が修正されました。
- 一部の8bppペインタで誤った色が使用され、稀に32bppディスプレイ上のL8_RGB888が誤った状態になる問題が修正されました。
- LCD16bpp::blitCopy()がRGB888をサポートしない問題が修正されました。
- LCD16bpp::fillRect()およびLCD16bpp::drawGlyph()が、ネイティブの16ビット・カラーではなく24ビット・カラーをDMAに渡すようになりました。
非推奨になったTouchGFXコア機能:
- TouchGFXでは、アルファ・チャネルを使用するRGB565のサポートが間もなく削除されます。 ARGB8888などへの移行を手助けするために、ImageConvertでこのことがレポートされる予定です。
- TouchGFXにはLinux用のSDL2が含まれなくなりました。 パッケージlibsdl2-devおよびlibsdl2-image-devをLinux環境にインストールしてください。
- TextureMapper::invalidateBoundingRect()が非推奨になりました。 invalidateContent()を使用してください。
バージョン4.17.0
リリース日付: 2021年6月30日
TouchGFX Designerの新機能:
- TouchGFX DesignerのUIが全面的に改訂されました。 すべての既存の機能がなお使用可能ですが、使用しやすく直感的なインタラクション・スキームを介して使用できるようになりました。 複数のカラー・テーマなど、さらなる機能も追加されました。
TouchGFX Designerのバグ修正:
TouchGFXコアの新機能:
- TextureMapperに、setAngles()、setXAngle()、setYAngle()、setZAngle()の関数が追加されました。 これらの関数は無効化を実行しないので、対応する更新関数と比べて少しだけ高速です。
- 新しいスケールの設定と(最小限の)無効化を実行する、TextureMapper::updateScale()が追加されました。 AnimationTextureMapperが、この関数を使用しています。
- シミュレータでF1キーを押すと、ピクセルのRGBカラー値(16進数)と、XY座標が表示されるようになりました。
- フレームバッファがロック後にロック解除されていない場合、シミュレータがアサートします。
- SwipeContainer::setPageIndicatorCenteredX()は、ページ・インジケータをページ・インジケータの現在のY座標の中央に配置します。
- colortypeの実装が変更され、アクティブなディスプレイの色深度に関係なく(クレーと白黒のディスプレイでも)、常に赤色用に8ビット、緑色用に8ビット、青色用に8ビットで保存されるようになりました。 一部の色の関数が削除または名前変更されました。非推奨のセクションを参照してください。
- Screen::insert()、Screen::invalidate()およびScreen:invalidateRect()が追加され、 たとえば、スクリーンで"container.invalidate()"の代わりに"invalidate()"が使用できるようになりました。
- CacheableContainerがsetAlphaとgetAlphaをサポートするようになり、フェーディング(減衰)が可能になりました。
- LCD16bppおよびLCD16bppSerialFlashが、RGB888画像のブリット・コピーをサポートするようになりました。
- LCDドライバからDebugPrinterの実装が抽出され、ファイルが分離されました。
- Bitmap::dynamicBitmapCreateL8()が追加され、256エントリ未満のパレットを持つダイナミックL8ビットマップの作成が可能になりました(領域削減のため)。
- 既存の(スタティックまたはダイナミック)ビットマップのコピーを作成するために、Bitmap::dynamicBitmapCreateCopy()が追加されました。 RGB565アルファ・チャネルはコピーできません。
- ダイナミック・ビットマップの全部または一部を所定の色で塗りつぶすために、Bitmap::dynamicBitmapFill()およびBitmap::dynamicBitmapFillRect()が追加されました。
- Screen::getScreenWidth()およびScreen::getScreenHeight()が追加されました。これらはHAL::DISPLAY_WIDTHおよびHAL::DISPLAY_HEIGHTの代わりに使用されます。
- Freetype 2.10.2が2.10.4に更新されました(フォント変換ユーティリティで使用)。
- OSWrappers::taskYield()関数が追加されました。
- HAL::initialize()が仮想化されました。
- フレームバッファにアルファ・チャネルを持たない32ビットのディスプレイ上で描画するために、LCD32bpp_XRGB8888ディスプレイ・ドライバが追加されました。
- BlitOp L8が追加され、ハードウェアがそれをサポートしていれば、DMAを使用してL8画像を描画できるようになりました。
TouchGFXコアのバグ修正:
- HALSDL2がSDL_WINDOWEVENT_EXPOSEDに反応して、ウィンドウを再描画するようになりました。
- HSVからHSLへの色の変換のバグが修正されました。
- DragActionが定義されていない場合の、グラフのクラッシュが修正されました。
- ビットマップが描画可能なものより小さい場合でも、HAL::drawDrawableInDynamicBitmap()が動作するようになりました。
- パスに国際的な文字が含まれるフォルダ("Wunderschön_Projekt"や"Lækkert_Projekt"など)に、TouchGFXプロジェクトを配置できます。
- SwipeContainerページ・インジケータと選択したページが、ページの追加または削除後に更新されなかった問題が修正されました。
- Graph VerticalFrontlineの再描画の問題が修正されました。
- Graph::Lineで稀に起こる再描画の問題が修正されました。
- 名前の競合を避けるため、HAL::setRenderingVariantがHAL::setRenderingMethodに名前変更されました。
- ごく稀にCanvasWidgetでキャンバス外の領域が無効化されることがあり、これが修正されました。
- 内部のTouchGFX #includeがクリーンアップされました。 これは、<touchgfx/hal/HAL.hpp>などを含める必要がある可能性があります。 以前、これらのファイルはColor.hppなどによって誤って含められていました。
- LCD2bppのアルファブレンディングが修正されました。
- 24 / 32bppビットマップおよびテキストに対する、LCD16bppでのアルファブレンディングが改善されました。
非推奨になったTouchGFXコア機能:
- 速度上の理由で、すべてのキャンバス・ペインタからアルファが削除されました。 代わりに、Canvasウィジェットでアルファを設定してください(Circle、Lineなど)。
- 4つのパラメータを持つColor::getHSVFromHSLおよびColor::getHSLFromHSVが非推奨になりました。 6つのパラメータを持つ新しいバージョンを使用してください。
- 関数getColorFrom24BitRGB、getColorFromRGB、getRedColor、getRedFromColor、gerGreenColor、getGreenFromColor、getBlueColor、getBlueFromColorが、LCDクラスから削除されました。 すべてのディスプレイ・タイプで色が同じフォーマットで保存されるようになったので、Colorクラス内の関数を使用してください。
- 名前が変更された関数:
- Color::getColorFrom24BitRGB()が、Color::getColorFromRGB()になりました。
- Color::getColorFrom24BitHSV()が、Color::getColorFromHSV()になりました。
- Color::getColorFrom24BitHSL()が、Color::getColorFromHSL()になりました。
- Color::getRGBFrom24BitHSV()が、Color::getRGBFromSHV()になりました。
- Color::getHSVFrom24BitRGB()が、Color::getHSVFromRGB()になりました。
- Color::getRGBFrom24BitHSL()が、Color::getRGBFromHSL()になりました。
- Color::getHSLFrom24BitRGB()が、Color::getHSLFromRGB()になりました。
- Color::getRedColor()が、Color::getRed()になりました。
- Color::getGreenColor()が、Color::getGreen()になりました。
- Color::getBlueColor()が、Color::getBlue()になりました。
- ZoomAnimationImage::setDimensionが削除されました。 setWidthHeight()を使用してください。
- int16_t&パラメータを使用するAbstractProgressIndicator::getRangeが削除されました。
- Image::getBitmapId()が、@deprecated(非推奨)とマークされなくなりました。
- Application::draw()が、@deprecated(非推奨)とマークされなくなりました。
バージョン4.16.1
リリース日付: 2021年2月8日
TouchGFX Designerのバグ修正:
- DirectionをEast以外の値に設定できないという、ListLayoutウィジェットのバグが修正されました。
- Sliderウィジェットの方向セレクタの誤ったツールチップが修正されました。
- NemaP LCDを使用するときのコード生成のバグが修正されました。
- Bring ForwardとSend Backwardsのアイコンが同じであるバグが修正されました。
- Gaugeウィジェットのヘルプ・テキストが無いというバグが修正されました。
TouchGFXコアの新機能:
- NeoChromによるパフォーマンス向上のため、LCD::drawQuadメソッドが追加されました。
- TextureMapperウィジェットとScalableImageウィジェットが、LCD::drawQuadを使用するように変更されました。
TouchGFXコアのバグ修正:
- グラフ内の変数dragActionを初期化しないとクラッシュする問題が修正されました。
- BlockTransitionが、縦向きハードウェア上での横向きディスプレイ表示で動作しない問題が修正されました。
- PartialFrameBufferManager::tryTransmitBlockによる、アサートの問題が修正されました。
バージョン4.16.0
リリース日付: 2020年12月15日
TouchGFX Designerの新機能:
- 新しいウィジェット: Gauge
- "When Screen Transition Begins"という新しいトリガが追加されました。
- "When Screen Entered"トリガが、"When Screen Transition Ends"に名前変更されました。
- 新しく"Set Language"アクションが追加されました。
- ウィジェット上でImage Pickerを介して1つの画像を追加すると、その画像が選択されるようになりました。
- 'Help->Keyboard Shortcuts'に、ショートカットのドキュメントへのリンクが追加されました。
- 'Execute C++ code'アクションのために、改善されたコード・エディタが追加されました。
- 'go to screen'アクション用に新しいブロック遷移が追加されました。
- 'Add Widget'メニューの、使いやすさ (ユーザ・エクスペリエンス)が向上しました。
- LCDNemaPが暫定的にサポートされました。
TouchGFX Designerのバグ修正:
- '#include <string.h>'を追加することで、生成されたmainBase.cppのコンパイルがUnix上で失敗する問題が修正されました。
- ファイル名にアンダースコアが含まれている場合に、画像ファイルの検証で画像エラーがレポートされる問題が修正されました。
- 名前にスペースが含まれるアプリケーションが作成できるように修正されました。
- カスタム・コンテナ内でダイナミック・グラフのコールバック・ハンドラが、2回生成される問題が修正されました。
- 特定のエッジのケースで、Dynamic GraphによってTouchGFX Designerがクラッシュする問題が修正されました。
- シングル・ユースとリソース・テキスト間で切り替えるときに、Dynamic Graphのラベルが更新されない問題が修正されました。
- Dynamic Graphのサイズを変更するときに、Dynamic Graphのラベルの位置が更新されない問題が修正されました。
TouchGFXコアの新機能:
- パフォーマンス向上のための新しい無効化アルゴリズム。
- 新しいコンテナGaugeが追加されました。
- BoxWithBorderがBoxのサブクラスになりました。
- LCD16およびLCD8 fillRect関数が、32 / 16ビットを一度に書き込むようになり、パフォーマンスが向上しました。
- CanvasWidget::resetMaxRenderLines()が追加されました。
- LCD2shiftVal()、LCD2getPixel()、LCD2setPixel()が、クラスLCD2bppに移動しました。
- LCD4getPixel()とLCD4setPixel()が、クラスLCD4bppに移動しました。
- ScrollableContainer::setScrollbarsPermanentlyVisible()がブールの引数を取るようになり、永続的に表示を無効化できるようになりました。
- TextureMapperとScalableImageが、それぞれImageのサブクラスになりました。
- AnimatedImage::setEndBitmap()が追加されました。
- AbstractClock::getCurrent12HoursとAbstractClock::getCurrentAM()が追加されました。
- Unicode::itoa()およびUnicode::utoa()で、36までの基数を処理できるようになりました。
- AnalogClock::setAlpha()とgetAlpha()が追加されました。
- ScrollableContainer::setScrollbarsPermanentlyVisible()がブールの引数を取るようになり、永続的に表示を無効化できるようになりました。
- TextArea::resizeHeightToCurrentTextWithRotation()が追加されました。
- Drawable::setWidthHeight()が追加され、(width,height)、Drawable、Bitmap、またはRectによって提供される1回のコールで、幅と高さが設定されるようになりました。
- Drawable::setXY(Drawable&)が追加され、Drawableの左上隅がもう1つのDrawableと同じ位置に設定されるようになりました。
- Drawable::setPosition(Drawable&)が追加され、Drawableがもう1つのDrawableと同じ位置に設定されるようになりました。
- Color::getRGBFrom24BitHSV()とColor::getHSVFrom24BitRGB()が追加され、(hue, saturation, value)と(red, green, blue)の間の変換が行われるようになりました。
- Color::getColorFrom24BitHSV()とColor::getHSVFromColor()が追加され、(hue, saturation, value)とcolortypeの間の変換が行われるようになりました。
- Color::getHSVFromHSL()とColor::getHSLFromHSV()が追加され、値と輝度の間の変換が行われるようになりました。
- Color::getRGBFrom24BitHSL()とColor::getHSLFrom24BitRGB()が追加され、(hue, saturation, luminance)と(red, green, blue)の間の変換が行われるようになりました。
- Color::getColorFrom24BitHSL()とColor::getHSLFromColor()が追加され、(hue, saturation, luminance)とcolortypeの間の変換が行われるようになりました。
- PainterBWがアルファをサポートするようになりました。
- SnprintFloat(s)が、NaN ("nan")とInf ("inf")を処理するようになりました。
- SnprintFloat(s)の、デフォルトの小数点以下の桁数が3桁から6桁に変更されました。 ANSI Cには、"If the precision is missing, 6 digits are given"と示されています。
- Circle::setPixelCenter()が追加されました。
- updateValue()、setEasingEquation()、setValueSetAction()、setValueUpdatedAction()が追加され、インジケータが進行し、1つの値から別の値へのスムーズな移行が可能になりました。
- SwipeContainer::getSelectedPageが追加されました。
- BlockTransitionが追加されました。
- CacheableContainer::setSolidRect()およびgetCacheBitmap()が追加されました。
TouchGFXコアのバグ修正:
- getGraphAreaPaddingRight()のスペルが修正されました。
- 稀にTextureMapperがいくつかのスキャンラインを、2回描画する問題が修正されました。
- AnimationTextureMapper、ZoomAnimationImage、MoveAnimation、FadeAnimationがすべてsteps=0の場合に動作し、アニメーションの最後のステップでアニメーションの終了を通知するようになりました。
- 押したキーからドラッグしてキーを解放したときの、キーボードのバグが修正されました。
- Slider::getIndicatorMin()でインジケータminではなくmaxが返される問題が修正されました。
- ImageConvertによってBMP画像でヒープが壊れる(ほとんどの場合クラッシュする)問題が修正されました。
- テクスチャ・マッパーによってbilinearモードで描画された画像の境界が修正されました。
- アルファ<255のとき、非常に幅のある境界によるBoxWithBorderの問題が修正されました。
- ProgressIndicatorの範囲と値が、すべて'int'のタイプになるように修正されました。
- ディスプレイの向きに対するキャッシュ可能コンテナが修正されました。
非推奨になったTouchGFXコア機能:
- バージョン4.15およびそれ以前に非推奨になったすべての機能が削除されました。
- ST1232TouchControllerが削除されました。
- ZoomAnimationImage::setDimensionが非推奨になりました。 setWidthHeightを使用してください。
- Drawable::setXYとDrawable::setPositionが、仮想関数ではなくなりました。 setX、setY、setWidth、およびsetHeightのみが仮想です。
- int16_t&パラメータを持つAbstractProgressIndicator::getRangeメソッド。
バージョン4.15.0
リリース日付: 2020年10月5日
TouchGFX Designerの新機能:
- 新しいウィジェット: Dynamic Graph
- M0プラットフォームでは、すべてのテクスチャ・マッパー機能がデフォルトで無効化されています。
- ワイプ遷移がサポートされました。
- 新しく"Set Language"アクションが追加されました。
- 下部のステータス・バー全体をクリックして、ログを進めることができるようになりました。
- ステータス・バーがエラー時には赤色、成功時には緑色に変わるようになりました。
- ズーム機能がツールバーの右上に移動しました。
- キャンバスをビューポートの中央に配置するボタンが追加されました。
- 拡大(Ctrl + '+')、縮小(Ctrl + '-')、ズームのリセット(Ctrl + 0)のキーボード・ショートカットが追加されました。
- ウィジェットの位置をロックできるようになりました。これによりキャンバスの選択も無効になります(バックグラウンド画像、ボックスに役立ちます)。
- 空のキャンバスにウィジェットを挿入したときに、ベース・ビューに黒色のBoxが常に生成されるようになり、操作性が向上しました。
- 多くのツールチップの表示が見直され、キーボード・ショートカットも表示されるようになりました。
- フォントを、マップド・フォーマットか非マップド・フォーマットか、どちらで表示するのかを選択できるようになりました。
TouchGFX Designerのバグ修正:
- 同一のフォント、ビットマップのプロジェクトをインポートすると、Designerがクラッシュすることがあった問題が修正されました。
- FrontendHeapBase.hppの生成済みのコードに、同じ遷移ヘッダ・ファイルの複数のコピーが含まれる問題が修正されました。
- ツリービューのスクロール・リストまたはスクロール・ホイールに、ウィジェットをドラッグ・アンド・ドロップできてしまう問題が修正されました。
- ウィジェットの追加時に、インタラクションの"Choose button key"がクリアされる問題が修正されました。
- 誤ったデフォルト・バージョンのパッケージが、ときどき選択される問題が修正されました。
- ディスク上にすでに存在している場合にも、パッケージがダウンロードされる問題が修正されました。
TouchGFXコアの新機能:
- 新しいフォント・フォーマットにより、非マップドFlashにほとんどのフォント・データを保存できるようになりました。
- パーシャル・フレームバッファのブロック転送アルゴリズムが改善されました。
- waitForVSyncでブロックできないプラットフォームで使用するために、OSWrapper: isVSyncAvailable()とsignalRenderingDone()に、新しいプロトタイプが追加されました。
- touchgfx::SingleBlockAllocatorが削除されました。touchgfx::ManyBlockAllocator<block_size, 1, bytes_per_pixel>を使用してください。
- ハードウェア・アクセラレーションを無効化するために、新しいメソッドenableDMAAcceleration()がHALに追加されました。
- TextureMapper::invalidateBoundingRects()が追加されました。
- ImageConvertは更新されたnlohmann-json 3.9.1を使用します。 生成される画像表示は同じです。
- シミュレータにシングル・ステップが追加されました。 F9キーを押すと実行が開始 / 停止します。 F10キーを押すと1ティック実行されます。 これは、HALSDL2::setSingleStepping()、HALSDL2::isSingleStepping()、およびHALSDL2::singleStep()を、使用して制御することもできます。
- 新しいGraphクラスが追加されました。
- WipeTransitionが追加されました。
TouchGFXコアのバグ修正:
- アルメニア語の文字(および一部のキリル文字)が右から左に記述される問題が修正されました。
- スワイプ後にすばやくタッチしてリリースすると、不要なGestureEventが発生する問題が修正されました。
- 一部の再描画のみで必要とされる非常に大きいグリフが、正しく描画されない問題が修正されました。
更新手順:
- このリリースでは、追加手順が必要になる可能性があります。 詳細については、既知の問題の記事(https://support.touchgfx.com/docs/miscellaneous/known-issues)を参照してください。
バージョン4.14.0
リリース日付: 2020年7月2日
TouchGFX Designerの新機能:
- 新しいドキュメントWebサイトにリンクするようにすべてリンクが更新されました。
- SlideMenuウィジェットがサポートされました。
TouchGFX Designerのバグ修正:
- エラーの可能性を回避するために、FrontendHeap.hppモデルがアプリの前に宣言されています。
- UIテンプレート・セレクタが、使用可能な色深度を正しく比較しない問題を修正しました。
- .touchgfx.partファイルのバージョンが、読込みの前にチェックされない問題が修正されました。
- 画像の特定フォーマット、L8画像、サポートされたすべての8ビットLCDを選択するときに、含まれているペインタのコード生成が修正されました。
- 新しいアプリケーション作成時のアプリケーション名の検証が修正されました。
- ツリービューでコンテナ・タイプのウィジェットを、その内部でドラッグしたときのエラーが修正されました。
TouchGFXコアの新機能:
- HAL::lockDMAToPorchのデフォルト値が、trueではなくfalseに設定されます。
- Font::getDataFormatA4()が、Font::getByteAlignRow()という名前になりました。4bppフォントに加えて、2bppフォントや1bppフォントに設定されることがあるからです。
- 一貫性を持たせるため、GestureTypeがGestureEventTypeという名前になりました。 GestureTypeは非推奨になっており、間もなく削除される予定です。
- TouchGFXの現在のバージョン用のマクロを含むVersion.hppが追加されました。
- ImageConvertが、数字から始まる画像ファイルをサポートします。
- ImageConvertが、"image_"というプレフィックス付きで.cppファイルを出力します。
- ImageConvertの組込みヘルプが改善されました。
- ImageConvertがapplication.configテンプレート・ファイルを書き込むことができます。
- Unicode::strncmp_ignore_whitespaceが追加されました。これはホワイトスペース(空白文字)を無視し、単なるスペースは無視しません。
- FontConvertは更新されたfreetype 2.10.2を使用します。 これにより文字の並びが少しだけ向上します。
- ImageConvertは更新されたlibpng 1.6.37を使用します。 生成される画像表示は同じです。
- setDurationSpeedup、getDurationSpeedup、setDurationSlowdown、getDurationSlowdownがScrollableContainerに追加されました。 これにより、スワイプ・ジェスチャで使用するアニメーション・ステップの数をうまく制御できるようになります。
- SlideMenuウィジェットが拡張され、ボタン操作を必要としないで済むケースが増えます。
- colortype変数を数字として使用すると、uint16_tではなくuint32_tに自動的にキャストされます。
- KeilプロジェクトでARMCLANG-6.xがサポートされました。
- Cortex-M33のサポート。
TouchGFXコアのバグ修正:
- BoxWithBorderで、コンストラクタでborderColorとborderSizeが設定されなかった問題が修正されました。
- Unicode::snprintf()に複数の修正が行われました。フォーマット文字列で64文字の制限が外されました。 %o、%x、%Xに符号文字が強制されなくなりました。 %05cに先行ゼロが適用されなくなりました。 %cが、0を値として正しく処理されるようになりました。 %s (%+s, %0s)の符号が、正しく処理されるようになりました。
- サイズを変更すると、ScrollListWithCenterSelectがクラッシュする可能性がある問題が修正されました。
- スナップを使用するScrollListで、クリックされたアイテムが正しくレポートされない問題が修正されました。
- スナップを使用しないScrollListで、非サーキュラの場合に誤ったアイテムがレポートされる問題が修正されました。
- アイテムのクリック時にScrollListがパディングを優先するようになりました。
- setColor(color,alpha)を使用するCWRペインタが、色(color)のみを受け入れるようになりました。 アルファ(alpha)を設定するにはsetAlpha(alpha)を使用します。
- キャッシュされたビットマップが、奇数のダイナミック・ビットマップと32ビットで整合されていない問題が修正されました。
- LED.hppにlpc_types.hが含まれなくなりました。
非推奨になったTouchGFXコア機能:
- 非推奨になった機能が非推奨としてマークされ、コンパイラがこれらの機能に対して警告を発行できるようになりました。 非推奨になった機能は今後削除される予定です。
- Unicode::EMPTYの定義が削除されました。
- PIの定義がMath3D.hppからTypes.hppに移動しました。
- EasingEquation.hppで定義されている'pi'が、PIに置き換わりました。
- ImageConvertで、-f、-o、-headerがサポートされなくなりました。
- Image::hasTransparentPixelsが削除されました。
更新手順:
- このリリースでは、追加手順が必要になる可能性があります。 詳細については、既知の問題の記事(https://support.touchgfx.com/docs/miscellaneous/known-issues)を参照してください。
バージョン4.13.4
リリース日付: 2020年7月27日
TouchGFXコアのバグ修正:
- アルメニア語の文字(および一部のキリル文字)が右から左に記述される問題が修正されました。
バージョン4.13.3
リリース日付: 2020年5月29日
TouchGFXコアの新機能:
- アラビア語、ヒンディー語、タイ語、その他の複雑な言語のテキストの描画パフォーマンスが向上しました。 言語に応じて、20%~33%の範囲で描画時間が短縮されています。
TouchGFXコアのバグ修正:
- ScrollListsおよびScrollWheelsで、非常に稀に、誤った方向にスクロールしたり大きくスクロールしすぎたりする問題が修正されました。
バージョン4.13.2
リリース日付: 2020年4月28日
TouchGFXコアのバグ修正:
- Hamzaに接続するときのアラビア語の合字の問題が修正されました。
- 一部のケースでのLam + Alefに対するアラビア語の合字の問題が修正されました。
- アラビア語のアクセントの位置が修正されました。
バージョン4.13.1
リリース日付: 2020年3月4日
TouchGFXコアの新機能:
- LCD24でRGB565ダイナミック・ビットマップを描画できるようになりました。
- 一部のアラビア文字のシーケンスが改善されました。
TouchGFXコアのバグ修正:
- フォント・コンバータで、フォントから包含されるグリフが多すぎることがある問題が修正されました。
- Unicode U+200B(ゼロ幅スペース)に対する修正が行われました。
バージョン4.13.0
リリース日付: 2019年12月12日
TouchGFX Designerの新機能:
- ".touchgfx.part"ファイルのサポート。 これはプロジェクトへの外部入力(CubeMXの統合など)に使用できます。
- "Config"タブの"Framework Features"カテゴリに移動することで、TextureMapperに対してサポートされる画像フォーマットを選択します。
- Generate Assets、Post Generate、Compile Simulator、Run Simulator、Compile Target、Flash Targetのコマンドを、Designer内からオーバーライドできるようになりました。
- キャンバス上のズーム / スクロールが改善され、ウィジェットをキャンバスの端の方にドラッグするときに自動スクロールが有効になりました。
- Generate Codeボタンに、現在のコードが最新かどうか表示されるようになりました。最新でない場合は青いドットが表示されます。
- ショートカットAlt + F、Alt + E、Alt + Hで、それぞれFile、Edit、Helpメニューを開くことができるようになりました。
- Helpメニューに、TouchGFXヘルプ・センターへの直リンクが含まれています。
- "Config"タブでテキスト設定を変更します。
- 詳細ログをDesigner内でフロートまたはドッキングできるようになり、ショートカットAlt + Lで開くことができます。
- ウィンドウのタイトル・バーにDesignerのバージョンが表示されます。
- Recent Projectsリストに、プロジェクト名だけでなく、プロジェクトへのフル・パスが表示されるようになりました。
- キャンバス上でウィジェットを移動させるときのパフォーマンスが向上しました。
- Image Managerで行を描画するときのパフォーマンスが向上しました。
- ウィジェット・ツリーでアイテムを並べ替えるときのパフォーマンスが向上しました。
TouchGFX Designerのバグ修正
- 遅延およびボタン・コールバックのインタラクションにより、コード生成にエラーが発生するバグが修正されました。
- TouchGFX CLIを使用してプロジェクトを生成すると、使用されるTouchGFXアセットが正しく含まれないバグが修正されました。
- スクリーンのキャンバス・バッファが正しく更新されないケースがあるというバグが修正されました。
- スタートアップ・ウィンドウに表示されるエラー・メッセージが、ダウンロードの再試行時に消えないという表示上のバグが修正されました。
- 仮想関数の呼び出しインタラクションの関数名が、正しく検証されなかったバグが修正されました。
- 進捗インジケータがDesignerのキャンバス上で正しく描画されないケースがあるというバグが修正されました。
- 新しいプロジェクトを作成して保存しなかった場合に、プロジェクトを再読み込みするとデフォルトのタイポグラフィが消えてしまうというバグが修正されました。
- テキスト・マネージャが、誤ったセルにフォーカスし続けているように見える表示上のバグが修正されました。
- ウィジェットのPropertiesタブに、エラーが正しく表示されないバグが修正されました。
- ボタン・クリック・ハンドラを生成すると、空のif/elseステートメントが生成されることがあるバグが修正されました。
- スタートアップ・ウィンドウの検索フィールドが改善されました。
- Shapeウィジェットをコピーして、そのいずれかにあるポイントを編集すると、両方が変更されてしまうというバグが修正されました。
- タイポグラフィ・ピッカーからフォントを変更中に、マウス・ホイールを使用してスクロールを行うと、ポップアップが閉じてしまうというバグが修正されました。
- スクリーンへの移動アクションを含むプロジェクトの読み込みが、正しく行われないバグが修正されました。
- ウィジェットのツリー・ビューでノードの展開 / 折りたたみを行うと、ノードが選択されてしまうバグが修正されました。
- UIをアプリケーションにインポートするときに、一部の値が誤ってインポートされてしまうバグが修正されました。
- Image Pickerでのフォルダのナビゲーションがうまくいかないバグが修正されました。
- Swipe Container内のページの順序が誤って提示されるバグが修正されました。
- Designerキャンバス上で、テクスチャ・マッパーの描画がうまくいかないバグが修正されました。
- 削除されたインタラクション・ソースの検証に誤りがあるバグが修正されました。
- assets/imagesに配置されたサブフォルダがあるフォルダの名前を、変更しようとするとDesignerがクラッシュすることがあるというバグが修正されました。
- RadioButtonのインタラクションで、重複するコードが生成されるバグが修正されました。
- ファイル・エクスプローラからDesignerに、同じ画像を2度ドラッグするとエラー動作が発生するバグが修正されました。
- ラジオ・ボタンのインタラクションによって、重複するコードが生成される場合があるというバグが修正されました。
- キャンバス・バッファのオーバーライドで、生成されたコードにnewline(改行)が欠落する可能性があるバグが修正されました。
- トルコ語地域のフォーマットを使用すると、Designerで誤ったコードが生成されるバグが修正されました。
- カスタム・アクション / トリガのテキスト・ボックスで、長いテキストを使用するとUIに不要なシフトが発生する表示上のバグが修正されました。
- アプリケーションの最後のカスタム・コンテナを削除した後の一連の手順によって、Designerがクラッシュするバグが修正されました。
- カスタム・コンテナのインスタンスを、スクリーンからカスタム・コンテナの定義にコピーする動作が機能しないバグが修正されました。
- Matching UI Templatesフィルタが、意図したように機能しないバグが修正されました。
- Designerで、ピリオドを含むアプリケーション名がサポートされるようになりました。
- スタイルのあるスライダを横向きから縦向きに変更すると、スタイルが正しく設定されないというバグが修正されました。
- タイポグラフィのフォントを変更すると、UIの一部の場所でフォント名が正しく表示されないという表示上のバグが修正されました。
TouchGFXコアの新機能:
- TextureMapperのパフォーマンスが向上しました。 画像フォーマット、描画アルゴリズム、ハードウェア・セットアップ、画像レイアウトに応じて、10%~60%の範囲で描画時間が短縮されています。
- テクスチャ・マッパーはデフォルトでは無効になっているので、使用前に有効にする必要があります。 この機能の詳細については、https://support.touchgfx.com/docs/miscellaneous/known-issues/#texturemapper-is-disabled-by-defaultを参照してください。
- すべてのLCDタイプをデバッグするために、単純な文字列出力が追加されました。 https://touchgfx.zendesk.com/hc/en-us/articles/205074511を参照してください。
- フォント・キャッシュで、ヒンディー語で使用されるGSUBテーブルがサポートされるようになりました。 https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/font-cache/#caching-gsub-tablesを参照してください。
- arm gccコンパイラがバージョン7.3.1 2018q2に更新されました。
- gccコンパイラがバージョン7.3.0に更新されました。
- MinGW環境がパッケージの最新バージョンに更新されました。
TouchGFXコアのバグ修正:
- TextureMapper: Bilinearモードでエッジ上のブレンディングが修正 / 改善されました。
- TextureMapper: Nearest Neighborモードの画像品質が少し改善されました。
- アラビア語テキスト"12:34"のテキスト順序のバグが修正されました。以前はRTLで"34:12"と描画されていました。
非推奨になったTouchGFXコア機能:
- 非推奨になったTRANSPARENT_COLの定義が削除されました。
- Drawable::getType()が削除されました。
- HAL::blitSetTransparencyKey()が削除されました。
- HAL::registerTextCache()が削除されました。
- HAL::cacheTextString()が削除されました。
更新手順:
- このリリースでは、追加手順が必要になる可能性があります。 詳細については、既知の問題の記事(https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue)を参照してください。
バージョン4.12.3
リリース日付: 2019年9月25日
TouchGFXコアの新機能(##バージョン4.12.0 {#version-4120}以降):
- バイナリ・フォント: アプリケーションへのフォント情報のコンパイルとリンクの代わりとして、バイナリ・フォントを使用できます。 このアプローチの主な利点は、より小さいアプリケーション・バイナリが得られ、ユーザのデバイスでさまざまなフォント・セットを提供するための柔軟性が得られることです。
- フォント・キャッシュ: バイナリ・フォントのキャッシュがサポートされます。文字列を表示するときに、ファイル・システムから必要な文字のみを読み込むのに適しています。
- バイナリ翻訳: バイナリ翻訳がサポートされます。翻訳をアプリケーションにリンクするのではなく、ファイル・システムから翻訳を読み込むのに適しています。 これらの機能詳細については、https://touchgfx.zendesk.com/hc/en-us/articles/360024979552を参照してください。
- 16bppディスプレイ向けに非メモリ・マップドFlashがサポートされるようになり、低価格のSPI Flashなどに画像とフォントを保存できるようになりました。
- アラビア語合字のAllah、Akbar、Mohammad、Salam、Rasoul、Alayhe、Wasallam、Rial SignのUnicodeシーケンスが認識されます。
TouchGFXコアのバグ修正:
- TextureMapper(bilinear)で、24bppディスプレイ上にL8_RGB888およびRGB888ビットマップを正しく描画できない問題が修正されました。
- ワイルドカードがサポートされていないテキスト・エリアに、RTLと組み合わせてワイルドカードを含むテキストを設定すると、クラッシュが発生することがある問題が修正されました。
- CacheableContainerが関連するビットマップより小さい場合、コンテナのサイズが正しくならない問題が解決されました。
- 8bpp LCD上のSnapshotWidgetが修正されました。
- 一部のアラビア語の合字の描画が修正されました。
- 一部のヒンディー語の合字の描画が修正されました。
- 特定のGSUB置換ルールを適用するときのバグが修正されました。
- バイナリ・フォントに余分なルールが含まれていたバグが修正されました。
バージョン4.12.2
リリース日付: 2019年8月22日
TouchGFXコアの新機能:
- TextArea::setWideTextAction()を使用するワイド・テキストのWordWrappingで、Unicode文字0x200B(ゼロ幅スペース)と同様に正規スペースでも折り返すようになりました。
TouchGFXコアのバグ修正:
- バイナリ・フォント: アプリケーション設定で"binary_fonts"オプションが指定された場合、fontConverterツールがカーニング・データをバイナリ・フォント・ファイルに書き込まないバグが修正されました。 このバグにより、バイナリ・フォントの使用時にテキストが不正に表示されていました。
バージョン4.12.1
リリース日付: 2019年8月15日
コンポーネントの更新を反映した"Third Party Components.pdf"の更新
- libpng-1.6.36
- zlib-1.2.11
- freetype-2.9.1
TouchGFX Designerのバグ修正:
- ボタン・クリック・アクションと一緒に遅延アクションが発生すると、コンパイル・エラーが起こるバグが修正されました。
- Canvas Widgetをカスタム・コンテナ・インスタンスに追加するときに、スクリーンのキャンバス・バッファが正しく更新されないというバグが修正されました。
- Online Applicationsウィンドウのエラー・メッセージが、表示されたままになるバグが修正されました。
- サポート・シナリオで使用するために、以下のシステム情報がログされるようになりました: ユーザ名、Designerバージョン、Designerのインストール・パス、Windowsバージョン、カレント・カルチャ、インストールされている.NETバージョン。
- 新しいプロジェクトの作成時に、保存せずにDesignerを閉じてプロジェクトを再度読み込むと、プロジェクトで使用可能なタイポグラフィがなくなるというバグが修正されました。
- すでに開いているUIを別のプロジェクトにインポートしようとするときのエラー・メッセージが更新され、明確になりました。
- 特定の状況で、テキスト・マネージャに複数のフォーカスが表示されるバグが修正されました。
- ウィジェットにエラーが発生しているとき、ウィジェットのPropertiesタブに赤色の境界が正しく表示されないバグが修正されました。
- Consolasフォントを使用するプロジェクトを再読み込みした後に、Designerのキャンバス上でこのフォントを使用した描画が正しく行われないというバグが修正されました。
TouchGFXコアのバグ修正:
- Display Rotation使用時のTextureMapperのバグ
- CachedFontのカーニング・データが無視されるバグ
- CachedFontが、フォールバック・フォントをフォント・キャッシュの中で探さないバグ
バージョン4.12.0
リリース日付: 2019年6月7日
重要なアップグレード情報:
- drawGlyphの公開バージョンが削除されました。 代わりにdrawStringを使用してください。
- 不透明な画像にビットマップ・フォーマットARGB8888を使用すると、565にディザリングされなくなり、888色がフルで保持されるようになりました。 不透明なフォーマットがRGB565の場合は、透明な画像にARGB8888を使用すると、565のままディザリングされます。
- BW_RLEフォーマットにすると変換後の画像が大きくなる場合、画像をBW_RLEに変換すると、BWには戻せなくなりました。 代わりに、画像コンバータによって警告が発せられます。 Designer(または新しい設定ファイル)を使用して、個々の画像ごとにBWまたはBW_RLEを指定してください。
TouchGFX Designerの新機能:
- カスタム・コンテナを別のカスタム・コンテナ内にネストできるようになりました。 これにより、カスタム・コンポーネントを大きなカスタム・コンポーネント内で無限に構成できます。
- カスタム・コンテナでカスタム・トリガとカスタム・アクションの定義がサポートされ、スクリーンでカスタム・アクションの定義がサポートされます。 これらのトリガとアクションでは、コンポーネントから別のコンポーネントへの情報の流れがサポートされます。 これらのトリガとアクションをDesigner内のインタラクションで使用することで、Designerの上でよりリアルなアプリケーション動作を実行できます。 詳細については、ドキュメントを参照してください。
- コンテナをCacheableContainerとして生成できるようになりました。
- 個々の画像設定(画像フォーマット、ディザリング・アルゴリズム、レイアウト回転など)のために、"Images"タブが新しく追加されました。
- アプリケーションの設定と他の新しい設定が、"Config"タブに移されました。
TouchGFXコアの新機能:
- フレームワーク・ツールで使用されるサード・パーティ・ライブラリがアップグレードされました。 この結果、テキストの見栄えが非常によくなりました。
- カーニング・テーブルが大きくなって、カーニングが改善されました。
- タイ語フォントが狭い行間隔でうまく描画されるようになり、一部のケースでSara Amの描画が向上しました。
- ヒンディー語(デーヴァナーガリー)が暫定的にサポートされます。 次のGSUBテーブルが適用されます: nukt (Nukta Forms)、akhn (Akhands)、rkrf (Rakar Forms)、cjct (Conjunct Forms)、vatu (Vattu Variants)、rphf (Reph Forms)、pref (Pre-Base Forms)、half (Half Forms)、blwf (Below-base Forms)、abvf (Above-base Forms)、pstf (Post-base Forms)、cfar (Conjunct Form After Ro)。 次のものは現在サポートされていません: abvs (Above-base Substitutions)、blws (Below-base Substitutions)、psts (Post-base Substitutions)。 また、すべてのGSUBテーブルがサポートされているわけではありません。
- Line::updateLengthAndAngle() APIが新しく追加されました。
- パーシャル・フレームバッファの描画と更新がサポートされました。
- デバッグ用の単純な文字列出力が追加されました。
- 初期化の後にBitmapCacheを変更できるようになりました。
- Flashプログラミングで、セクション名を設定する新しいマクロが追加されました。
- 最小限の無効化領域で円弧の開始と終了を更新するために、Circle::updateArc()が追加されました。
- CircleProgressが更新され、更新に使用される計算精度が上がりました。
- オフスクリーン・ウィジェットの描画用にCacheableContainerが追加されました。
- 16ビット、24ビット、および32ビットのパレットで、L8グラフィックス・アセットのサポートが追加されました。
- DMA2Dを介したL8ハードウェア・アクセラレーションがサポートされました。
- LCD32bppフレームバッファ・レンダラが新しく追加されました。
TouchGFX Designerのバグ修正:
- CircleProgress::setStartEndAngle()、ImageProgress::setAnchorAtZero()、TextProgress::setNumberOfDecimals()の呼び出しの後、ProgressIndicatorが自動的に更新されます。
TouchGFXコアのバグ修正:
- 新しい値を設定したときの、circleProgressIndicatorの再描画が修正されました。
- スクリーン遷移の完了後のスクリーンの追加再描画が削除されました。 この追加再描画により、一部のプラットフォームでパフォーマンス上の問題が発生していました。 必要に応じて、Screen::afterTransition()でスクリーン全体を無効化することが、アプリケーション開発者に委ねられました。
更新手順:
- このリリースでは、追加手順が必要になる可能性があります。 詳細については、既知の問題の記事(https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue)を参照してください。
バージョン4.11.0
リリース日付: 2019年3月1日
重要なアップグレード情報:
- アプリケーションにLCD.hppが組み込まれており、HALにアクセスしようとしても、LCD.hppにHAL.hppが組み込まれなくなったため、機能しなくなりました。 この場合は、必ずHAL.hppを組み入れてください。 サンプル・アプリケーションDemo1とDemo2の旧バージョンにこの問題がありましたので、更新されました。
TouchGFX Designerの新機能:
- UIボタンとキーボード・ショートカット(Ctrl + F、Ctrl + B)による、ウィジェットに対するBring ForwardおよびSend Backwardsがサポートされました。
- スクリーンとCustomContainerDefinitonsのコピーと貼り付けがサポートされました。
- CustomContainerDefinitionsの並べ替えがサポートされました。
- スクリーンとCustomContainerDefinitionsを切り替えても、前に選択したスクリーンとCustomContainerDefinitionが記憶されます。
- 新しいテキストとテキストを使用するウィジェットを作成するときに、最後に使用したタイポグラフィが使用されるようになりました。
- CustomContainerInstancesに新しいツリー・アイコンが追加されました。
- 連続的なコード生成とコンパイルができなくなりました。
- Detailed Logウィンドウの出力の読みやすさが改善されました。
- TextsタブにWidget Wildcard Charactersが追加されました。これにより、何かウィジェットを使用するときにデフォルトのワイルドカード文字が追加されます。
- プロジェクトを読み込むときのパフォーマンスが向上しました。
- プロジェクトを生成するときのパフォーマンスが向上しました。
- 検証エンジンのパフォーマンスが向上しました。
- 6ビット・カラー・ディスプレイ(8bpp)がサポートされました。
- RadioButtonGroupの設定に、RadioButtonsがサポートされました。
- Display Rotation(Landscape / Portrait)がサポートされました。
- DesignerでのLandscape / Portraitシミュレータ・スキンの設定がサポートされました。
- AnalogClock、DigitalClock、TextureMapper、AnimatedTextureMapper、Shapeというウィジェットがサポートされました。
- シミュレータの実行に使用されるMakefileおよびVisual Studioファイルが、Designerで生成されるようになりました。
TouchGFXコアの新機能:
- 6ビット・カラー・ディスプレイがサポートされました(RGBA2222、BGRA2222、ARGB2222、ABGR2222フレームバッファ・フォーマット)。
- タイ語がサポートされました。
- アラビア語テキストの描画が改善されました。
- 負の行間隔の処理が追加されました。
TouchGFX Designerのバグ修正:
- CustomContainerDefinitionsで、Ctrl + A(すべて選択)が機能しない問題が修正されました。
- リストの最初のスクリーンを選択し、移動したスクリーンのundo / redoの履歴を削除すると、スクリーンの並べ替えが起こる問題が修正されました。
- Applicationノードの選択後にundo / redoの履歴が壊れてしまうバグが修正されました。
- アプリケーション名の先頭を数字にできない、またはアプリケーション名に"-"や"_"を含むことができない問題が修正されました。
- CustomContainerタブにあるときにアプリケーションを読み込むと、キャンバスに誤ったコンテンツが表示される問題が修正されました。
- 複数の要素をコンテナに移動した後に、Undoを押すとクラッシュする問題が修正されました。
- プロジェクトの読込み時にフォント・ファイルがロックされる問題が修正されました。
- テキストを使用するコンポーネントが、そのリソース・テキストを削除するときに、表示されないエラーが修正されました。
- TouchGFXファイルをダブルクリックして不具合のあるアプリケーションを読み込むと、スプラッシュ画面が動かなくなるバグが修正されました。
- ModalWindowが誤った位置コードを生成する問題が修正されました。
- ScrollableContainer、ScrollList、ScrollWheelに対して、"Move widget"のインタラクション・サポートが欠落している問題が修正されました。
- Recent Applicationsリストの順序が修正されました。 アプリケーションを開くときに、正しく更新されるようになりました。
- ウィジェットの挿入によって、undo / redoの履歴に空のundoアイテムが追加されるバグが修正されました。
- CustomContainerDefinitionsのPropertiesペインで、ヘッダのテキストと説明が欠落している問題が修正されました。
- CPUのアイドル状態の使用率が想定よりも高くなるバグが修正されました。
- CustomContainer内でFlexButtonのインタラクションを設定すると、誤ったコードが生成されるバグが修正されました。
- ウィジェットでのミックスインの設定が、元に戻せないバグが修正されました。
- FlexButtonへのスタイルの追加に、undo / redo機能がない問題が修正されました。
- インタラクションで膨大な数のスライダ・コールバックを使用すると、初期化の順序が正しくなくなる問題が修正されました。
TouchGFXコアのバグ修正:
- 4bppと2bppのCWRペインタの精度が修正されました。
- 8bpp、16bpp、および24bppのアルファブレンディング式の精度が修正されました。
更新手順:
- このリリースでは、追加手順が必要になる可能性があります。 詳細については、既知の問題の記事(https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue)を参照してください。
バージョン4.10.0
リリース日付: 2018年11月5日
要件:
- TouchGFXはSTM32マイクロコントローラのみで使用可能になりました。
TouchGFX Designerの新機能:
- 次のウィジェットのサポートが追加されました: ImageProgress、BoxProgress、TextProgress、LineProgress、CircleProgress、Line、Circle、BoxWithBorder、FlexButton、ScrollList、ScrollWheel、SwipeContainer
- キャンバスのバッファ設定をスクリーン上で調整できます。
- スクリーン遷移のサポート: CoverTransition
- サポート・シナリオで使用するために、以下のシステム情報がログされるようになりました: ユーザ名、Designerバージョン、Designerのインストール・パス、Windowsバージョン、カレント・カルチャ、インストールされている.NETバージョン。
- 任意の解像度でUIをアプリケーションにインポートできるようになりました(解像度チェックが削除されました)。
- クリッピングされたウィジェットの表示 / 非表示のボタンが追加されました。
- キャンバス上でウィジェットをドラッグおよびサイズ変更するときの、パフォーマンスが向上しました。
TouchGFXコアの新機能:
- CircleとAbstractShapeで、円弧の開始と円弧の終了でサポートされる精度が高くなり、円弧が滑らかになりました。
- 内部のQ5構造で、16ビットではなく32ビットが使用されるようになり、値の範囲が広がりました。
- Circle::getPrecision()が追加されました。
- 関数FadeAnimator::isFadeAnimationRunning()、MoveAnimator::isMoveAnimationRunning()、AnimatedImage::isAnimatedImageRunning()、ZoomAnimationImage::isZoomAnimationImageRunning()が追加されました。 古いisRunning()関数は非推奨になりました。
- ListLayout::setDirection()とgetDirection()が追加されました。
- roo gemが1.13.1から2.7.1に更新されました。
- Shift + F3キーを押すと、スクリーンがクリップボードにコピーされます(Windowsのみ)。
- Ctrl + F3キーを押すと、次の50スクリーンがscreenshotsフォルダに保存されます。
- 生成されたアセットが正しくインデントされるようになりました。
- ScrollableContainer::setScrollbarsPermanentlyVisible()が追加されました。
TouchGFX Designerのバグ修正
- ModalWindowウィジェットで、スクリーンまたはカスタム・コンテナのサイズを変更してもサイズ変更されない問題が修正されました。
- 隠しファイルの属性を非表示にしたときに、コード生成に失敗する問題が修正されました。
- スクリーンまたはカスタム・コンテナの名前の大文字 / 小文字を変更すると、再コンパイルでエラーが発生する問題が修正されました。
- オンライン・アプリケーションがまったく使用可能でない場合でも、インターネット接続が失われるとDesignerがクラッシュするというバグが修正されました。
- プロジェクトの読み込み後に、ModalWindowウィジェットの位置が不正に生成される問題が修正されました。
- Designerプロジェクトを読み込むときの、不要な再コンパイルが削除されました。
- サブフォルダが現在のフォルダにある場合でも、"empty placeholder"が表示されるという、ImagePickerの表示上のバグが修正されました。
- Designerがプロキシ・サーバを通してデフォルトの資格証明を使用していないバグが修正されました。
- 誤ったターゲットにフラッシュしようとしたときに、Designerがエラーを正しくレポートしないバグが修正されました。
- 選択したtouchgfxパスへの書き込み権限が不十分な場合に、Designerがクラッシュするバグが修正されました。
- Designerがスクリーンの変更を、保存されていない変更として誤って解釈していたバグが修正されました。
- コンテナのサイズ変更時に、コンテナ内部のウィジェットが正しく表示されないという、表示上のバグが修正されました。
- 別のアプリケーションの読み込み時に、Designerが実行中のシミュレータ・プロセスを閉じるようになりました。
- カスタム・コンテナのインスタンス内のウィジェットを、ドラッグできていたバグが修正されました。
- サークルが正しく描画されない問題と、無効化された長方形が正しく計算されない問題が修正されました。
- サークルで、半直線の幅が半径よりも大きくなる問題が修正されました。
TouchGFXコアのバグ修正:
- LineProgress.cppでのsetValueのXおよびY値の計算の誤りが修正されました。
- サークルが正しく描画されない問題と、無効化された長方形が正しく計算されない問題が修正されました。
- サークルで、半直線の幅が半径よりも大きくなる問題が修正されました。
- 2047ピクセルよりも長いラインの描画(1449ピクセルの幅および1449ピクセルの高さなど)が修正されました。
- 一部のアラビア語の合字が正しく描画されないバグが修正されました。
更新手順:
- このリリースでは、追加手順が必要になる可能性があります。 詳細については、既知の問題の記事(https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue)を参照してください。
バージョン4.9.4
リリース日付: 2018年1月25日
バグ修正:
- Designerにアプリケーションを読み込むのにかかる時間が短縮されました。
バージョン4.9.3
リリース日付: 2017年12月15日
バグ修正:
- DesignerがWindowsのデフォルトのプロキシ設定を使用するようになりました。
- パッケージ・マネージャがオンライン時に使用可能なパッケージを更新するようになりました。
- オフライン時のエラー説明が改善されました。
- Set textインタラクションがリソースのテキストと連携するようになりました。
- プロジェクト・アップデータが、MSVSプロジェクトを正しい画像フォーマットで更新します。
- 稀にDesignerでテキスト・サイズの計算に誤りが生じるバグが修正されました。
- 最近のファイルが日付順に並べられます。
- Wait Forインタラクションのカウンタが正しく初期化されるようになりました。
- サイズ変更時の、List Layoutでの子要素の描画が修正されました。
- List Layoutウィジェットによる、アプリケーションの読込みが修正されました。
- .otfフォント・ファイルが正しく描画されるようになりました。
- コンテナをドラッグすると、稀に座標が不正になるバグが修正されました。
- ワイルドカード・テキスト・バッファのヌル終端文字列が修正されました。
- Button With Labelのテキスト描画が修正されました。
- tgfx.exeパッケージャが、複雑なファイル・レイアウトでも動作するようになりました。
- コンテナ用のソース・コードが組み込まれました。
- Designer UIに、マイナーな修正と改善が追加されました。
バージョン4.9.2
リリース日付: 2017年11月20日
バグ修正:
- キャンバスで要素をドラッグすると、例外が発生するというDesignerの問題が修正されました。
バージョン4.9.1
リリース日付: 2017年11月16日
バグ修正:
- コンテナ内部にTextAreaウィジェットを配置したときの、Designerの複数の問題が修正されました。
- "Another interaction is done"によってトリガされるインタラクションが、プロジェクトを読み込むときに消えてしまう問題が修正されました。
- 特定のセキュリティ・ポリシー設定のPCで、Designerが新しいプロジェクトを正しく作成できない問題が修正されました。
- アセット生成、コードのコンパイル、または生成後コマンドが失敗した場合の、Designerのエラー処理が改善されました。
- Designerプロジェクト・ファイルのTouchgfxPathが、正しく解釈されない問題が修正されました。
- Designerでの一部のタイポグラフィの変更で、新しいコードが生成されない問題が修正されました。
- assetsフォルダがsvnコントロールの下にある場合の、ImageConverterによる問題が修正されました。
- 特定のケースで、ImageConverterがアセット内の変更を検出できない問題が修正されました。
バージョン4.9.0
リリース日付: 2017年11月8日
新機能:
- ボード・サポート・パッケージ、デモ、およびサンプルを処理するためのパッケージ・マネージャが追加されました。 Designerは、これらをオンライン・リポジトリからフェッチするようになります。
- さまざまなボードのすべての古いサンプル、デモ、ポートがフレームワークから削除され、代わりにパッケージとして提供されるようになりました。
- Designerのテキスト処理が大幅に向上しました。 Designerで翻訳およびワイルドカードと連携できるようになり、texts.xlsxファイルを手動で編集する必要がなくなりました。
- Designerのアプリケーション・ファイル構造が非常に柔軟になり、ファイルの場所に関係なくIARおよびKeilのIDEプロジェクトを自動更新できるようになりました。
- ScrollableContainerおよびListLayoutウィジェットに対するDesignerのサポートが追加されました。
- SW4STM32 IDEがサポートされました。
- IAR Embedded Workbenchバージョン8.10がサポートされました。
- 画像コンバータを、.pngファイルごとに1回ずつ呼び出すのではなく、フォルダ単位で操作できるオプションが追加されました。 これにより、画像変換プロセスが大幅に速度アップされます。 このモードは、新しいプロジェクトに対するデフォルト動作です。
- GNU Arm Embeddedツールチェーン(GCCクロス・コンパイラ)が、バージョン6-2017-q2-update(GCCバージョン6.3.1)に更新されました。
- PCシミュレータのGNUコンパイラが、バージョン6.3.0に更新されました。
- Cortex-M4fおよびCortex-M7に向けて、-mfloat-abi=hardを使用してコンパイルされるgcc core libが追加されました。
- タイマ・ウィジェットとして登録可能なウィジェットの数が、24から32に増えました。 現在登録されているウィジェットに関する情報を取得するための関数も追加されました。
バグ修正:
- MoveAnimator::cancelMoveAnimation()による問題を回避するため、AnimationTextureMapper::cancelMoveAnimation()がcancelAnimationTextureMapperAnimation()に名前変更されました。
- ARGB8888ビットマップから塗りつぶしのピクセルを描画するときの、PainterRGB565Bitmapのバグが修正されました。
- 使用されたすべての文字がフォントから欠落している場合の、FontConvertに稀に発生するバグが修正されました。
- DMAクラスの変数が初期化されないバグが修正されました。
更新手順:
- このリリースでは、追加手順が必要になる可能性があります。
バージョン4.8.0
リリース日付: 2017年3月10日
パフォーマンス
- LCD4bppの文字描画速度が最大で15%アップしました。
- Canvas Widgetの描画が特定の状況で少し速くなりました。
新機能:
- TouchGFX Designerがリリースされました。 コア・フレームワーク、Designer、環境シェルが1つのインストールでバンドルされます。
- ペルシア語およびアラビア語の合字がサポートされ、最大3文字のシーケンスが認識されます。
- Microsoft Visual Studio 2017がサポートされました。
- TextAreaとTextAreaWithWildcard(s)で、setWideTextAction()がサポートされるようになり、行が長すぎる場合に、改行や、行の末尾への省略記号の挿入が自動的に行われるようになりました。
- Sliderにゲッター関数が追加されました。
- MoveAnimatorとFadeAnimatorで、アニメーション終了時に設定されたコールバックをクリアできるようになりました。
- ImageConvert、TextConvert、FontConvertからのエラーが、Visual StudioのError Listウィンドウに表示されるようになりました。
- シミュレータ・アプリケーションが、コンソール・プログラムではなく、Windowsプログラムになりました。
バグ修正
- AbstractShape::updateAbstractShapeCache()がパブリック関数になり、シェープが正しいことを確認するために、AbstractShape::setCorner()への1回以上の呼び出しの後に、必ず呼び出すようにします。
- Simulatorウィンドウが意図せずサイズ変更されることがなくなりました。
- F2キーによる無効化領域のハイライトが、古いHALSDLで動作するようになりました。
- ある状況で、描画がビットマップのサイズ内に収まっていることを検証するのに、PainterGRAY2Bitmap、PainterGRAY4Bitmap、PainterRGB565Bitmap、PainterRGB888Bitmapのすべてが失敗するバグが修正されました。
- HALSDL2(シミュレータ)がスクリーン上で24bppを使用するようになり、スクリーンショットの色が正しくなりました。
- TiledImage::setOffset()で、空のビットマップが正しく処理されるようになりました。
- TiledImage::getSolidRect()が、不正なrectをレポートすることがあるバグが修正されました。
- TextArea内のテキストを回転した場合に、resizeToCurrentText()およびresizeHeightToCurrentText()で、幅 / 高さがスワップされる問題が修正されました。
- 関数getTextHeight()で行間隔が考慮されない問題が修正されました。 getTextHeight()関数を使用するresizeToCurrentText()などによる関数のサイズ変更が、正しく行われないことがありました。
- SlideMenu::setState()で、EXPANDED状態が正しく処理されない問題が修正されました。
更新手順
- TouchGFX Designerの追加により、インストールは.msiインストーラによって実行されるようになりました。
- 既存の4.xアプリケーションおよびHALポートと互換性があります。
バージョン4.7.0
リリース日付: 2016年12月14日
新機能:
- すべての標準のウィジェットとコンテナのソース・コードが、組み込まれるようになりました。 touchgfx/framework/source/touchgfxディレクトリを確認してください。 これらのクラスは依然としてコア・ライブラリに存在しており、ソース・コード・ファイルはデフォルトではIAR / Keil / gccプロジェクトに追加されないことに注意してください。
- TFTコントローラ・ベースのプラットフォーム上で、シングル・フレームバッファ設定の処理が最適化され、多くの場合、外部RAMが必要でなくなりました。
- Canvas Widgetシステムとすべての標準ペインタのパフォーマンスが大きく最適化されました。 多数のピクセルの描画では、大幅なパフォーマンス向上が期待できます。しかし、小さいシェープ(グラフのラインなど)のパフォーマンス向上は小幅になると考えられます。 デモで使用される"PainterVerticalAlpha"も更新されました。
- テキスト・コンバータ・ツールで、すべての言語において同一の翻訳で結合されるようになり、フットプリントが削減されます。 このプロセスの結果はアセット生成中に出力されます。 注: この動作はデフォルトで有効になっています。 テキスト・データ構造を操作(1つの言語をRAMに読み込むなど)する既存のプロジェクトがある場合は、この最適化によってコードが壊れる可能性があります。 この最適化を無効にするには、remap_identical_texts := no("make"ベース生成の場合)、 <RemapIdenticalTexts>no</RemapIdenticalTexts>(MSVSの場合)を追加します。
- シミュレータの使用するSDLバージョンが1.2から2.0.4に更新されました。 SDL1.2は配布されるサンプル・ツール内には含まれていますが、すべてのサンプルとプロジェクトでSDL2が使用されています。
- .pngファイルによるシミュレータのスキンがサポートされています。 .pngファイルに透明な領域が含まれている場合、シミュレータ・ウィンドウはそれに応じて形成されます。 コード例については、display_orientation_exampleを参照してください。
- Chrom-ARTによるSTターゲットで、alpha < 255(BLIT_OP_FILL_WITH_ALPHAサポート)の場合でも、BoxウィジェットがDMAによって描画されるようになりました。
- TextAreaおよびワイルドカード使用のTextAreaで、setWideTextAction()がサポートされ、長い行が自動的に折り返されるようになりました。
- 実行時に存在しないグリフに遭遇した場合に、"フォールバック"文字を表示する機能が追加されました。 これはテキスト・データベースのタイポグラフィ・シートで設定します。
- フォントに追加のグリフを包含させることを強制するオプションが追加されました。 これにより、コンパイル時にグリフが不明な場合のダイナミック・テキストの処理が非常に容易になりました。 これはテキスト・データベースのタイポグラフィ・シートで設定します。
- TextConvertユーティリティからの出力の後処理で、同一の文字列を同じメモリ領域にマッピングすることで、メモリの大幅な節減が行われるようになりました。
- BITMAP_ANIMATION_STORAGEという名前の組込みのBitmapIdが追加されました。これを使用して、ビットマップをウィジェットに割り当てるときにアニメーションのストレージを参照できます。
- config/gcc/app.mkおよびconfig/msvs/Application.propsからの、ディザリング・アルゴリズムの選択が追加されました。
- #ifdef SIMULATOR (static_cast<HALSDL2*>(HAL::getInstance()))->saveScreenshot(); #endifを使用することで、シミュレータのスクリーンショットをプログラムによって保存できるようになりました。
- ScrollableContainerが非表示の要素を正しく無視するようになりました。
- DigitalClockで、時間インジケータの前のゼロ表示(hour < 10の場合)がサポートされるようになりました。
- シミュレータで、無効化されている領域をハイライト表示できるようになりました。 この機能を切り替えるには、F2キーを押します。
- Unicode::vsnprintf関数が追加されました。これは省略記号の代わりにva_list引数を取ります。
バグ修正
- フォーマット文字列が"% f"の場合に、Unicode::sprintfFloatが'+'の代わりに<space>を出力しなかった問題が修正されました。 また、]-1..0[の範囲の浮動小数点の符号が正しく出力されなかった(たとえば、-0.5が0.5と出力される)問題も修正されました。
- TextureMapperがソースのビットマップ・メモリ領域外を読み取るバグが修正されました。
- STM32F769-DiscoveryおよびEvalボードのGPIO.cppに、いくつか不正なGPIOピン操作(パフォーマンス測定に使用)が存在する問題が修正されました。
- Slider.hppの一部のメソッドに、仮想宣言が欠落している問題が修正されました。
- STM32F769-DiscoveryボードのBoardConfigurationによって、24bppカラー・モードが正しく表示されなくなるバグが修正されました。
- AnimatedImage - setBitmap(..)は使用できなくなり、プライベートになりました。AnimatedImageには、代わりにsetBitmaps(..)を使用してください。
- プロジェクト・ファイルとMakefileが更新され、開発中のプロジェクトとは別のディスク・ドライブに、TouchGFXフレームワークを配置できるようになりました。
TouchGFX環境(バージョン2.8)
- "make.exe"がバージョン4.1になり、makeコマンドに"-j8"などを追加することにより、並列コンパイルが可能になりました。 これによってコンパイル速度が大幅にアップします。 makefileがTouchGFX ##バージョン4.2.0 {#version-420}以前のものである場合は、これを更新するか、make-3.81.exeを使用する必要があります。
- 一部のケースで、g++によって"There is no disk in the drive. Please insert a disk into drive E:."とレポートされることがありました。 これは、gccのバージョン4.8.1から##バージョン4.9.3 {#version-493}へのアップグレードによって修正されました。
バージョン4.6.1
リリース日付: 2016年9月12日
パフォーマンス
- Cortex-M4およびCortex-M7におけるGCCのコア・ライブラリの最適化が改善され、TouchGFX ##バージョン4.6.0 {#version-460}と比べて特にTextureMapperとCanvasウィジェットの速度が大幅にアップしています。
新機能
- シミュレータ・ウィンドウのタイトル設定のためのHALSDLの新機能。HALSDL::setWindowTitle()を参照してください。
- BW_RLEフォーマット(1bppディスプレイ)の圧縮率が向上しました。 古い生成済みファイルを削除し、アセットを再生成することを忘れないでください。
- IARを使用するSTM32F756G-EVALで、外部メモリのフラッシュがサポートされるようになりました。
バグ修正
- IARリンカのリダイレクト・コマンドが追加され、Cortex-M4ベースのターゲットをIAR 7.xでコンパイルするときの、リンカ・エラーが修正されました。
- setupBuffer()を使用して、異なるメモリ・バッファをCanvasWidgetRendererに割り当てると、稀にメモリ破壊が発生する問題が修正されました。
- TextureMapperで稀にフレームバッファ外に描画されることがある問題が修正されました。
- TiledImageのオフセット設定が正しく動作しない問題が修正されました。
- ダイナミック・ビットマップの削除時に、メモリ破壊を発生させることがある2つの問題が修正されました。
- AnalogClockで欠落していた仮想メソッド宣言が追加されました。
- テキストとフォントが外部Flashに配置されてしまう、LPC4088DisplayModuleのGCCリンカ・スクリプトの問題が修正されました。
- fontconvert.outを単独で使用するものについて、出力ディレクトリが存在しない場合、自動的に作成されるようになりました。
- ScrollableContainersが稀に誤ったドラッグ・イベントを、子に送信することがある問題が修正されました。
- 幅を8分割できないモノクロ(1bpp)ディスプレイに、テキストが正しく表示されない問題が修正されました。
- STM32F746G Discoveryボードで、デフォルトのタッチ・サンプル・レートがわずかに向上しました。
バージョン4.6.0
リリース日付: 2016年6月14日
新機能
- 2bppグレースケール・ディスプレイがサポートされました。
- 4bppグレースケール・ディスプレイがサポートされました。
- 新しいウィジェットTiledImageが追加されました。 画像が1回以上繰り返して表示されます。 繰り返し回数は、ウィジェットのサイズと画像サイズによって異なります。
- 新しいウィジェットRepeatButtonが追加されました。 ボタンが押されると、クリック・イベントが繰り返し発出されます。
- 新しいウィジェットAnimationTextureMapperが追加されました。 アニメーション機能が組み込まれたTextureMapperです。 animation_texture_mapper_exampleを参照してください。
- 新しいコンテナAnalogClockおよびDigitalClockが追加されました。clock_exampleを参照してください。
- 新しいコンテナProgressIndicatorsが追加されました。progress_indicator_exampleを参照してください。
- 新しいコンテナModalWindowが追加されました。 メイン・スクリーン上にウィンドウを作成し、そのメイン・スクリーンの残りの部分をシェーディングします。 モーダル・ウィンドウが表示されている限り、メイン・スクリーンにクリックは渡されません。 サンプルのmodal_window_exampleを参照してください。
- 新しいコンテナSlideMenuが追加されました。 アクティブ化ボタンのあるサイド / 上部 / 下部メニューを、スクリーンの内外にスライドさせるようにアニメーション化します。 アイドル状態がしばらく続くと、自動的に非表示になるようにタイムアウトを設定できます。
- Canvas Widget Lineが、ROUND_CAP_ENDINGおよびsetCapPrecision()をサポートし、ラウンド・キャップを制御します。
- シミュレータで、ハードウェアの周波数に非常に近いティックを生成できるようになりました。
- シミュレータでウィンドウのタイトル内に、マウスのXY座標が表示されるようになりました (シミュレータの実行中にこれをアクティブ / 非アクティブにするには、F1キーを押します)。
- ST Cubeドライバがバージョン1.4.0に更新され、STM32F7マイクロコントローラおよびSTM32F7ベースのボードに対応するようになりました。
- STM32769I-EVALボードがサポートされました。
- STM32F769I-Discoveryボードがサポートされました。
- シミュレータから作成されるスクリーンショット(F3)が、タイムスタンプを含む名前で保存されるようになり、古いスクリーンショットが誤って上書きされないようになりました。
- シミュレータがCanvas Widgetのメモリ使用率を出力するようになり、最適なキャンバス・メモリのバッファ・サイズを容易に見つけることができます。
バグ修正
- STボード用のDMAドライバ: STM32F7向けにDMA2Dインスタンスの初期化を表示。 F4-Discoveryに対する、CLUT_CMの誤使用が修正されました。
- 他のDMAチャネルを同時に使用中の場合、LPC17xx、LPC18xx、LPC43xx用のDMAドライバが正しく動作しない問題が修正されました。 チャネル0のみで正しくフラグを確認するようになりました。
- STボードのタッチ・コントローラ・ドライバが、クエリーを行う前に初期化がOKかどうか正しくチェックするようになりました。
- シミュレータでのマウス・クリックが、必ずしも検出されない問題が修正されました。
- ImageConvert.exeに、デフォルトとしてRGB565が組み込まれています(他の不透明なフォーマットに対しては適切なデフォルトが適用されます)。
- 圧縮時(BWフォーマットにフォールバックしたとき)に画像が大きすぎる場合に、圧縮(BW_RLE)および回転(ファイル名に.90.)が、 スケジュールされたBW画像に対してImageConvertが機能しない問題が修正されました。
- すべてのMakefileで、realpathではなくabspathが使用されるようになりました。
- AnimatedImageで、AnimationEndedコールバック関数からアニメーションを再開できるようになりました。
- STM32756G-EVALボードに対して、QSPI Flashサイズが64MBに修正されました。
- Dキャッシュの無効化が、STM32F7HAL::flushFrameBufferに追加されました。 これにより、シングル・フレームバッファ・モードでフレームバッファがSRAMに配置されている場合に、STM32F7で時折発生するグラフィックス・エラーが修正されました。
- otm8009aディスプレイ(STM32769-DISCO、STM32769-EVAL、STM32469-DISCO、STM32469-EVAL)で、最大限のディスプレイ輝度が使用されるようになりました。
- va_listの名前修飾に関するIAR 7.50.xにおける、バグに対する回避策が追加されました。
更新手順
- 既存の4.xアプリケーションおよびHALポートと互換性があります。
バージョン4.5.1
リリース日付: 2016年3月14日
バグ修正
- va_listシンボルの解決に関連する、2つのIARリンカ問題が修正されました。これらは、いくつかのバージョンのIARで、プロジェクト・サンプルをリンクできない原因となるものでした。
- STM32F4-Discoveryボードで、16bppモードで長方形が誤った色で描写される問題が修正されました。
- Canvas Widget Rendererが、アンアラインド・メモリ・アクセスを実行しなくなりました。
- vApplicationIdleHook(FreeRTOS固有)がブロックしなくなりました。以前は、タスクの削除時にFreeRTOSがメモリを解放することを妨げていました。
- 途中にアクセントのあるアラビア語の単語が、正しく描画されない問題が修正されました。
- PixelDataWidget::getAlpha()が追加されました。
- char*をソースとして使用するUnicode::strncpy()が、127より上のASCIIコードの文字を正しくコピーしない問題が修正されました。
バージョン4.5.0
リリース日付: 2016年2月2日
新機能
- テキストを右から左へ(RTL)の描画を使用して、新しくアラビア語とヘブライ語の2つの言語がサポートされるようになりました。 RTLの文字列を、LTRのテキストおよび数字と混在させることができます。
- 24bppのフレームバッファがサポートされるようになりました。 画像の表示が精細になりますが、メモリ消費量も増えます。
- メソッドBitmap::dynamicBitmapCreateを使用して、ビットマップを実行時に作成できるようになりました。 SDカードから読み込んだ.bmpファイルを表示する場合などに便利です。 dynamic_bitmap_exampleを参照してください。
- フレーム・レートがたまに低下したときに、非常にスムーズなアニメーションを提供するフレーム・レート補正機能がサポートされるようになりました。 デフォルトでは有効になりません。
- ビットマップ・キャッシュが強化され、ビットマップをキャッシュから削除して他のビットマップのキャッシュ用スペースを作れるようになりました。
- 新しいウィジェットPixelDataWidgetが導入されました。 このウィジェットでは、実行時に取得した生のピクセル・データ(ビデオ・サンプルなど)を表示できます。
- ウィンドウのシミュレータ実行可能ファイルがアイコンで表示されるようになり、タスク・バーで簡単に識別できるようになりました。
- TouchGFXによってサポートされるSTボードは、ST-Linkユーティリティのリリース3.7以上がインストールされていれば、'make intflash'を使用してコマンドから内部Flashのみでプログラムできるようになりました。
- Unicode::snprintf()が大幅に改善および更新され、%02dのようなさらに多くの標準フォーマット指定子をサポートするようになりました。
- Unicode::snprintfFloat()が追加され、浮動小数点をサポートするようになりました("%f" va_argsアプローチは倍精度の包含を強制することがあるので、個別の関数で使用)。
- 画像コンバータのディザリング品質が改善されました(浮動小数点による計算)。 新しいタイプのディザリング・アルゴリズムのサポートも追加され、16 / 18ビット・ディスプレイの低位(未使用)ビットに対する、ハードウェアでのさまざまな配線方法を検討できるようになりました。
- touchgfx::ButtonWithLabelにメソッドupdateTextPosition()が加わり、これを使用して、ラベルのコンテンツ変更時(言語変更時など)に、横向きテキストを中央揃えできるようになりました。
- touchgfx::TextAreaに新しいメソッドsetBaselineY()が加わり、テキストを左上隅ではなくテキストのベースラインに従って配置できるようになりました。
- グリフ・エンコードの内部フォーマットに、最上位ビットではなく最下位ビットの最初のピクセルが保存されるようになりました。
- 色の値の仕様がuint16_tからcolortypeに切り替えられ、16ビット・カラーと24ビット・カラーのシームレスな切り替えがサポートされるようになりました。
- touchgfx::TextAreaクラスにsetIndentation()メソッドが加わり、文字のグリフが前の文字の下に伸びる場合に、稀に切り取られていたのが回避されるようになりました(同様に、touchgfx::Keyboardクラスに、新しくsetTextIndentation()メソッドが加わりました)。
- STM32F7xxおよびSTM32F4x9ポートで、touchgfx::BoxのDMA転送がサポートされるようになりました。
- GPIO::VSYNC_FREQ信号は、以前は"VSYNC"割込みのみで"toggled"(切替)していました(NXP LPC18xx、NXP LPC43xx、Freescale MK70F12、ST stm32f4x9)。 この信号が、ハイの場合"VSYNC"割込み、ローの場合"Front-Porch-Entered"割込みになりました。
- Cortex-M3に対するGCCサポート。
バグ修正
- 無効なQSPIメモリ領域における投機的なキャッシュによって、稀に起こるSTM32F7のクラッシュに関する問題が修正されました。 お使いのBoardConfigurationが4.4.xをベースにしている場合は、更新してください。
- FMCバンク1のキャッシュ・アクセスが原因で、STM32F746G-DISCOボード上で時折ちらつきが発生する問題が修正されました。
- touchgfx::TextAreaWithWildcardsにおける文字"%"の処理が改善され、特殊なケースで%%が挿入される問題が回避されるようになりました。
- touchgfx::DragEventおよびtouchgfx::GestureEventで、符号なしではなく符号付きの座標が使用およびレポートされるようになりました。 ドラッグ / ジェスチャは、それぞれが受け取る描画できる座標を基準として表されるので、これは理にかなった方法です。
- snprintf("%x")で、大文字の16進数が生成される問題が修正されました。 標準のsnprintf()と同様に、"%X"では大文字の16進数、"%x"では小文字の16進数が生成されるようになりました。
- デモをLinux上で実行するときの、偶発的な問題が修正されました。
- 斜体のきついフォントを使用する際の、再描画の問題が修正されました。
- すべてのTouchGFXアプリケーションにおける、Modelクラス内のModelListenerへのポインタが正しく初期化されない(NULL)問題が修正されました。
- touchgfx::TextAreaにおける、斜体のきついフォントへのサポートが修正されました。
- 画像コンバータで、列0が少し適切でないピクセル・カラーになる微妙なエラーが修正されました。 このエラーにより、画像全体がわずかに適切でなくなることがありましたが、目立つものではありませんでした。
- Sliderで値が均等に配分されない小さなエラーが修正されました。
非推奨
- LCD::drawGlyph()が非推奨になりました。 代わりにLCD::drawStringを使用してください。
更新手順
- 既存の4.xアプリケーションおよびHALポートと互換性があります。
バージョン4.4.2
リリース日付: 2015年11月26日
バグ修正:
- IAR 7.xでコンパイルする際に、稀にSTM32F7ターゲット上でGUIタスクがハングアップする問題が修正されました。
バージョン4.4.1
リリース日付: 2015年10月27日
バグ修正:
- Keil 5.xでコンパイルする際に、時折STM32F7ターゲット上のGUIタスクがハングアップする問題が修正されました。
- DSIを横向きおよびシングル・フレームバッファ・モードで使用するときに、STM32 F469 EVAL / Discoveryボード上で、時折ティアリングが発生する問題が修正されました。
- STM32 F469ボードのIARフラッシュ・ローダ設定が変更され、内部Flashのプログラミングが可能になりました(注: QuadSPI FlashにはIARローダが存在しないため、こちらはまだST-Linkユーティリティでプログラミングする必要があります)。
- 通常どおり、 STM32F746G-EVALボードのパフォーマンス測定用のGPIOクラスで、BSP_LED関数が正しく使用されるようになりました。 このボードではデフォルトで2つの信号のみがアクティブになります。LED2とLED4はIO Expanderを使用するので、パフォーマンス測定に適さないからです。
- Cortex-M7アプリケーションのデバッグ時にIAR Workbenchに表示される、煩わしい"Get Alternative File"ダイアログ・ポップアップが削除されました。
バージョン4.4.0
リリース日付: 2015年10月6日
新機能
- Cortex-M7コアがサポートされました。
- タッチ入力に"finger size"(指のサイズ)の概念が導入されました。 これを使用すると、TouchGFXはレポートされたXY座標の周辺領域にあるタッチ可能なウィジェットを見つけようとするので、ユーザがウィジェットを正確にクリックする必要がなくなります。 この機能により、小さいボタンのヒットが非常に簡単になります。 HAL::setFingerSize()を参照してください。
- Visual Studio 2015のサポート。
- デモおよびサンプル用のVisual Studioプロジェクトにすばやくアクセスできるように、Resourcesの下にApplication.propsが置かれました。 通常どおり、Application.propsのコンテンツ変更時には、再ビルドが必要になります。
- BDFフォーマットでビットマップ・フォントがサポートされます。 要求されたフォント・サイズがフォント・ファイルに用意されていない場合、フォント・コンバータがサポートされているフォント・サイズをエラー・メッセージに書き込みます。 使用方法については、monochrome_exampleの例を参照してください。
- アセットの生成時に、パスやファイル名にスペースが検出された場合に発行されるエラー・メッセージが改善されました。
- ST-Linkユーティリティのリリース3.7がインストールされていれば、すべてのSTボードをコマンド・ラインからフラッシュできるようになりました。 アプリケーションをビルドし、接続されたボードにフラッシュするには、単純に'make -f target/ST/<board>/Makefile flash'を使用します。 フラッシュ中にタイムアウトが発生した場合は、Windowsのデバイス・マネージャに移動し、"Disk drives"の下の"MBED microcontroller USB Device"を無効にします。
- 新しいtouchgfx-envバージョン2.5が、新しいGCCクロス・コンパイラのバージョン##バージョン4.9.3 {#version-493}と共に使用可能になりました。 旧バージョンの4.8.4では、稀にCortex-M7コアに対して無効なコードが生成されることがあります。
ボードのサポート
- STM32F7xxプロセッサがサポートされました。
- STM32F746G-DISCOおよびSTM32756G-EVALボードがサポートされました。
- STM32F469プロセッサとDSIディスプレイがサポートされました。
- STM32469I-EVALおよびSTM32469I-Discoveryボードがサポートされました。
バグ修正
- TextureMapperおよびScaleableImageで、"rotate90"の使用時に正しく描画されるようになりました。
- STM32F4DMA.cppで、初期化の順序にバグの可能性がある問題が修正されました。
- 1つのフォントのグリフの数が、32768に制限されるバグが修正されました。 意図したとおりに、フォントあたり65536個のグリフがサポートされるようになりました。
- シングル・フレームバッファ・モードで、hal.lockDMAToFrontPorch(false)が効力を持たなくなってしまうバグが修正されました。
- テキストにnewline(改行)が含まれる場合に、ButtonWithLabelでテキストが縦方向に正しく中央揃えされるようになりました。
バージョン4.3.0
リリース日付: 2015年6月8日
新機能
- TextureMapperウィジェットが追加されました。 TextureMapperは高度に最適化された画像レンダラで、実行時に2次元または3次元でスケーリングや回転が行われる画像を表示するために使用できます。 画像の高度な回転アニメーションの実行に使用できます。 詳細については、マニュアルまたはtexture_mapper_exampleを参照してください。 LCDに、三角形とそれに対応するスキャン・ラインを描画するための新しいメソッド、drawTextureMapTriangleとdrawTextureMapScanLineが追加されました。
- アルファ・チャネル・ディザリング。 アルファ・チャネルを使用する画像で、アルファ・グラデーションを滑らかにするために、アルファ・チャネルをディザリングできるようになりました。詳細については、サンプルまたはマニュアルにあるアプリケーション開発のセクションを参照してください。
- 1BPP(モノクロ)ビットマップの圧縮。 BW_RLEの画像フォーマット・オプションが追加されました。これにより、ビットマップを通常のピクセル毎のフォーマットで圧縮するよりサイズが小さくなる場合には、自動的にランレングスでコード化します。 多くの場合、ビットマップのフットプリントが大幅に少なくなります。 詳細については、マニュアルの詳細事項の章を参照してください。
- Sliderウィジェットが追加されました。 詳細については、マニュアルまたはslider_exampleを参照してください。
- Makefilesが更新され、make-4.1で動作するようになりました。
- LPC4088プロセッサおよびEmbedded Artists LPC4088 Display Moduleボードがサポートされました。
- ビットマップ・ファイル名に文字列".int"を入れることで、個々のビットマップを外部ではなく内部Flashに配置できるようになりました。
- MoveAnimator、FadeAnimator、およびZoomAnimationImageに、cancelMoveAnimation / cancelFadeAnimation / cancelZoomAnimationメソッドが加わりました。
更新手順
- 既存の4.Xアプリケーションと互換性があります。 touchgfxフォルダを置き換えるだけです。
- ドキュメントで既知の問題を確認してください。
情報
- TouchGFXの評価版は、プリコンパイルされたライブラリではなく、ハードウェア抽象化レイヤのソース・コードが含まれて配布されます。 これによりこの評価版は、サポートされた評価ボードに限定されず、カスタム・ハードウェアに移植できます。 その代わり、この評価版ではTouchGFXウォーターマーク(透かしマーク)が時折表示されます。
- 描画アルゴリズムの改善により、メモリ消費量が削減しました。 一般的に、GUIタスクのスタックを、バージョン##バージョン4.2.0 {#version-420}と比べて約1400バイト削減できます(実際のアプリケーションによります)。 さらに、静的に割り当てられるメモリもおよそ1KB削減されます。
- 表示ウィジェットの最大数の制限150が外されました。
- 新しい機能、グラフ、国際化、カスタム・ウィジェットを示すため、解像度が640 x 480および480 x 272の新しいデモが2つ追加されました。
- Drawable.setPosition()が、setXY()、setWidth()、setHeight()を呼び出すようになり、サブクラス化が容易になりました。
- ユーザ独自のペインタを実装する際には、基底クラスとしてAbstractPainterRGB565およびAbstractPainterBWが推奨されます。
- CanvasWidgetにsetAlpha()およびgetAlpha()メソッドが加わりました。 ユーザのカスタムPainterクラスではこれを実装するか、AbstractPainterRGB565クラスから継承する必要があります。
- 登録可能なタイマ・ウィジェットの最大数が16から24に増えました。
- touchgfx-envが2.4に更新されました。 環境によるビープ音は発せられなくなりました。
- STM324x9I-EVALのボード・サポート・パッケージが、STMCubeF4ドライバをベースにするようになりました。
バグ修正
- Screen::handleGestureEventによって、x/yが相対座標に変換されるようになりました。
- moveTo()を複数回使用して、同じキャンバス上に複数のオブジェクトを描画するときのバグが修正されました。
- スケーリングに関連するZoomAnimationImageの動きで、簡素化のための正しい式が使用されていなかった問題が修正されました。
- PainterRGB565で、緑色アルファが正しくブレンディングされない問題が修正されました。
- RadioButtonGroupで、コールバックがゼロに初期化されるようになりました。
- ScalableImageで、透過性のあるビットマップを操作できるようになりました。
- AnimatedImageで、アニメーションの開始と終了が2度表示される問題が修正されました。
- CanvasWidget::getMinimalRect()のデフォルト実装で、そのものではなく親を基準とする座標が返される問題が修正されました。
- ScrollableContainerが、それ自身をタイマ・ウィジェットとしてティックごとに誤って登録解除するため、他のタイマ・ベースの操作で使用するのが難しくなっていた問題が修正されました。
パフォーマンス
- ScalableImageおよびZoomAnimationImageが最適化され、パフォーマンスが向上しました。
バージョン4.2.0
リリース日付: 2015年1月14日
パフォーマンス
- 描画のパフォーマンスが大幅に向上し、ほとんどの場合、1フレームの描画にかかる時間が25%削減されます。 注: この最適化は必ずしもすべてのターゲットに機能するわけではないので、手動で有効化する必要があります。 既存のポーティング(移植)に対してこの最適化を有効化する方法については、ポーティングガイドの「最適化」の章を参照してください。 この最適化を有効化することを強く推奨します。 この最適化は、##バージョン4.2.0 {#version-420}ボード・パッケージのすべての該当する評価ボードに対して有効です。
主要な新機能
- 幾何学形状のスムーズでアンチエイリアスされた描画のために、CanvasWidgetが追加されました。 現時点では、ライン、サークル、およびより汎用的なシェープが実装されています。 CanvasWidgetは、塗りつぶし色(+アルファ)、ビットマップ(アルファを含む)、またはカスタム・ペインタでペイントできます。 Canvas WidgetとPainterの詳細については、ドキュメントを参照してください。
- KeilコンパイラとuVision4 IDEがサポートされました。 Keilでサポートされるターゲットのリストについては、ドキュメントのTouchGFX Distributionの章の「Supported Hardware」セクションを参照してください。
新機能
- ZoomAnimationImage、MoveAnimator、およびFadeAnimatorで、アニメーションの開始遅延を指定できるようになりました。
- LPC4350(内部Flashなし)により、4.3インチTouchGFX Demoボードに対するボード・サポートが 追加されました。
- RadioButtonおよびRadioButtonGroupウィジェットが追加されました。 app/examples/radio_button_exampleおよびドキュメントを参照してください。
- LPC43XXおよびLPC1788で、DMAを使用する長方形の塗りつぶしが可能になりました。
- Visual Studio 2013がサポートされるようになりました。
- Visual Studio 2015プレビュー版が、暫定的にサポートされます。
- アセットを生成するときのパフォーマンスが向上しました。
- exampleディレクトリに、新しくcanvas_widget_exampleが追加されました。
- プロジェクト内で、NO_USING_NAMESPACE_TOUCHGFXシンボルを定義することで、さまざまなヘッダ・ファイルに存在する"using namespace touchgfx"を回避できるようになりました。
TouchGFX環境
- シェルの開始時に表示されるメッセージが修正され、サンプルへの正しいパスを表示するようになりました。
バグ修正
- 幅および / または高さが8の倍数でない場合の、1bppディスプレイでのシミュレータのバグが修正されました。
- CANCELイベントが正しい子に引き継がれないことがあるために、SC領域外でのドラッグ中にボタンが押下状態のままになるなどの現象が起きる、ScrollableContainerのバグが修正されました。
- 回転したディスプレイでchromArtフォントを描画するときのバグが修正されました。
- KeyboardウィジェットのsetTouchable(false)が、効力を持たないバグが修正されました。
- Freescale K70 DMAが、TCD0_CSRで該当するDONEビットをチェックするようになりました。
- STプロセッサで、ディスプレイが非ネイティブの向きのときに、ChromArtによって描画される回転したテキストによるバグが修正されました。
ボードのサポート
- Embedded Artists LPC4357DevKitボード・パッケージで、CPUクロックが204MHzになりました(以前は96MHz)。 NORではなく、SPIFI Flashが使用されるようになりました。
更新手順
- 既存の4.Xアプリケーションと互換性があります。 touchgfxフォルダを置き換えるだけです。
情報
- ドキュメントが更新されました。
バージョン4.1.1
リリース日付: 2014年10月29日
新機能
- ミックスイン: MoveAnimatorが追加されました。 MoveAnimatorミックスインにより、テンプレート・クラスTで、現在の位置から指定された目標位置までの移動をアニメーション化できるようになります。 app/example/move_fade_exampleを参照してください。
- ミックスイン: FadeAnimatorが追加されました。 FadeAnimatorミックスインにより、テンプレート・クラスTで、現在のアルファ値から指定された目標のアルファ値までのフェーディングをアニメーション化できるようになります。 app/example/move_fade_exampleを参照してください。
- ScalableImageおよびZoomAnimationImageで、ピクセル・ビットマップごとのアルファとビットマップごとのアルファが、サポートされるようになりました。
- ScalableImageおよびZoomAnimationImageで、ARGB8888フォーマットのビットマップがサポートされるようになりました。
バグ修正
- 稀にKeyboardウィジェットで、不正に描画するバグが修正されました。
- coords != {0,0}(それ自体はScrollableContainer内に配置)を使用して、コンテナ内に配置された場合のウィジェットで、ドラッグ・イベントの座標が不正になるバグが修正されました。
- Applicationクラスで、特定のウィジェットに対してregisterTimerWidgetとunregisterTimerWidgetが呼び出された回数が正しく追跡されるようになりました。つまり、複数回の登録が行われた場合、ウィジェットがティック・イベントを受信しなくなる前に、同じ回数の登録解除が必要になるということです。
- 仮想であるべき一部のZoomAnimationImage関数が、仮想ではないという問題が修正されました。
- 一部のウィジェットに特定のゲッター関数が、欠落している問題が修正されました。
更新手順
- 既存の4.Xアプリケーションと互換性があります。 touchgfxフォルダを置き換えるだけです。
バージョン4.1.0
リリース日付: 2014年10月17日
新機能
- モノクロの1bppディスプレイがサポートされるようになりました。 詳細については、マニュアルを参照してください。
- 動的なスクリーンの向き(横向き / 縦向き)の変更が、サポートされるようになりました。
- スケーリング画像がサポートされるようになりました(ScalableImageおよびZoomAnimationImageドローアブルを参照)。
デモ
- Home Control Demoで640 x 480モードがサポートされるようになりました。
- Home Control DemoでSTM324xI-EVAL 5.7インチ・ボードがサポートされるようになりました。
ボード・サポートの変更
- STM324xI-EVAL 5.7インチ・ボード(IAR+gcc)がサポートされました。
- EmbeddedArtists LPC4357DevKitボードに対するgccがサポートされました。
- TouchGFX evalボードに対するSPIFIの初期化が最適化されました。
バグ修正
- ScrollableContainerに持続的ドローアブルを追加すると、アサート発生の可能性がある問題が修正されました。
- 非常に大きいフォントがサポートされるようになりました。
更新手順
- 既存の4.Xアプリケーションと互換性があります。 touchgfxフォルダを置き換えるだけです。
バージョン4.0.0
リリース日付: 2014年9月26日
新機能
- TouchEventのリファクタリング(APIブレーキング):
- Drawable::setActiveが、Drawable::setTouchableに名前変更されました。
- Drawable::isActiveが、Drawable::isTouchableに名前変更されました。
- Drawable::hijackTouchEventが非推奨になりました。
- ドローアブルがデフォルトで非タッチ可能になりました。
- TouchEventがすべてのコンテナの子に常に伝播されるようになりました。
- 言語固有のタイポグラフィと列の配置のサポートが、テキスト・コンバータに追加されました。 この機能の詳細については、ドキュメントを参照してください。
- フォントのシェープやカーニングに関して、フォント描画が大きく改善しました。
- シミュレータでスクリーン遷移実行中の、新しいビュー / プレゼンタ / 遷移のサイズに関するアサート・チェック。 FrontEndHeapにビュー / プレゼンタ / 遷移の定義が欠落していることで、アサート・チェックが失敗する可能性がありました。
- TextAreaおよびButtonWithLabelで、0度、90度、180度、270度のテキスト回転がサポートされるようになりました。
- 特殊なケースで、ButtonWithLabel上でのテキストの中央揃えが改善されました。
- サポートされたSTプラットフォーム上での、テキスト描画(4bppと8bpp)のハードウェア・アクセラレーション。
- 外部RAMにビットマップ・データベース内のすべてのアイテムをキャッシュできます。
- Freescales K70マイクロコントローラのサポート。
- 翻訳シート: "\<"および "\>"のインスタンスが、それぞれ"<"および">"に変換されます。 これにより、"\<Not a wildcard\>"を使用して、"<Not a wildcard>"などの逐語的に翻訳される文字列の使用が可能になります。
- NXP LPC18XXシリーズのマイクロコントローラのサポート。
- TouchEventのリファクタリング(APIブレーキング):
バグ修正
- 幅が奇数でアルファ値が255より低い画像の、描画エラーの問題が修正されました。
- TextAreaが初期化されていない場合の、TextArea::getTextHeightの処理が修正されました。
- TextAreaWithWildcard::getTextWidthに、ワイルドカード・テキストの幅が含まれるようになりました。
- gcc Makefileに、画像アセットにある.BMPおよび.PNGが含まれるようになりました。
- テキスト・シートのどの翻訳においても、先行および末尾のホワイト・スペースはトリミングされません。
- フォント・コンバータで8bppのフォント・データが正しく生成されない問題が修正されました。
- ButtonWithIcon::setBitmaps - 意図的に仮想関数をオーバーライドする場合の、IAR警告が抑制されています。
- ButtonWithIconで描画機能が最適化されました。
- 非常に稀にテキストがテキスト・エリアの少しだけ外に書き込まれることがあった問題が修正されました。
更新手順
- TouchEventのリファクタリングに応じて、関数を名前変更する必要があります。 タッチ・イベントを受信する必要があるカスタム・ウィジェットやコンテナを、宣言する必要もあります。 hijackTouchEventを使用して子がタッチ・イベントを取得することを回避していた場合、今度は、すべての子がタッチ可能になっていないことを確認する必要があります。
- 以下の置換によって、シミュレータのMain.cppを更新する必要があります。 TypedText::registerTypedTextDatabase(TypedTextDatabase::getInstance(), TypedTextDatabase::getInstanceSize())を、Texts::setLanguage(0)に置き換えます。また、Texts::setLanguage(GB)のように、ユーザのテキスト・データベースから特定の言語を指定することもできます。この場合は次の記述も必要です: #include <texts/TextKeysAndLanguages.hpp>
- プロジェクト全体を再構築します。
情報
- TouchGFXのマニュアルが大幅に更新されました。
バージョン3.1.0
新機能
- FDI uEZGUI-1788-70WVT evalボードがサポートされました(NXP LPC-1788 Cortex M3)。
- Mjolner TouchGFX Demo Board Rev. 1.1 evalボードがサポートされました(NXP LPC-4353 Cortex M4/M0 4.3インチ)。
バグ修正
- 新しい画像がassets/imagesフォルダに追加されたときに、Visual StudioビルドでBitmapDatabase.hが再ビルドされるようになりました。
更新手順
- Visual Studioの使用時のみ: Visual Studio .propsファイルのTouchGFXReleasePathを更新します。 単純にテキスト・エディタでファイルを編集してください。 パスは"touchgfx\"を付けて拡張する必要があります。 template_applicationにヒントがあります。
- Visual Studioの使用時のみ: Visual Studioのプロジェクト・ファイル(.vcxprojファイル)を更新します。 単純にテキスト・エディタでファイルを編集してください。 フォームのすべてのパスを、"$(TouchGFXReleasePath)\framework\config\msvs\touchgfx_prebuild.targets"から、"$(TouchGFXReleasePath)\config\msvs\touchgfx_prebuild.targets"に置き換えます。
情報
- ハードウェア抽象化レイヤ・アーキテクチャが改訂され、さまざまなハードウェア・コンポーネント(マイクロコントローラおよびドライバ)のすべての共通コードが、各種ターゲット・ボードで共有されるようになりました。 これにより、TouchGFXによってすでにサポートされているハードウェア・コンポーネントを1つ以上含んでさえいれば、新規 / カスタムのボードの移植作業が大幅に簡略化されます。
バージョン3.0.0
新機能
- Visual Studio 2010 / 2012のサポート。
- アルファ・チャネルを使用するpng画像がサポートされました。
- assets/bitmapsフォルダのサブフォルダがサポートされました。
- ST STM32F4X9I-EVALボードがサポートされました。
- Robert Pennerのイージング式がサポートされました(touchgfx/EasingEquations.hppを参照)。
- 画像コンバータ: 入力画像ファイル名のサニティ・チェックが追加されました。最初の文字を数字にすることはできず、英数字である必要があります。
- 画像コンバータ: 入力リストの大文字小文字を区別しないファイル名の重複に対するチェックが追加されました。
- テキスト・コンバータ: bppおよびfont_sizeの値に対するビルド停止のサニティ・チェックが追加されました。
- ScrollableContainer: setScrollbarPadding、setScrollbarWidth、setScrollbarColor、setScrollbarAlphaがサポートされるようになりました。
- ScrollableContainer: ScrollThresholdの値が1ピクセルではなく5ピクセルにデフォルト設定されます。
- フォントのアルファブレンディングに対するサポートが追加されました(TextArea::setAlpha(uint8_t alpha))。
- ImageConvertが2つの異なる出力フォーマット、RGB565とARGB8888をサポートします。
- ImageConvert - アルファ・チャネルを使用する / 使用しない場合の画像の出力フォーマットを制御するために、2つのオプションが追加されました。
- 大きなプロジェクトのリンカ・エラーのため、MinGWの下のTouchgfx環境が更新されました。 g++バージョンが4.6.2から4.8.1に更新されました。
- 内部RAMのフットプリントが改善されました。
- ターゲット・ライブラリとハードウェア抽象化レイヤの構造変更。
バグ修正
- 塗りつぶし操作(Boxウィジェット)によって、lpc4357_emb_artistボードがクラッシュする問題が修正されました。
- テキスト変換とフォント変換: 異なるタイポグラフィが同一のプロパティを持てるようになりました。
- 画像変換とフォント変換: POSIX準拠プラットフォームのエラー処理が改善しました。
- HALSDL: キーのデータ・タイプがオーバーフローしません。
- LanguageXX.cppファイルが改行して終了するようになりました(警告を削除)。
- TextArea::drawで初期化されていないTypedTextが正しく処理されるようになりました。
更新手順
- assets/bitmapsおよびgenerated/bitmapsフォルダの名前を、assets/imagesおよびgenerated/imagesに変更する必要があります。
- TouchGFX環境をバージョン2.0に更新します。
- すべてのアプリケーションMakefileを、更新後のtemplate_applicationで指定されたMakefileに準拠するように更新します。
- プロジェクト全体を再構築します。
- 以前の透明な色を含むbmp画像を、アルファ・チャネルを使用するpng画像に変換します。 これは、imagemagickというフリー・ツールを使用すると自動的に実行できます。 詳細な情報やヒントについては、touchgfx-support@mjolner.comまでお問い合わせください。
- 新しい構造に準拠するように、カスタムHAL実装を更新する必要があります。
情報
- これまでbmpフォーマットの透明色に使用されていた"magic"透明色が、サポートされなくなりました。 代わりに、アルファ・チャネルを使用するpng画像を使用してください。
バージョン2.2.0
- 新機能
- 横向きディスプレイによる縦向きモードに対するサポートが、パフォーマンス / リソースの犠牲なしで追加されました。
- カーニングがサポートされました。
- キーボードの例が追加されました(Energy Micro DK3750 evalボード用のIARプロジェクトによる)。
- LCDでblitCopyメソッドのインタフェースが変更されました。
- SyncBackBufferメソッドがHALから削除されました。
- clearLCDメソッドがLCDから削除されました。
- fillGradientRectメソッドがLCDから削除されました。
- ScrollableContainerがsetScrollbarsVisible(bool visible)をサポートします。
バージョン2.1.0
- 市販のフレームワークとしてTouchGFXが初めてリリースされました。