2012-05-22 62 views
1

我想要移植一個Windows程序我正在致力於Linux。它完全使用d3d11來繪製它的輸出,所以我需要寫一個opengl替代。沒關係。但我需要創建一個窗口和一些基本操作,如調整大小,設置全屏,獲取用戶鍵盤和鼠標輸入的通知,以及關閉和調整通知大小。輕量級X窗口庫

我不需要任何子窗口或控件,因爲一切都是由opengl繪製的。

那麼什麼是適當的方法來做到這一點?我看着原始的Xlib,但它似乎相當低級別。我準備學習它,但所有的例子看起來都很古老,所以我不確定它是否仍然是最好的方法,並且會在用戶擁有的任何環境(kde,gnome等等)下工作。

我可以使用qt,kde等,但它們遠遠超過我需要的複雜度,因此引入了大量的依賴關係,如果可能,我寧願避免。

那麼,Xlib是一個合適的技術嗎,還是有其他一些我不知道的輕量級庫?

回答

1

看看SDL。這幾乎是像您這樣的應用程序的標準選擇。

+0

雖然這在技術上是可行的,而且是一個很好的答案,但我真的希望能夠靜態鏈接到我的程序中,並且只包含我需要的功能。另外,我並不完全確定lgpl許可證能夠滿足我的需求。這是一個很好的答案,我一定會研究。 – jcoder

+0

@JohnB我認爲SDL非常適合您的需求。要靜態鏈接的要求有些令人驚訝,你提到的替代方案(Qt等)當然不是你經常靜態鏈接的東西。 SDL很小(Win32 DLL是〜140 * KB *),所以它非常輕便。許可證應該沒問題,這就是LGPL的用途。 :) – unwind

+0

我當然打算嘗試它,並認爲它可能適合我。 – jcoder

0

它看起來像GLUT可以滿足您的需求。