首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向SDL添加菜单,同时保持跨平台兼容。

向SDL添加菜单,同时保持跨平台兼容。
EN

Stack Overflow用户
提问于 2013-02-26 11:51:47
回答 1查看 1.1K关注 0票数 2

我目前正在用C编写一个模拟器,它完全基于SDL运行,使用SDL曲面来呈现和SDL事件。不过,现在我已经完成了模拟部分,我希望在窗口顶部添加一个菜单,比如窗口上的"File,Edit,Help“菜单。因此,我可以添加设置,加载rom等选项。

我见过一些实现,但它们都需要c++ (我知道c++,但从未与c++结合使用),或与windows交互。理想情况下,我想要的是使用一个多平台的图形用户界面,比如GTK+ (因为我已经有一些使用它的经验,这个程序可以在linux和windows上运行)。

我还读过一些关于能够将SDL表面作为GTK小部件的父函数,但是这似乎也不允许我使用SDL事件。

有谁知道实现这一目标的方法吗?

好的,所以我决定重新考虑几件事,一次只做一件事。目前,我正试图让Surface显示在GTK中,但是,由于SDL停留在其窗口,而不是gtk,它现在似乎没有什么不同。

代码语言:javascript
复制
GtkWidget *sdlsock;

gui.sdlsock = gtk_event_box_new();
gtk_widget_set_size_request(gui.sdlsock, 500, 300);
char winhack[1024];
sprintf( winhack, "SDL_WINDOWID=%ld", gtk_widget_get_window(sdlsock));
SDL_putenv( winhack );
screen = SDL_SetVideoMode(500, 300, 16, SDL_SWSURFACE);

我在这段代码中使用了Windows3.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-26 12:37:38

看来,根据这个答案:Embedding SDL into GTK需要做一些黑客操作才能将gtk事件注入SDL。除此之外,这看起来不太可能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15088419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档