MGL2 download

MGL Version 2 は、Handheld PC などリソースの少ないマシンで グラフィック対応のアプリケーション動かすためのグラフィックライブラリ および、ウインドウマネージャです。

BSD ライセンス (に近いライセンス)で、ソースを公開しています。 詳しくは、"MGL2 とは何か"のページを参照してください。

mgl2-alpha-020.tar.gz
fontkit-1.1-nobdf.tar.gz ( MGL 形式のフォントが含まれています)
fontkit-1.1-src.tar.gz ( MGL形式のフォントの オリジナル (BDF))

NetBSD/hpcmips の current では、backlight on/off、contrast/brightness 調整 virtual console 切替え、resume での画面崩れ対策 および wscons=YES 時の キーが取得できない問題の対処が入ったので 、 ほぼ満足できる機能レベルになっているんじゃないかと思います。

1.5 の環境では、backlight on/off、contrast/brightness 調整 はできません。current でも contrast/brightness 調整の機能自体は開発中。 ( MGL は API だけサポート)


初代モバイルギアで動く UNIX( PocketBSD , PocketLinux ) と Window CE マシンのアーキティクチャ上で動く UNIX ( NetBSD/hpcmips ) さらに NetBSD/mac68k, Linux/7k(Psion5 上の Linux) Linux-VR(Windows CE 機上の Linux) をターゲットにして開発中です。

メインターゲットは上記のものですが、同一アプリケーションを X11 で動かしたり、PC UNIX のコンソール上でも動かすことができます。

AnonCVS

次の方法で、CVS リポジトリにアクセスできます。


cvs -d :pserver:anoncvs@jp.netbsd.org:/cvs/jproot login

CVS passwrod: anoncvs

cvs -d :pserver:anoncvs@jp.netbsd.org:/cvs/jproot co othersrc/mgl/mgl2

CVS Web

MGL2 の最新ソース (と 変更履歴)を Web で見ることができます。

http://cvsweb.netbsd.org

News

Links

MGL1 for Win32

mgl2 非対応だが、MGL の API で Windows のアプリが作れる! MGL 対応のアプリが増えると嬉しい。

perl-mgl2

mgl2 に対応した perl モジュール。サンプルが豊富。
mgl2 に付属の demo が完全移植できている!

RybyMgl

すくなくとも浮動小数点がないマシンではruby の方が早いみたい。 オリジナルは、mgl1 にしか対応されていないが将来有望かも。
MGL2 化非公式パッチ ruby-mgl2.pat.gz

KaffeMgl2

mgl2 に対応した java モジュール。
awt がなくても、グラフィックが使える!

squeakMgl

squeak を mgl2 に移植してみました。 いろいろ不具合ありますが、デモぐらいはできそう。 ( しばらく mgl2 のソースに 最新版を添付します。)


CHANGELOG

------- alpha-020 ---------------------------------------
o md_vga.h NetBSD/i386 対応

   -- いちおう動くとこまで来たので、config.mk-netbsd-i386-vga{+x} を追加

o md_vga.h
   NetBSD-1.5/i386 対策 ( 動くかもしれない が未確認 )

   -- ioctl を使わずに、VGA のモード設定ができるようにした。
   -- wsmouse のコードを md_hpcmips.h からとってきた。

o vt.c
	初期化でメモリを壊していることが判明。
o mgterm.c 
	変数が2重に定義されていたので修正。

o lib/emcons.c

	emcons_refresh() で、core-dump する バグの修正。
	( r_minx よりも r_maxx が大きくなるケースがあって、メモリが壊れる)

o nine/Makefile mgterm/Makefile
   以下の問題がみつかったので修正。
	nine/Makefile: GP_DYNAMIC=y でないとき make install でエラーになる。
	mgterm/Makefile: elf 環境でないとき SYM_PREFIX が二重定義になる。

o config.mk-freebsd-vga/config.mk-freebsd-vga+x
   FreeBSD-4.0  Console で動作を一応確認。(X と mouse は未確認)

o mgterm/mdate.c

   FreeBSD-4.x 対応 (スワップ表示 の部分を usr.bin/top/machine.c から
          取って来て追加 )



o mcalc 
	計算する部分を 手直ししてみた。...
	でも電卓風というレベルは脱却していない。

	あとオプション追加。-m で独立したアプリとして起動。(X 版テスト用)

o mgterm

  -f オプションで複数のフォントを指定した場合、
  F8 で フォントサイズを動的に切替えられるようにした。

 -f オプションのフォーマット

   font_size1,font_size2, ... ,font_sizeN (スペースをいれないこと)

   font_size は、8,10,12,16,24 または、16x11 など

   例: -f 8,10,16x11,24

          最初に表示されるのは、10x8 のフォント F8 で次のフォントに切替え。

o mgterm/vt.c

カーソルの形状をカスタマイズできるようにした。
 設定名(環境変数など) CURSOR_SHAPE に BLOCK,UL,RECT のいずれかを指定可能。

	BLOCK は従来カーソル。
	UL は、アンダーライン。
	RECT は中抜き四角。


019 から 020-pre4 までの CHANGELOG

019 から 020-pre4 までの 変更概要

KEYMAP 対応 --- 各OS のキー定義を読み込み MGL 内部で、RAW モードから 
                キーコードに変換する。

		バックライト/ブライトネス/コンソール切替え も MGL 
		で対応。( OS がサポートしている場合有効 )

mgl_getenv 新設 -- 今まで getenv していた設定を 設定ファイルで指定できる
                   ようになった。

mgterm --- 
	色を設定できるようになった。
	/dev/pts 対応 (一応)


cygwin 対応
FreeBSD の VGA console 対応 (md_vga.h)

nine --- マウス/スタイラスからのキー入力エンジン を ソースtree に追加。

mglcalibrate の linux-VR 対応。

------- alpha-019 ---------------------------------------
o マウス入力の見直し。
	いままで 移動は、ボタンを押したときしか取得できなかった
	が、mgl_set_keymode(MGL_SK_EXMOUSE_EVENT)
	を指定することで、ボタンを離したときも取得できるようにした。

o sqMgl.c 添付 (contrib/squeak/)
	まだまだ Mgl とバージョンを合わさないとまずそう
	

------- 018p10
o emcons.c の見直し

o raw keybarod の定義の見直し

   -- squeakMgl.pat で機能の確認。

------- 018p9
o MODIFER 付き キー入力サポート開始
	-- MGL_SK_TRANSLATED_WITH_MODIFIER を
		MGL_SK_EXTRANSLATED に変更 (長いので)

	-- これを使うには、keymap の設定が必要
		(MGLAPI.doc , memo/keymap.txt を参照。)

o 環境変数 MAXCOLOR を MGL_MAXCOLOR に変更。

------- 018p8

o mil PNG 対応 (Yukihiko Sano)

o RAW モード 
	-- bugfix
	-- memo/raw_keyboad.doc 追加

o 64bit OS 対応 
	-- malloc の宣言のために stdlib.h を include

o iconedit 改良 (さとさと さん)
	-- read_screen_xpm など

o hpcmips R530 系 suspend 対策 
	-- 時間が飛んだら redraw ( の つもり) (emcons.c)

------- 018p7
o Ctrl+@ が入力できないバグの修正

o RAW モードサポート (まだフレームワークレベル )
	mgl_set_keymode(mode)
		mode: MGL_SK_TRANSLATED
		      MGL_SK_RAW
		      MGL_SK_TRANSLATED_WITH_MODIFIER (X 版のみ)

	demos/rawdemo
		RAWモード テスト用 

o linux-vr TouchPanel サポート  --- 中西さん
	完全ではなく、とても遅いそうです。求むチューニング。

o フォントキットのツールを 同梱
	mgl_fontinfo
		フォントパターンの表示/変更をサポート
	bdftomgl
		bdf および fontx2 フォーマットから mgl フォントを生成可

	あまりしっかり作れていないのですが、結構便利に使えます。
	 

------- 018p6
o share_fb acceleration
	8bpp/16bpp サポートのためのフレームワークと
	8bpp/16bpp 用ドローエンジン (未完成: 不動品 dec192c.c dec3kc.c))
o mgterm
	アンダーラインサポート	(mgterm.cap も更新)

o instcap.sh 追加
	-- mgterm の エントリ追加のためのシェルスクリプト。

o mgterm/vt.c
	memcpy -> memmove に変更。(mgl_memmove にも一応対応)

o ドローエンジン バグ fix (16color , 192color) --- やないさん

o (hpcmips) hpcfbio.h 対応 --- やないさん
	最新カーネル, pbsdboot.exe の組み合わせ
	でない場合は、md_hpcmips.h の USE_CMAP8 を undef してください。
	( config にしません。)

o PocketLinux(mobilegear) 対応   --- 神木さん
o cons , X11 の 両方をサポートした svr を作れるようになった --- 神木さん

o share_fb acceleration
	体感 倍ぐらいの性能向上。
	ドローエンジンの関係で、2bpp/4bpp のみサポート可能。

------- 018p5
o 高速化その2
	-- get/put_pixstream の高速化
		アンローリングを中心に軽め(font にはあまり効きません)

o emx11 の使い勝手を向上
	-- GENERIC_16COLOR のサポート
	-- ランタイムで MAX_COLOR を変更できるように。
	    例: setenv MAX_COLOR 16

o md_linuxfb.h same_format acceleration
	-- 実画面の update で memcpy を使えるような高速化の実装 (神木さん)

o バグ修正
	-- dec192.c で mgl_memset 使ってしまったのの修正
	-- mglbench バグ修正 (ほんとは clip のバグだが未修正)

o mglbench
	--  表示方法の変更 (単位を フレーム/秒に 1フレーム=480x240)
	-- refresh() を入れた。

------- 018p4
o 高速化その1
	-- ferom.c の最適化
	-- mgl_memset2 , mgl_memxor, mgl_memxor2 の追加
	-- mgl_memset, mgl_memmove の追加 (オプション)

	C レベルで、アーキティクチャ向けコードを入れられるようにした。
	OPTIMIZE_FOR=OPTTYPE_MIPS 等

	( Build.doc を参照 )

------- 18p3
o psion5 の port をマージ (神木さん)
	-- タッチパネルサポート
	    linux-ce と共有できるかどうかは不明 (?)
	    #define MGL_MOUSE_PSION5 が必要

	-- dec16.c のバグ修正

o ドローエンジン dec4rn.c 追加 (やないさん)
	-- 2pp reverse order / normal color (MAC 2bpp / hpcmips 2bpp NATIVE)
	-- fb 共有化の準備

------- 18p2
o hpcmips MC-R500 8bpp カラーサポート
	完全サポートは無理ですが 018p1 よりはまともになりました。

o mkdep.sh 修正 
	lib の suffix サポート


o mgl2_ 関数群 サポート(for OOP)


------- 018p1

o make 環境の見直し と 018 で入ったバグの修正
	top ディレクトリから make できるように。
	mkdep.sh の追加。(gcc -M の機能を利用するので、CC が指定できます
	クロス対策 )
	確認環境は、NetBSD/hpcmips FreeBSD-2.2.7/3.3 vine-1.1 

o NetBSD/hpcmips  R500 偽物カラー対応 
	-- 6色x3レベル + 4グレースケールしか使わないので かなり厳しい
	   けれど色は出る!
o emcons.c
	-- memcpy での refresh のサポート(チューニングのための
	   フレームワークのみ)
	-- SHOW_MOUSE の変数化



------- alpha-018 まで

o libmgl.a を生成するのをやめた。
	- hpcmips など遅いマシン対応のため。

o FreeBSD 3.x に対応(のつもり)
	conf/iself.sh を実行して 1 でないなら報告お願いします。
	対応は、とりあえず FreeBSD.mk のみ。

o 640x200 サポート (のつもり)
	- mglsvr -s cga
	- mgterm -o cga (テスト用)
	- ミニアプリ mdate,mcalc,msame,iconedit,mini_mil

o dso 版 ミニアプリ での マウスサポートのバグ修正
	- フォーカスされたりはずされたときに vkattach/vkdetach するように。

o Linux fb サポート (神木さん)
	- md_linuxfb.h , fb8.h その他
	  fb が 使えるカーネル(2.2 以上)が必須。

o WhatisMGL.doc のアップデート
        - これからときどき更新するようにします。


オリジナル コピー リンク ダウンロード