robot
最新文章(10)
MadButterfly 和 Javascript 合體的威力
Adapt C code for Javascript
OpenVG for Linux/FreeBSD with X
回收 Linux cached memory
公告: 更換 domain name
關於 GCC nested function
GLUT 作為 Embedded System 的 UI 平台
別被 kernel 嚇到了
SVG 加 Gecko 完全攻略
在 OSDC 展示的 Plurk client
首頁
新編
最新留言
Entries RSS
重要關鍵字(10)
coding (120)
Python (93)
FreeBSD (71)
WEB (61)
URL (48)
hardware (46)
雜記 (45)
javascript (36)
Linux (31)
blog (30)
所有關鍵字
新增 URL
專案 MadButterfly
by thinker
2 Columns
關鍵字:
雜記
最近又埋頭於一個 project ,稱為 linkname:MadButterfly http://www.assembla.com/spaces/MadButterfly/ ,定位為 SVG 為基礎的 $GUI$ 架構。更清楚的說,就是讓 application 可以用 SVG 畫出 $GUI$ ,透過 MadButterfly 呈現在螢幕上,並和使用者互動。這情況就和 Javascript 配合 DOM/HTML 所產生的效果類以,但將 HTML 改成 SVG ,將 Javascript 換成任何語言(可能)。也就是說, MadButterfly 呈現給 programmer 的,是一個只能瀏覽 SVG 的 browser ,並且可動態產生和修改顥示的內容,就和 Javascript 產生 Dynamic HTML 道理一樣。 這有什麼好處呢? linkname:[這段影片] http://osku.de/simsui/simsui-PROTOTYPE1_video_tutorial.ogg 可以說明其威力。該影片是由一位德國朋友所製作,他透過 clutter 實作了一個簡單的$範例$。而 MadButterfly 就是要提供這樣一個環境,讓 application 能釋放 SVG 的威力。 目前 MadButterfly 完成 SVG spec 裡的 * path * solid color paint * linear gradient paint 而 SVG 物件的狀態追縱和更新系統已完成,能自動針對有變動的物件,做畫面的部分更新,以改善效能。下圖是一個$範例$。 [attach:MadButterfly-demo.png] 目前 linkname:repository http://hg.assembla.com/MadButterfly (mercurial) 裡有一個$範例$ X_main ,能在 X 下面做一個簡單的動畫 demo 。但這個 demo 還很粗糙,效果上還有很大的調整空間。例如,目前是直接畫在 window ,因此會有閃爍的情況,可透過一個 buffer 來避免。 MadButterfly 目前只於 $FreeBSD$ 上測過, Makefile 也是針對 $FreeBSD$ 寫的 (非 gmake)。make 時需要 cairo 。 另外需要 CUnit ,以進行 unit $test$。 == TODO == * 補齊 SVG Tiny 1.2 內的其它 shape * 補齊 SVG Tiny 1.2 內的其它 paint * 改進執行效果 * $Linux$ 及其它平台的移植 * Language binding * Parser to translate SVG to internal representation
最後更新時間: 2008-08-02 23:56:05 CST |
引用
查詢:
COMMENTS: