2016-11-02 61 views
0

我正在開發用於所有輸出使用Linux幀緩衝區的嵌入式目標的代碼,但如果我可以從Xcode調試我的大部分開發,則會更容易。除了framebuffer代碼和事件處理以外,其他所有東西都可以在Xcode下正確編譯,而且現在我可以在沒有事件處理的情況下運行。需要將簡單的幀緩衝區代碼從Linux移植到OS X

目前,我發現自己在Objective-C和Swift的大門以及iOS信息過多的情況下受挫。我當天對Mac工具箱非常熟悉,但這在這裏沒有幫助。

我在找什麼?我需要一個指向內存的指針,可以顯示在窗口中的1920 x 1080幀緩衝區。 32位RGBA組織會很好,但我可以容納其他壓縮像素方案和其他顏色深度。我已經在Mac上做了大量搜索framebuffer的例子,但幾乎總是與OpenGL(聽起來像嚴重的矯枉過正)或屏外繪圖(這不會直接幫助我)結果有關,和/或專門針對iOS(與OS X似乎有略微不同的框架)。我相信Core Graphics可以做我所需要的,但是文檔充滿了背景信息,我找不到我真正需要的東西。

任何人都可以建議一種方法或指向我來示例代碼,甚至是適當的非iOS文檔?如果聽起來像我採取了錯誤的做法,我也開放其他選項。

+1

在這種情況下,SDL能夠幫助您嗎?相對簡單的圖書館;應該讓你有類似於幀緩衝的東西。 – Petesh

+0

@Petesh這是一個非常有趣的想法。我知道SDL不會爲項目本身工作,因爲在Linux下我不會有X11,但這並不意味着我無法使用SDL進行開發。 –

+0

@Petesh SDL看起來很適合這個用途。如果你讓這個答案,我會接受它。 –

回答

1

作爲一個簡單的替代方案,爲了學習Cocoa/Objective-C的複雜性以獲得FrameBuffer樣式窗口,在SDL框架中有一個很好的選擇,它是一個跨平臺的庫,用於提供簡單訪問低級功能,如圖形,聲音等。

它可用於Linux和Mac,並且應該提供一種至少模擬開發人員測試的FrameBuffer的方法。

取決於您使用的嵌入式Linux;您可能能夠編譯SDL的一個版本,直接在物理硬件上與幀緩衝區進行通信 - the SDL installation instructions提到了對樹莓派的直接顯示支持,因爲well as at least one blog entry詳細描述了在其系統上構建它。

+0

這將適用於我的情況。謝謝。 –