Thursday, March 22, 2007

AGG: Anti-Grain Geometry

最近在學習AGG這個2D圖形library,覺得他真的很棒
反鋸齒的展示2D圖形在向量圖中的表現關係到整體感覺
AGG在這個方面表現的十分出色
AGG是一個用C++來實作的library,他用了大量的template來作泛型化設計
因此它的使用十分具有彈性
在跨平台上面他也是很棒
幾乎所有的code都是跨平台的
惟一與平台有關的是在OS event與drawing上面
因此他利用了一個類別稱為platform_support來處理與OS相關的
在platform_support裏面的platform_specific他只宣告它是一個類別
所有跟OS相關的資料結構妳可以宣告在這個類別中
因此將AGG放進目前不支援的drwaing library是非常簡單的
AGG目前有X11、SDL、Mac與win32的支援
我實作了DirectFB的支援,還挺容易的

AGG自己有一套control系統,現在已經有一些基本的control
譬如check box與slide-bar等等的控制元件
在字型顯示方面,他有提供freetype的支援
因此在文字顯示也不是問題
我試過utf-8的中文顯示很棒
但是在轉換unicode碼的部份妳要自己實作
不過這部份並不困難就是

結合AGG+DirectFB+SVG
或許可以有一些有趣的project可以玩玩歐

Wednesday, March 14, 2007

淺談OpenSER(三)

在整個openser.cfg中最重要的大概就是你怎麼處理route裏面的規則,這裡給你做一個簡單的示範。

通常一開始會先檢查SIP message是否是合法的,因此我們對SIP message的forward header與message長度作檢查.......繼續閱讀

Thursday, March 01, 2007

淺談OpenSER(二)

如果妳打開openser.cfg這個檔案,第1眼印象妳可能會以為它是一個script檔案,其實這樣說也沒有不對,但是之前說過這個script其實是lex的輸入文檔,因此妳必須滿足它的字彙規則,讓我們先簡單看一下這個檔案。

這個設定OpenSER的動作檔案簡單可以分成4個部份,分別如下......繼續閱讀