FireBreath设置SDL窗体停靠在网页上面

本文介绍如何在FireBreath插件中正确设置SDL视频窗口的位置,使其能够准确地显示在网页上,而不是作为一个独立的浮动窗口。通过在onWindowAttached事件中调用set_sdl_window函数并传递正确的窗口句柄实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  这个针对在FireBreath里面使用SDL的窗体的一个说明。


    当时在FireBreath使用SDL播放视频,视频窗体没有停靠网页上面,而是想一个对话框一样的在外面漂浮着的


    找了好久,找到了一个相关的文章:

onWindowAttached里面调用set_sdl_window ();

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. bool YourPlugin::onWindowAttached(FB::AttachedEvent *evt, FB::PluginWindow *win)  
  2. {  
  3.     // The window is attached; act appropriately  
  4.     FB::PluginWindowWin *wnd = dynamic_cast<FB::PluginWindowWin*>(win);  
  5.     set_sdl_window (wnd->getHWND());  
  6.     // then run your code  
  7.     // ...  
  8. }  
set_sdl_window ()的定义:

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. int set_sdl_window(HWND window)  
  2. {  
  3.     char windowid[20] = {0};  
  4.     char env[100] = {0};  
  5.     if (window != NULL) {  
  6.         SDL_ulltoa((Uint64)window, windowid, 10);  
  7.         sprintf(env, "SDL_WINDOWID=%s", windowid);  
  8.         SDL_putenv (env);  
  9.         return 0;  
  10.     }  
  11.     return 1;  
  12. }  
然后创建出来的SDL窗体就是停靠在网页上面的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值