機能一覧に戻る

emWin:コンパクト高性能なGUIライブラリ

組込アプリケーションで求められる様々な機能要件を満たすことができます。コンパクトなグラフィックライブラリでありながら、高性能なGUIを実現できます。お客様のアプリケーションに合わせて必要な機能のみを実装することが可能です。

コンパクトな実装サイズ

emWinモジュールROM使用量RAM使用量STACK使用量
小型システム (Windowsマネージャ無し)6~25 KByte~200 Byte~600 Byte
大型システム(Windowsマネージャ、ウィジェット含む)30~60 KByte2~6 KByte1200 Byte以上

パフォーマンスとサイズ情報の詳細はオンラインマニュアルで確認

2-Dグラフィックライブラリ

ローエンドマイコンでも使用可能なグラフィックインターフェースAPIセットをフルソースコードで提供します。

  • テキスト・文字列表示(左・真中・右配置設定可能)
  • 数字表示専用API(表示式:10進数、16進数、バイナリ、浮動小数点)
  • 高速な線、点、円、長方形、ポリゴンの描画、塗りつぶし
  • APIから画像表示可能、ストリーミングビットマップ表示サポート
  • ウインドウマネジャ不要でAPIからグラフ表示可能
  • アルファブレンディング機能
  • LCDコントローラのハードウェアアクセレレーターに対応

各種類LCDパネルをサポート

様々な液晶パネルインターフェースに対応した各種類のドライバモージュールをサポートします。お客様のハードウェアボードの仕様に合わせてGUIDRVモジュールを選択してください。

  • パラレルバスビデオメモリI/F
  • シリアルバス(SPI、I2C)ビデオメモリI/F
  • Sharp Memory LCDパネル
  • 外部 LCDパネル(Epson、Himax等)

テンプレートを使用してカスタムI/Fにも対応可能。
LCDパネルの回転・向き設定を標準サポート。
低クロックの液晶コントローラの場合は、液晶データをメモリにキャッシュしてコントローラアクセス数を減らしてより良いパフォーマンスを実現。

※ハードウェア依存分のドライバが別に必要です。

LCDドライバI/Fの詳細はこちら

ウィンドウマネージャウィジット

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

emWinウィジットの詳細はオンラインマニュアルで確認

Widgets

マルチレイヤ・ブレンディング

複数の画面を自由に重ね合わせて表示することができるので、複雑な図も自由に構成することができます。LCDドライバでサポートされているハードウェアレィヤに対応可能です。LCDドライバでハードウェアレィヤインターフェースがサポートされていない場合は、ソフトウェアレィヤは使用可能です。ハードウェア・ソフトウェアレィヤの透明度設定及びアルファブレンディング設定は出来ます。

multilayer

マルチディスプレーサポート

emWInでは、パネル接続インターフェース関係なく同時に複数LCD・表示パネルは使用可能です。

multidisplay

タッチパネル・ジェスチャーサポート

emWin 基本パッケージでは標準入力デバイス(マウス、JOYSTICK、アナログ式タッチペン、CMOSタッチパネル)をサポートします。ハードウェア依存のドライバインターフェースを実装して簡単にお客様のボード環境に簡単に導入出来ます。A/D変換等で入力するアナログ式タッチペンインターフェースの場合は、アプリケーション側で必要とされるキャリブレーション処理(2/3/5/9ポイント)はemWin APIで対応可能です。

Calibration

マルチタッチモジュール(追加オプション機能)を導入して10タッチポイントまで対応可能です。マルチタッチジェスチャーとして、ピンチによる拡大縮小、画面の回転などユーザジェスチャーもサポートします。

アンチエイリアシング

表示時にジャギーを目立たなくします。 抑止レベルも、表示内容により細かく設定できます。emWinは低品質(2bpp)~高品質(6bpp)までのアンチエリアシングファクタをサポートします。アンチエリアシングを使用して描画する場合、通常はアンチエリアシングを使用しない描画関数と同じ座標空間を使用します。

メモリデバイス

メモリデバイス機能で、表示データをメモリ上に展開してから出力、画面のちらつきを防止します。これによりアニメーションもスムーズに表示が可能です。

バーチャルスクリーン

あらかじめ表示パネルを上回る画面をRAM上に展開しておき、画面遷移を位置移動や拡大縮小で制御する事が可能です。バーチャルスクリーンAPIで指定エリアだけを実際に表示(パンニング機能)することも可能です。

Barcode・QRコード生成サポート

emWin APIでQRコードを生成し、表示することができます。ユーザ様指定の文字列、URLの情報が含まれたQRコードを作成します。

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_ITFGUI_BARCODE_128
barcode-itfbarcode-128

カラーマネジメントシステム

emWinは統合された非常に効率的なカラーマネージメントシステムを備えています。カラーマネージメントシステムは論理色(RGBフォーマット)を実行時にLCDに表示する物理色に変換します。これによりアプリケーションが実際に使用できる色を気にする必要がなく、LCDを簡単に交換することができます。また、開発者またはビットマップコンバータによって生成されたインデックスカラーのビットマップを表示することができます。

レィヤ毎にカスタムカラーパレットを設定してユーザ指定のカラールックアップテーブル(独自カラーモード)は設定出来ます。また、アプリケーション側でカラー変換できる仕組みも用意しております。

emWIn基本パッケージに含まれているカラードライバ一(固定カラーパレット)覧:

  • 1 BPP(モノクロ): GUICC_1
  • 2 BPP(4グレースケール): GUICC_2
  • 3 BPPモード : GUICC_111、GUICC_M111
  • 4 BPP(16グレースケール): GUICC_4
  • 5 BPP(32グレースケール): GUICC_5
  • 6 BPPモード : GUICC_222、GUICC_M222
  • 8 BPPモード :GUICC_1616I、GUICC_8、GUICC_233、GUICC_M233、GUICC_323、GUICC_M323、GUICC_332、GUICC_M332、GUICC_822216、GUICC_84444、GUICC_8666、GUICC_8666_1
  • 12 BPPモード:GUICC_444_12、GUICC_M444_12、GUICC_M444_12_1、GUICC_M4444I、
  • 15 BPPモード:GUICC_555、GUICC_M555、GUICC_M1555I
  • 16 BPPモード:GUICC_444_16、GUICC_M444_16、GUICC_565、GUICC_M565、GUICC_88666I
  • 18 BPPモード:GUICC_666、GUICC_M666、GUICC_666_9、GUICC_M666_9
  • 24 BPPモード:GUICC_888、GUICC_M888
  • 32 BPPモード:GUICC_8888、GUICC_M8888、GUICC_M8888I

カラーマネージメントシステムの詳細はオンラインマニュアルで確認

マルチ言語・フォントサポート

  • emWinは英語、日本語(Shift-JIS)、UTF-8エンコード、LTR(Left to Right)及びRTL(Right to Left)表示をサポートします。
  • 言語リソースファイルサポートでGUIアプリケーションのテキスト内容の言語切替は可能です。
  • UTF-8文字列をC言語コードに変換できる「U2C.exe」ツールを同梱
  • 8、10、13、16ピクセルのプロポーショナルフォント及び4x6、6x8、6x9、8x8、8x9、8x16、8x17、8x18、24x32のフォントを基本パッケージに付属
  • カウント表示などに便利文字専用フォント(24x32、36x48、48x64、60x80)を同梱
  • 対応フォント:プロポーショナルフォント、モノスペースビットマップフォント、アンチエイリアスフォント、TrueTypeベクターフォント

外部メディアから画像・フォント使用可能

少ないROMリソース環境では、SPIフラッシュ・SDカード・USBディスク等外部メディアに保存されているフォント及び画像データをランタイムでemWin APIから使用可能です。外部メディアからフォントを扱う場合は、事前にフォントデータをemWinのフォント変換ツールでXBF(External Bitmap Font)形式のデータに変換して外部メディアに保存します。

exMedia

アニメーション・動画サポート

emWin APIから簡単なアニメーション作成及び描画は可能です。描画内容はアプリケーション側のコールバックハンドラで処理します。

anime

emWinではEMF(EmWin Movie File)式動画ファイルは再生可能です。JPEG動画ファイルをEMF式に変換するJPEG2Movieツール、そして再生用emWinPlayerツールは付属しています

キーボードサポート

keyboard

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

機能一覧に戻る