Hello!
I’m developing a video player which is using SDL to render video and to play audio. My application is going to be cross-platform and i’m using gcc (and mingw on windows) to compile it. Everything is going fine. But i want to have some buttons (such as “Play”) and other widgets in my application. So i’ve started search on the internet how can i do it. First of all, i can use a lot of SDL-based ui frameworks. But all of them was developed to make UI in games, not in desktop applications. So these frameworks will always look ugly on desktop application and also there are no platform-depended widgets such as MainMenu. Next step i made was looking for solution which will be able to make working SDL with other UI frameworks such as wxWidgets, QT and GTK. So if to sum up the task it should look like this: draw UI widgets on the SDL_Surface. And here is my results:
wxWidgets:
In the wxWidgets there is an ugly hack here http://code.technoplaza.net/wx-sdl/part1/ , which doesn’t help me because: 1) it draws RGB images from SDL_Surface on the panel (all sdl’s power is useless here) 2) It doesn’t support SDL_Overlay which i’m using to render YUV images. 3) It doesn’t support YUV at all.
Also i found nice one library SDL_wx (http://sourceforge.jp/projects/azn-wind/releases/), which is doing all things i need, but last update was in 2007. I’ve built it, but test application is crashing on my Mac in sdlwxtest (i’m using wxWidgets 2.9.1, OS X 10.6). I tried to contact with author by e-mail, but his address is no longer valid I’m sure that problem should be solved easy here, but all my tries was unsuccessful to do it myself.
QT, GTK
No “union” libraries at all. Only hacks with window id, but they don’t work in mac afaik (http://forums.libsdl.org/viewtopic.php?t=4798&sid=068976e0f56f02ff4bed6ca96174eab8).
So is it really impossible to develop desktop applications with SDL? I’m sure that someone should faced with this problem. Is there any advice on how can i solve this problem?
Thank you, for attention!