DirectFB兩則技巧

2021-04-06 14:29:56 字數 1828 閱讀 8358

directfb

兩則技巧

directfb

的執行行為可以通過配置檔案進行控制,可以從多個配置檔案中讀出配置資訊,然後合併到一起,甚至可以對不同名稱的應用程式指定不同的配置檔案。其主配置檔案為

/etc/direcfbrc

,它的內容影響所有使用者的應用程式。 建立

pc模擬環境。

directfb

和x window

都是獨佔顯示裝置的,在通常的情況下,

directfb

執行時,

x window

就不能執行,反之亦然。當然,輸入裝置,如鍵盤、滑鼠等也是獨佔裝置,不能被

directfb

和x window

同時使用。

當我們用

directfb

開發嵌入式軟體時,要使用

x window

下的ide

的工具(如

glade

),同時又需要在

pc模擬執行開發的程式。此時,由於

x window

已經在執行,再執行

directfb

程式就會發生衝突。

怎麼辦呢?

directfb

的天才作者們早就想到這一點,

directfb

把後端(輸入裝置和顯示裝置)做了抽象,與

directfb

主體是分開的。

directfb

主體並不依賴於具體的物理設定,它可以利用

sdl、

x11、

vnc等作為後端。

所以要建立

pc模擬環境,是輕而易舉的事情。我們可以利用

x window

的輸入事件作為輸入裝置,利用

x window

的視窗作為顯示裝置。更進一步,可以利用

xnest(

見筆者另外一篇文章

),這樣就可以模擬不同螢幕大小的裝置,看到比較真實的外觀效果。選擇

x window

作為後端,可以使用下列引數:

system=x11

使用不同的視窗管理器。

directfb

的視窗管理器做得比較弱,它畢竟是針對嵌入式裝置的,我們沒有必要苛求。它自帶兩種不同的視窗管理器,可以根據自己的需要選擇。乙個稱為

default

,顧名思義,它是預設的視窗管理器,另外乙個稱為

unique

,功能更強一點。

default

只提供了最基本的視窗管理功能,如:

l視窗棧管理,提供諸如向棧中插入視窗、刪除棧中的視窗、調整視窗在棧的

z-order

位置等。

l輸入事件管理,根據輸入事件,切換焦點視窗,把訊息投遞到對應的視窗等功能。

l還提供了一些快捷操作方式,如關閉視窗,移動視窗等。

unique

除了提供

default

具有的基本功能外,還提供了:

l視窗裝飾功能,可以顯示視窗標題欄,四周邊框、四角圓角化等,但不能顯示標題本身(居然沒有這個基本功能!)。

l桌面背景

/顏色,可以設定桌面的背景

/顏色。這對於

demo

來說,會好看一點,但對於實際應用來說,作用不大。因為實際的桌面和

directfb

的桌面是兩個不同的物件。

l除錯功能,如顯示視窗棧中的視窗等。

l更重要的是,它相當於乙個框架,你可以在此基礎上擴充套件其它自己需要的功能。

選擇不同的視窗管理器,可以使用下列引數:

wm=default

或者wm=unique

man 使用技巧兩則

2007 09 08 toy posted in tips rss trackback 記得我初學 linux 使用時,首先了解的就是如何在 linux 系統中獲得幫助的課程。當然,這其中少不了 man 命令的介紹。今天,在 linux.com 讀到一篇介紹 man 使用技巧的文章,個人感覺很受用,...

兩則C語言技巧

兩則 c語言技巧 以前用 c 時,喜歡去玩一些語法上的技巧,每學到乙個技巧都高興得不得了,總是想找個地方用它,以顯示自己的水平。其實我們應該更關心技巧的實用價值,如果一項技巧很巧妙,但很少用它,忘掉了也不必覺得可惜。最近發現兩則 c語言技巧,以前沒有用過,覺得有些實用價值,做個筆記吧。1.陣列初始化...

兩則glib使用技巧

兩則glib使用技巧 作者 李先靜 1.用valgrind檢測glib的記憶體錯誤。前段時間我們發現乙個daemon總是隨機的crash,對於這種隨機的crash的bug,我們自然會想到是記憶體越界問題引起的。但是用valgrind檢測卻沒有發現任何錯誤,那部分 比較複雜,結果花了幾天也沒有發現任何...