我发现freeglut全屏效果很好,即使在托管基于着色器的opengl应用程序里面也是如此。 这里是被调用的内部代码(X11分支......)。 HTH

#define _NET_WM_STATE_TOGGLE 2

static int fghResizeFullscrToggle(void)

{

XWindowAttributes attributes;

if(glutGet(GLUT_FULL_SCREEN)) {

/* restore original window size */

SFG_Window *win = fgStructure.CurrentWindow;

fgStructure.CurrentWindow->State.NeedToResize = GL_TRUE;

fgStructure.CurrentWindow->State.Width = win->State.OldWidth;

fgStructure.CurrentWindow->State.Height = win->State.OldHeight;

} else {

/* resize the window to cover the entire screen */

XGetWindowAttributes(fgDisplay.Display,

fgStructure.CurrentWindow->Window.Handle,

&attributes);

/*

* The "x" and "y" members of "attributes" are the window's coordinates

* relative to its parent, i.e. to the decoration window.

*/

XMoveResizeWindow(fgDisplay.Display,

fgStructure.CurrentWindow->Window.Handle,

-attributes.x,

-attributes.y,

fgDisplay.ScreenWidth,

fgDisplay.ScreenHeight);

}

return 0;

}

static int fghEwmhFullscrToggle(void)

{

XEvent xev;

long evmask = SubstructureRedirectMask | SubstructureNotifyMask;

if(!fgDisplay.State || !fgDisplay.StateFullScreen) {

return -1;

}

xev.type = ClientMessage;

xev.xclient.window = fgStructure.CurrentWindow->Window.Handle;

xev.xclient.message_type = fgDisplay.State;

xev.xclient.format = 32;

xev.xclient.data.l[0] = _NET_WM_STATE_TOGGLE;

xev.xclient.data.l[1] = fgDisplay.StateFullScreen;

xev.xclient.data.l[2] = 0; /* no second property to toggle */

xev.xclient.data.l[3] = 1; /* source indication: application */

xev.xclient.data.l[4] = 0; /* unused */

if(!XSendEvent(fgDisplay.Display, fgDisplay.RootWindow, 0, evmask, &xev)) {

return -1;

}

return 0;

}

static int fghToggleFullscreen(void)

{

/* first try the EWMH (_NET_WM_STATE) method ... */

if(fghEwmhFullscrToggle() != -1) {

return 0;

}

/* fall back to resizing the window */

if(fghResizeFullscrToggle() != -1) {

return 0;

}

return -1;

}

#endif /* TARGET_HOST_POSIX_X11 */

linux上使用glx例子,c++ - X11 / GLX - 全屏模式? - 堆栈内存溢出相关推荐

  1. 在linux运行math_neon库,linux - 仅使用带交叉编译器的本地库 - 堆栈内存溢出

    我正在尝试在linux上使用交叉编译器构建一个应用程序. 应用程序基于OpenEmbedded项目. 编译器和所有交叉编译的库都位于build文件夹中. 但是对于一个包构建脚本试图使用我的linux环 ...

  2. linux中不识别memcy,c - Linux设备驱动程序:找不到符号“memcpy” - 堆栈内存溢出...

    我正在尝试编写Linux设备驱动程序. 我已经让它工作得很好,直到我尝试使用"memcpy". 我甚至没有得到编译器错误,当我"制造"它只是警告我: WARNI ...

  3. java ftp上传超时_java - Java FTP连接超时 - 堆栈内存溢出

    我正在做一个项目,修改后,稍后会将一些文件上传到FTP服务器...除了弄清楚文件的上传之外,我什么都没有. 我可以成功连接到FTP服务器,但是一旦文件上传,该程序将挂起几分钟,然后显示超时. java ...

  4. android 切换字体崩溃,androidx - 在Android 10 / Android Q上使用捆绑的ttf字体时崩溃 - 堆栈内存溢出...

    将我的Android应用的目标级别从28更新为29(Android 10)后,该应用在Pixel 3(使用Android 10)上崩溃了. 使用的版本 Android Gradle插件3.5.0 摇篮 ...

  5. Linux内存申请失败失败会怎样,linux - 转储失败,因为无法加载资产 - 堆栈内存溢出...

    我想在我的.bashrc Ubuntu 18.04上创建别名以构建和安装APK,但是在这样的终端中遇到问题 W/asset (22684): Asset path ./app/build/output ...

  6. python打开xlsm,python - 使用python在excel xlsm上写数组时拒绝Errno 13权限 - 堆栈内存溢出...

    我正在尝试通过以下公式将协方差矩阵粘贴到现有xlsm文件上,但是它不起作用. Cov Matrix是一个数组. 你能帮我吗? Error I get is: [Errno 13] Permission ...

  7. android捕获线程异常,android - 终结器引发的未捕获的异常:所有WebView方法必须在同一线程上调用。 (预期的Looper) - 堆栈内存溢出...

    我正在使用Admob SDK 18.1.1 并获得错误终结器抛出未捕获的异常 java.lang.RuntimeException: java.lang.Throwable: A WebView me ...

  8. Linux上 Can‘t connect to X11 window server using XX as the value of the DISPLAY 错误解决方法

    Linux上 Can't connect to X11 window server using XX as the value of the DISPLAY 错误解决方法 参考文章: (1)Linux ...

  9. js堆和栈的区别_几个例子理解不同数据类型的堆栈内存处理

    如有错误烦请指正 js代码的运行环境 浏览器 内核(引擎) node webview(hybrid,嵌入到手机app里面,在app里面运行) ... 下面通过几个例子理解不同数据类型的堆栈内存处理 j ...

最新文章

  1. 小分子蛋白Western blot 检测
  2. cxf环境搭建与第一个项目
  3. matplotlib旋转y轴标题为垂直方向
  4. gitlab 删除分支_如何删除gitlab上默认受保护的master主分支
  5. 结构设计模式 - 装饰器设计模式
  6. 【算法】插值查找算法
  7. Atitit xml转json总结 目录 1.1. XML和JSON之间没有直接映射;元素类型问题 1 1.2. Xml与json的对应关系 2 1.3. 范例 2 2. Jsonlib的问题,,不
  8. 编译原理第四章课后题
  9. TryJquery- 14个jquery视频
  10. html菜鸟教程之HTML新手如何快速入门及HTML类的概述[图]
  11. c语言盆子接球游戏,适合幼儿园孩子的70个感统训练游戏(开发右脑)
  12. python的def什么意思_「Python基础」def是什么?如何自定义函数def
  13. (全过程)如何制作论坛网站,怎样免费制作论坛,制作论坛教程
  14. DOM操作简易年历案例
  15. 爱荷华州立大学计算机专业,爱荷华州立大学|Iowa State University|Department of Electrical and Computer Engineering_毕达留学...
  16. pyhon编码问题之由 u'\uxxx' 转 \uxxx
  17. js调用(前/后)摄像头,截取照片,关闭摄像头
  18. java粒子特效_Java学习之粒子系统
  19. 究竟是什么,决定了一个人的成就!醍醐灌顶!
  20. Protected Sky黑名单移除攻略

热门文章

  1. 阿里云服务器网络收发包PPS多少合适?
  2. MOM 系统介绍,带你了解 JMS 规范
  3. 无法附加到进程。Visual Studio 2015 远程调试器(MSVSMON.EXE)似乎没有在远程计算机上运行。
  4. 16. Fabric2.2 区块链农产品溯源系统 - 区块链浏览器部署(Fabric Explorer)
  5. vue+koa2 美团开发实战3-首页分析
  6. ubuntu桌面卡住
  7. 女生如何追男神(罗辑思维2014年第四期)——手抄版
  8. 隐Box源码4.9.9版本/2022年最新
  9. java 调用阿里云短信接口,报InvalidTimeStamp.Expired : Specified time stamp or date value is expired.
  10. Jenkins插件介绍