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

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

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

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

在onWindowAttached里面调用set_sdl_window ();

bool YourPlugin::onWindowAttached(FB::AttachedEvent *evt, FB::PluginWindow *win)
{
    // The window is attached; act appropriately
    FB::PluginWindowWin *wnd = dynamic_cast<FB::PluginWindowWin*>(win);
    set_sdl_window (wnd->getHWND());
    // then run your code
    // ...
}

set_sdl_window
()的定义:

int set_sdl_window(HWND window)
{
    char windowid[20] = {0};
    char env[100] = {0};
    if (window != NULL) {
        SDL_ulltoa((Uint64)window, windowid, 10);
        sprintf(env, "SDL_WINDOWID=%s", windowid);
        SDL_putenv (env);
        return 0;
    }
    return 1;
}

然后创建出来的SDL窗体就是停靠在网页上面的。

时间: 2024-10-10 07:30:50

FireBreath设置SDL窗体停靠在网页上面的相关文章

黄聪:如何用代码设置控制自己网站的网页在360浏览器打开时强制优先使用极速模式,而非兼容模式

最近用360浏览器访问自己的网站,发现都是被优先选用兼容模式打开,这使得网站很难看.为了让360浏览器打开网站的时候优先试用极速模式,找了一下官方论坛,发现了解决方案. 在head标签中添加一行代码: <html> <head> <meta name="renderer" content="webkit|ie-comp|ie-stand"> </head> <body> </body> <

cocos2d-x3.0rc 版 设置模拟器窗体大小

由于刚接触这职业时间不是非常长.也是第一次写博客,假设有错误的地方还请大神们指出,开通这博客目的非常easy相互学习和讨论(更重要的是记录工作中学到的东西以方便以后自己查阅) 先后參与过两个项目.只是框架都是搭建好了,非常大一部分都已经完毕.当要用到的时候仅仅要复制后进行改动,都说程序员越懒前进的越快,后来我才懂得原来复制是高手在用的,我这样的菜鸟不适合.在复制中把非常多C++的东西都过滤掉了,晚上闲着没事就自己创建了个project,当我打开project却无从下手.我開始害怕... 原来我什

2014-07-25 设置Winform窗体滚动条位置

昨天那个小工具还差最后一步,就是那个图文并茂窗体. 拖几个GroupBox.Label.PictureBox控件,很快就做完了. 因为截图比较大,所以加了滚动条(设置 AutoScroll 属性为 True ). 但是发现一个问题,弹出这个窗体的时候,滚动条总是在最下边囧. 老程序员看了说:“这个没事儿,不用管”. 不过我看着总是感觉不爽,客户体验太差!而且最关键的是,我感觉这个应该很容易解决. 所以,我决定还是再改一下. 于是,我自信而又轻快地敲击键盘,写下了自以为可以轻松搞定这个问题的代码:

Android_Dialog_设置Dialog窗体的大小

/** * 设置Dialog窗体的大小 */ private void setWindowSize() { DisplayMetrics dm = new DisplayMetrics(); WindowManager m = getWindowManager(); m.getDefaultDisplay().getMetrics(dm); // 为获取屏幕宽.高 WindowManager.LayoutParams p = getWindow().getAttributes(); // 获取对

C# 全局热键设置 与 窗体热键设置

1. 窗体热键 首先要设置主窗体KeyPreview为true,可直接在属性中进行设置, 或者在窗体加载中设置: this.KeyPreview = true; 然后添加窗体KeyDown事件,如下: private void FrmMain_KeyDown(object sender, KeyEventArgs e) { if (e.Alt && e.Shift && e.Control && e.KeyCode == Keys.S) { MessageB

Blend 设置通明窗体

原文:Blend 设置通明窗体 这篇开始到下周周一 更新WPF blend 和MVVM模式的博客  因为新入职的公司主要去做WPF的工作 一边整理学习  一遍回顾   但是CSDN 限制每天10篇  存草稿 次日在更 第一篇 怎么用blend 设置通明窗体 1)用blend 创建一个WPF窗体 2)用铅笔 画一个图形 加入一个button和一个textblock 3)设置窗体为无画笔 窗体会成为透明 4)设置AllowsTransparency 属性为true 效果 原文地址:https://w

[Telerik]RadDocking第03篇 设置RadDocking的停靠指示器样式

一.演示概述 此演示展示了如何通过设置RadDocking的CompassStyle和RootCompassStyle来控制停靠罗盘指示器的停靠行为,从而方便的实现对面板的上下左右和居中的停靠. 相关下载(屏幕录像):http://yunpan.cn/cya8q8RgIG8py  提取码 cf15 在线播放:http://v.youku.com/v_show/id_XODc1OTcxMjI4.html 温馨提示:如果屏幕录像和代码不能正常下载,可站内留言,或发邮件到[email protecte

Java Swing设置主窗体位置居中方法

01.第一种方法 int windowWidth = frame.getWidth(); //获得窗体宽 int windowHeight = frame.getHeight(); //获得窗体高 Toolkit kit = Toolkit.getDefaultToolkit(); //定义工具包 Dimension screenSize = kit.getScreenSize(); //获取屏幕的尺寸 int screenWidth = screenSize.width; //获取屏幕的宽 i

[Telerik]RadDocking第04篇 设置面板的停靠状态IsPinned

一.演示概述 此演示展示了设置每个RadPane的IsPinned属性来控制面板是否被钉住,或者缩小到隐藏区域.所谓钉住面板,其实就是将面板固定住,而不是自动缩放到隐藏区域.通过将RadPane.IsPinned设置为True可以将面板固定住,设置为false则不固定面板,将其防止在停靠区域. 相关下载(屏幕录像):http://yunpan.cn/cKK5Irbpb9Lt6 提取码 2b04 在线播放:http://v.youku.com/v_show/id_XODc4MTIyNjg4.htm