emWinモジュール | ROM使用量 | RAM使用量 | STACK使用量 |
---|---|---|---|
小型システム (Windowsマネージャ無し) | 6~25 KByte | ~200 Byte | ~600 Byte |
大型システム(Windowsマネージャ、ウィジェット含む) | 30~60 KByte | 2~6 KByte | 1200 Byte以上 |
ローエンドマイコンでも使用可能なグラフィックインターフェースAPIセットをフルソースコードで提供します。
様々な液晶パネルインターフェースに対応した各種類のドライバモージュールをサポートします。お客様のハードウェアボードの仕様に合わせてGUIDRVモジュールを選択してください。
テンプレートを使用してカスタムI/Fにも対応可能。
LCDパネルの回転・向き設定を標準サポート。
低クロックの液晶コントローラの場合は、液晶データをメモリにキャッシュしてコントローラアクセス数を減らしてより良いパフォーマンスを実現。
※ハードウェア依存分のドライバが別に必要です。
APIで呼び出せるウィジット(画面構成部品・機能)を多数用意し、お客様アプリケーションの画面作成をサポートします。
emWinのソースコードを参考にお客様専用のウィジットオブジェクト(独自のメニューウインドウ等)は作成可能です。
emWinウィジット一覧:
BUTTON、CHECKBOX、DROPDOWN、EDIT、FRAMEWIN、GAUGE、GRAPH、HEADER、ICONVIEW、IMAGE、KEYBOARD、KNOB、LISTBOX、LISTVIEW、LISTWHEEL、MENU、MULTIEDIT、MULTIPAGE、PROGBAR、QRCODE、RADIO、ROTARY、SCROLLBAR、SLIDER、SPINBOX、SWIPELIST、SWITCH、TEXT、TREEVIEW
複数の画面を自由に重ね合わせて表示することができるので、複雑な図も自由に構成することができます。LCDドライバでサポートされているハードウェアレィヤに対応可能です。LCDドライバでハードウェアレィヤインターフェースがサポートされていない場合は、ソフトウェアレィヤは使用可能です。ハードウェア・ソフトウェアレィヤの透明度設定及びアルファブレンディング設定は出来ます。
emWInでは、パネル接続インターフェース関係なく同時に複数LCD・表示パネルは使用可能です。
emWin 基本パッケージでは標準入力デバイス(マウス、JOYSTICK、アナログ式タッチペン、CMOSタッチパネル)をサポートします。ハードウェア依存のドライバインターフェースを実装して簡単にお客様のボード環境に簡単に導入出来ます。A/D変換等で入力するアナログ式タッチペンインターフェースの場合は、アプリケーション側で必要とされるキャリブレーション処理(2/3/5/9ポイント)はemWin APIで対応可能です。
マルチタッチモジュール(追加オプション機能)を導入して10タッチポイントまで対応可能です。マルチタッチジェスチャーとして、ピンチによる拡大縮小、画面の回転などユーザジェスチャーもサポートします。
表示時にジャギーを目立たなくします。 抑止レベルも、表示内容により細かく設定できます。emWinは低品質(2bpp)~高品質(6bpp)までのアンチエリアシングファクタをサポートします。アンチエリアシングを使用して描画する場合、通常はアンチエリアシングを使用しない描画関数と同じ座標空間を使用します。
メモリデバイス機能で、表示データをメモリ上に展開してから出力、画面のちらつきを防止します。これによりアニメーションもスムーズに表示が可能です。
あらかじめ表示パネルを上回る画面をRAM上に展開しておき、画面遷移を位置移動や拡大縮小で制御する事が可能です。バーチャルスクリーンAPIで指定エリアだけを実際に表示(パンニング機能)することも可能です。
emWin APIでQRコードを生成し、表示することができます。ユーザ様指定の文字列、URLの情報が含まれたQRコードを作成します。
事例:
#include "GUI.h"
#define PIXEL_SIZE 4
const char sText[] = "www.embitek.co.jp/product/iot-solutions.html";
GUI_HMEM hQR;
hQR = GUI_QR_Create(sText, PIXEL_SIZE, GUI_QR_ECLEVEL_H, 0);
GUI_QR_Draw(hQR, 50, 50);
GUI_QR_Delete(hQR);
emWinグラフィックAPIでBarcode(バーコード)表示可能です。
事例:
GUI_SetColor(GUI_BLACK);
GUI_SetBkColor(GUI_WHITE);
GUI_BARCODE_Draw(0, 0, 3, 60, GUI_BARCODE_ITF, "131072");
GUI_BARCODE_Draw(0, 0, 2, 60, GUI_BARCODE_128, "SEGGER");
GUI_BARCODE_ITF | GUI_BARCODE_128 |
---|---|
emWinは統合された非常に効率的なカラーマネージメントシステムを備えています。カラーマネージメントシステムは論理色(RGBフォーマット)を実行時にLCDに表示する物理色に変換します。これによりアプリケーションが実際に使用できる色を気にする必要がなく、LCDを簡単に交換することができます。また、開発者またはビットマップコンバータによって生成されたインデックスカラーのビットマップを表示することができます。
レィヤ毎にカスタムカラーパレットを設定してユーザ指定のカラールックアップテーブル(独自カラーモード)は設定出来ます。また、アプリケーション側でカラー変換できる仕組みも用意しております。
emWIn基本パッケージに含まれているカラードライバ一(固定カラーパレット)覧:
少ないROMリソース環境では、SPIフラッシュ・SDカード・USBディスク等外部メディアに保存されているフォント及び画像データをランタイムでemWin APIから使用可能です。外部メディアからフォントを扱う場合は、事前にフォントデータをemWinのフォント変換ツールでXBF(External Bitmap Font)形式のデータに変換して外部メディアに保存します。
emWin APIから簡単なアニメーション作成及び描画は可能です。描画内容はアプリケーション側のコールバックハンドラで処理します。
emWinは、タッチパネルから直接入力できるKEYBOARD(QWERTY、NUMPADタイプ)ウィジットをサポートします。そして、外部エベントから入力可能な仮想キーボードドライバにも対応しています。
仮想キーイベント一覧:
GUI_KEY_BACKSPACE、GUI_KEY_TAB、GUI_KEY_BACKTAB、GUI_KEY_ENTER、GUI_KEY_LEFT、GUI_KEY_UP、GUI_KEY_RIGHT、GUI_KEY_DOWN、GUI_KEY_HOME、GUI_KEY_END、GUI_KEY_SHIFT、GUI_KEY_CONTROL、GUI_KEY_ESCAPE、GUI_KEY_INSERT、GUI_KEY_DELETE、GUI_KEY_SPACE、GUI_KEY_PGUP、GUI_KEY_PGDOWN