当前位置: 首页 > news >正文

营销网站建设专家江苏五星建设集团有限公司网站

营销网站建设专家,江苏五星建设集团有限公司网站,网站制作常见的问题,个人主页设计实验报告一#xff0c;如何显示窗口的内容#xff1f; 显示器用于在物理硬件#xff08;如计算机显示器或触摸屏显示器#xff09;上显示窗口的内容。 屏幕API提供的功能允许我们创建同时写入多个窗口和显示的应用程序。屏幕支持多个显示器#xff0c;但创建和管理使用多个显示器…一如何显示窗口的内容 显示器用于在物理硬件如计算机显示器或触摸屏显示器上显示窗口的内容。 屏幕API提供的功能允许我们创建同时写入多个窗口和显示的应用程序。屏幕支持多个显示器但创建和管理使用多个显示器的应用程序可能会非常棘手。你需要考虑线程、性能和图形优化。显示器彼此独立每个窗口只能与一个显示器相关联。 我们可以在配置文件graphics.conf中提供要应用于平台支持的物理显示器的配置。有关更多信息请参阅配置屏幕。 二显示器 显示器通常由窗口管理器控制。但是在没有窗口管理器的情况下应用程序可以选择显示器。 2.1 默认显示器 Screen使用默认显示的概念。默认显示是Screen在没有明确指定与窗口关联的显示时进行显示的显示。 要配置要作为默认显示的显示器请在图形配置文件例如graphics.conf的全局子部分中指定默认显示参数。有关更多信息请参阅“配置屏幕”。如果在配置时未指定默认显示Screen将指定默认显示。 默认显示始终是使用SCREEN_PROPERTY_DISPLAYS属性调用screen_get_context_property_pv()后检索到的显示列表中的第一个元素。要确定默认显示 2.1.1 使用 SCREEN_PROPERTY_DISPLAY_COUNT 属性检索上下文中的显示器数量。 例如 ... int ndisplays 0; screen_context_t screen_ctx; ... screen_get_context_property_iv(screen_ctx, SCREEN_PROPERTY_DISPLAY_COUNT, ndisplays); ... 2.1.2 使用查询返回的显示器数量分配足够的内存来检索指向 screen_display_t 的指针数组。 例如 screen_display_t *screen_dpy calloc(ndisplays, sizeof(screen_display_t)); 2.1.3 从指针数组中检索第一个元素以获取上下文的默认显示 例如screen_dpy[0]。 2.2 枚举显示器 你需要从了解在你的环境中可以使用的显示器是什么以及有多少个显示器开始。 2.2.1 连接Screen后使用SCREEN_PROPERTY_DISPLAY_COUNT属性获取上下文中可用的显示器数量 在上下文中使用带有SCREEN_PROPERTY_DISPLAY_COUNT属性的screen_get_context_property_iv()函数。 int ndisplays 0; screen_context_t screen_ctx; ... screen_get_context_property_iv(screen_ctx, SCREEN_PROPERTY_DISPLAY_COUNT, ndisplays); ... 2.2.2 使用查询返回的显示器数量分配足够的内存来检索指向 screen_display_t 的指针数组。 screen_display_t *screen_dpy calloc(ndisplays, sizeof(screen_display_t)); 2.2.3 在上下文中获得可用显示器的数量后即可检索显示器数组 screen_get_context_property_pv(screen_ctx, SCREEN_PROPERTY_DISPLAYS, (void **)screen_dpy); 如果你使用多个显示器你可能希望使用某种数据结构来跟踪你的显示器和每个显示器的状态。例如 struct {pthread_mutex_t mutex;pthread_cond_t cond;enum { detached, attached, focused } state; } *displays;displays calloc(ndisplays, sizeof(*displays)); 在上面的例子中每个显示器的结构除了显示器的状态外还跟踪互斥量和条件对象。这个例子跟踪显示器的三种状态分离、连接和聚焦。你的应用程序会影响你需要跟踪的显示状态。显示属性SCREEN_PROPERTY_ATTACHED为你提供了显示器的连接或分离状态但如果你也在跟踪该状态你必须从你的应用程序中确定哪个显示器是焦点。 2.2.4 迭代此显示列表以确定每个显示器的状态。显示器的状态可以通过其SCREEN_PROPERTY_ATTACHED属性来确定。此属性指示显示器当前是否已连接。虽然显示器可能存在于上下文中但它可能没有连接连接和可用例如使用HDMI电缆的显示器。 对于每个连接的显示器本示例初始化一个互斥量并调用pthread_create()来创建一个新线程以处理该显示器特有的渲染。它向新线程传递一个处理该显示器图形操作的启动例程。本示例中使用的方法有助于使用多个显示器。如果你生成一个子线程来处理每个显示器的处理每个显示器将在自己的进程中写入和更新。这允许图形处理器处理密集操作并确保如果发生错误或显示器分离应用程序本身不会失败。 int i, idx -1; for (i 0; i ndisplays; i) {int active 0;screen_get_display_property_iv(screen_dpy[i], SCREEN_PROPERTY_ATTACHED, active);if (active) {if (idx -1) {displays[i].state focused;idx i;} else {displays[i].state attached;}} else {displays[i].state detached;}pthread_mutex_init(displays[i].mutex, NULL);pthread_cond_init(displays[i].cond, NULL);pthread_t thread;pthread_create(thread, NULL, display, (void *)i); } 在上面的例子中display()函数作为线程的启动例程传递进来。该函数负责设置显示和窗口然后锁定互斥量以确定当前显示是否处于活动状态并具有焦点。该函数还发布窗口以便显示其内容。
http://www.hkea.cn/news/14331383/

相关文章:

  • 官方网站如何建设网上怎么卖东西
  • 自己如何做网站建设网站建设文化效果
  • 网站数据库安装教程中国纪检监察报记者电话
  • 网站pc端和手机端分离怎么做泰安市人才交流服务中心
  • delphi xe10网站开发怎么用wordpress建手机网站
  • 2021网站你懂我意思正能量宽带哪家好
  • 网站开发项目详细计划书如何在自己电脑上做网站服务器
  • 在那个网站做推广实用主题之家wordpress
  • 网站建设导航免费wordpress模板下载
  • 爱站关键词网站seo优化服务商
  • 上海企业网站建设公司怎么建设网站空间和备案
  • 基于云平台网站群建设网站建设众包平台
  • 制作好昆明搜索引擎的关键词优化
  • 如何制作论坛网站百度账号官网
  • 网站建设与设计ppt模板南乐网站开发
  • 专业创业服务平台网站建设需求wordpress 漂亮主题
  • 手机网站客户端网络设计方案ppt
  • 中文网站建设英文sns网站开发
  • 校园二手市场网站开发的意义企业信息管理系统案例
  • 社区网站建设申请报告惠州制作公司网站
  • wordpress主题背景插件seo查询工具有哪些
  • 做相亲网站的安全责任WordPress数据库授权
  • 网页制作与网站建设实战教程squarespace wordpress
  • 帝国cms网站搬家教程潍坊seo建站
  • 商丘网站建设流程电子商务网站建设背景
  • 毕设DW做网站的过程专业网站建设工作室
  • 苏州做网站公司认定苏州聚尚网络网络工程师面试题
  • 淮安市建设局网站深圳关键词快速排名
  • 网站每天点击量多少好网络彩票的网站怎么做
  • 重庆网站建设推广服务女生适合前端还是后端