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

1.1 【应用开发】应用开发简介

写在前面

Screen图形子系统基于客户端/服务器模型,其中应用程序是请求图形服务的客户端(Screen)。它包括一个合成窗口系统作为这些服务之一,这意味着所有应用程序渲染都是在离屏缓冲区上执行的,然后可以在稍后用于更新显示。

一,Screen架构

Screen支持硬件加速的应用程序渲染和硬件加速的合成。Screen还设计为支持执行软件渲染的应用程序。

Screen有一个插件架构。它加载特定于硬件的模块以获得对资源(如显示控制器、2D和3D加速器(GPU)和输入设备)的访问权限。

二,ScreenAPI

Screen API主要通过不同的组件提供对图形功能的访问。这些组件每个都为应用程序提供特定的功能。

除了event之外,所有Screen API组件都必须与上下文相关联。所有Screen应用程序的第一步是创建Screen上下文。例如:

screen_context_t screen_ctx;
screen_create_context(&screen_ctx, SCREEN_APPLICATION_CONTEXT);

此上下文在应用程序和Screen之间建立连接。没有此连接,应用程序无法与Screen通信以访问任何功能。

2.1Buffer 缓冲区

缓冲区是存储像素数据的内存区域。尽管可以在上下文的范围内创建缓冲区,但除非将其附加到窗口、流或位图,否则Screen无法使用它。

多个缓冲区可以与窗口或流关联,但只有一个缓冲区可以与位图关联。

2.2 Context 上下文

上下文为窗口环境中的图形操作提供设置。

除event外,所有其他API对象都是在上下文的范围内创建的,对这些对象的访问总是相对于与该对象关联的上下文进行的。你可以识别和访问对象(例如,窗口、组、显示器、位图)以设置或更改它们的属性和特性。

设备、显示器和窗口依赖于与事件、组和位图直接相关的上下文。

2.3 Device 设备

设备指的是输入设备。此输入设备(例如,键盘、鼠标、游戏杆、游戏手柄和多点触控)可以与特定显示器关联。

2.4 Display 显示器

显示器指的是向用户呈现图像的物理设备,如触摸屏或物理Screen。使用特定于显示器的API组件,你可以访问显示属性。这些属性包括诸如供应商、显示技术和视频模式之类的信息。

2.5 Event 事件

事件包括窗口创建、设置属性、键盘事件和触摸事件等操作。Screen API管理每个上下文的一个事件队列。但是,可以创建与上下文无任何关联的事件。

2.6 Group 组

组用于在你的应用程序中组织和管理多个窗口。组在属于同一组的窗口的属性之间建立继承关系;因此,对窗口组的某些属性进行更改会影响属于该组的所有窗口。父窗口创建一个组,以便子窗口可以加入。子窗口继承其父级的属性,但也具有可以独立于其父级设置和检索的属性。

2.7 Pixmap位图

位图是离屏渲染目标。其内容只有通过将其复制到窗口缓冲区才能可见。这可以通过使用本机blit Screen API函数来完成,也可以通过将位图用作OpenGL ES纹理来完成。

2.8 Session会话

输入会话允许应用程序控制如何将原始事件处理为更高级别的事件。会话允许您的应用程序捕获特定于某个区域、设备或Screen事件类型的事件;它提供了比仅通过窗口实现的对输入事件分派的更多控制。

2.9 Stream流

流允许组件生成和处理图形内容。使用流,不必将图形内容与显示器关联。内容可以被除Screen外的其他组件使用。但是,这些组件仍然可以使用Screen来显示内容。

2.10 Window 窗口

窗口代表绘图表面,其内容针对显示器而定位。有多种类型的窗口(应用程序窗口、子窗口和嵌入式窗口)以适应内容的显示组织。

三,Screen应用程序示例

相关文章:

1.1 【应用开发】应用开发简介

写在前面 Screen图形子系统基于客户端/服务器模型,其中应用程序是请求图形服务的客户端(Screen)。它包括一个合成窗口系统作为这些服务之一,这意味着所有应用程序渲染都是在离屏缓冲区上执行的,然后可以在稍后用于更新…...

在windows系统搭建LVGL模拟器(codeblock工程)

1.codeblock准备 下载codeblock(mingw),安装。可参考网上教程。 2.pc_simulator_win_codeblocks 工程获取 仓库地址:lvgl/lv_port_win_codeblocks: Windows PC simulator project for LVGL embedded GUI Library (github.com) 拉取代码到本地硬盘&…...

2023第十四届蓝桥杯国赛 C/C++ 大学 B 组

文章目录 前言试题 A: 子 2023作者思考题解答案 试题 B: 双子数作者思考题解 试题 C: 班级活动作者思考题解 试题 D: 合并数列作者思考题解 试题 E: 数三角作者思考题解 试题 F: 删边问题作者思考题解 试题 G: AB 路线作者思考题解 试题 H: 抓娃娃作者思考题解 试题 I: 拼数字试…...

如何在页面中加入百度地图

官方文档&#xff1a;jspopularGL | 百度地图API SDK (baidu.com) 添加一下代码就可以实现 <!DOCTYPE html> <html> <head><meta name"viewport" content"initial-scale1.0, user-scalableno"/><meta http-equiv"Conten…...

Windows VC++提升当前进程权限到管理员权限

Windows VC提升当前进程权限 Windows VC提升当前进程权限到管理员权限 Windows VC提升当前进程权限到管理员权限 有时候Windows下我们需要提升当前进程的权限到管理员权限&#xff0c;相关VC代码如下&#xff1a; #ifndef SAFE_CLOSE_HANDLE #define SAFE_CLOSE_HANDLE(handl…...

算法leetcode|92. 反转链表 II(rust重拳出击)

文章目录 92. 反转链表 II&#xff1a;样例 1&#xff1a;样例 2&#xff1a;提示&#xff1a;进阶&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a; 92. 反转链表 II&#xff1a; 给你单链表的…...

Chapter 7 - 3. Congestion Management in Ethernet Storage Networks以太网存储网络的拥塞管理

Pause Threshold for Long Distance Links长途链路的暂停阈值 This section uses the following basic concepts: 本节使用以下基本概念: Bit Time (BT): It is the time taken to transmit one bit. It is the reciprocal of the bit rate. For example, BT of a 10 GbE po…...

优雅玩转实验室服务器(二)传输文件

使用服务器最重要的肯定是传输文件了&#xff0c;我们不仅需要本地的一些资源上传到服务器&#xff0c;好进行实验&#xff0c;也需要将服务器计算得到的实验结果传输到本地&#xff0c;来进行预览或者报告撰写。 首先&#xff0c;由于涉及到服务器操作&#xff0c;我强烈推荐…...

动态面板简介以及ERP原型图案列

动态面板简介以及ERP原型图案列 1.Axure动态面板简介2.使用Axure制作ERP登录界面3.使用Asure完成左侧菜单栏4.使用Axuer完成公告栏5.使用Axuer完成左边侧边栏 1.Axure动态面板简介 在Axure RP中&#xff0c;动态面板是一种强大的交互设计工具&#xff0c;它允许你创建可交互的…...

漏刻有时百度地图API实战开发(12)(切片工具的使用、添加自定义图层TileLayer)

TileLayer向地图中添加自定义图层 var tileLayer new BMap.TileLayer();tileLayer.getTilesUrl function (tileCoord, zoom) {var x tileCoord.x;var y tileCoord.y;return images/tiles/ zoom /tile- x _ y .png;}var lockMap new BMap.MapType(lock_map, tileLaye…...

python 爬虫 m3u8 视频文件 加密解密 整合mp4

文章目录 一、完整代码二、视频分析1. 认识m3u8文件2. 获取密钥&#xff0c;构建解密器3. 下载ts文件4. 合并ts文件为mp4 三、总结 一、完整代码 完整代码如下&#xff1a; import requests from multiprocessing import Pool import re import os from tqdm import tqdm fro…...

mybatis中xml文件容易搞混的属性

目录 第一章、1.1&#xff09;MyBatis中resultMap标签1.2&#xff09;MyBatis的resultType1.3&#xff09;MyBatis的parameterType1.4&#xff09;type属性1.5&#xff09;jdbcType属性1.6&#xff09;javaType属性1.7&#xff09;ofType属性 友情提醒: 先看文章目录&#xff…...

android Retrofit2.0请求 延长超时操作

import okhttp3.OkHttpClient; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory;public class MyApiClient {private static final String BASE_URL "https://api.example.com/";// 创建 OkHttpClient&#xff0c;并设置超时时间…...

Axure之动态面板轮播图

目录 一.介绍 二.好处 三.动态面板轮播图 四.动态面板多方式登录 五.ERP登录 六.ERP的左侧菜单栏 七.ERP的公告栏 今天就到这了哦&#xff01;&#xff01;&#xff01;希望能帮到你了哦&#xff01;&#xff01;&#xff01; 一.介绍 Axure中的动态面板是一个非常有用的组…...

一文读懂算法中的时间复杂度和空间复杂度,O(1)、O(logn)、O(n)、O(n^2)、O(2^n) 附举例说明,常见的时间复杂度,空间复杂度

时间复杂度和空间复杂度是什么 时间复杂度&#xff08;Time Complexity&#xff09;是描述算法运行时间长短的一个度量。空间复杂度&#xff08;Space Complexity&#xff09;是描述算法在运行过程中所需要的存储空间大小的一个度量。 时间复杂度和空间复杂度是衡量算法性能…...

LWIP热插拔功能实现

0 工具准备 1.lwip 1.4.1 2.RTOS&#xff08;本文使用rt-thread&#xff09;1 使能连接变化回调功能 打开lwipopts.h&#xff0c;将宏定义LWIP_NETIF_LINK_CALLBACK的值设为1&#xff0c;如下&#xff1a; #define LWIP_NETIF_LINK_CALLBACK 1这个宏定义被使能后会将…...

android下的app性能测试应主要针对那些方面,如何开展?

如何开展安卓手机下的App性能测试&#xff0c;对于优秀的测试人员而言&#xff0c;除了要懂得性能测试的步骤流程外&#xff0c;还应该懂的性能测试的一些其他知识&#xff0c;比如性能测试指标、各指标的意义&#xff0c;常用的性能测试工具、如何查看结果分析等等知识。所以本…...

【深度学习】注意力机制(二)

本文介绍一些注意力机制的实现&#xff0c;包括EA/MHSA/SK/DA/EPSA。 【深度学习】注意力机制&#xff08;一&#xff09; 【深度学习】注意力机制&#xff08;三&#xff09; 目录 一、EA&#xff08;External Attention&#xff09; 二、Multi Head Self Attention 三、…...

学习黑马vue

项目分析 项目下载地址&#xff1a;vue-admin-template-master: 学习黑马vue 项目下载后没有环境可参考我的篇文章&#xff0c;算是比较详细&#xff1a;vue安装与配置-CSDN博客 安装这两个插件可格式化代码&#xff0c;vscode这个软件是免费的&#xff0c;官网&#xff1a;…...

gdb本地调试版本移植至ARM-Linux系统

移植ncurses库 本文使用的ncurses版本为ncurses-5.9.tar.gz 下载地址&#xff1a;https://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz 1. 将ncurses压缩包拷贝至Linux主机或使用wget命令下载并解压 tar-zxvf ncurses-5.9.tar.gz 2. 解压后进入到ncurses-5.9目录…...

《Linux C编程实战》笔记:实现自己的ls命令

关键函数的功能及说明 1.void display_attribute(struct stat buf,char *name) 函数功能&#xff1a;打印文件名为name的文件信息&#xff0c;如 含义分别为&#xff1a;文件的类型和访问权限&#xff0c;文件的链接数&#xff0c;文件的所有者&#xff0c;文件所有者所属的组…...

Python个人代码随笔(观看无益,请跳过)

异常抛错&#xff1a;一般来说&#xff0c;在程序中&#xff0c;遇到异常时&#xff0c;会从这一层逐层往外抛错&#xff0c;一直抛到最外层&#xff0c;由最外层把错误显示在用户终端。 try:raise ValueError("A value error...") except ValueError:print("V…...

Unity中实现ShaderToy卡通火(总结篇)

文章目录 前言一、把卡通火修改为后处理效果1、在Shader属性面板定义属性接收帧缓存纹理2、在片元着色器对其纹理采样后&#xff0c;与卡通火相加输出请添加图片描述 二、我们自定义卡通火1、修改 _CUTOFF 使卡通火显示在屏幕两侧2、使火附近屏幕偏红色 前言 在之前的文章中&a…...

等保2.0的变化

1法律地位得到确认 《中华人民共和国网络安全法》第21条规定“国家实行网络安全等级保护制度”&#xff0c;要求“网络运营者应当按照网络安全等级保护制度要求&#xff0c;履行安全保护义务”&#xff1b;第31条规定“对于国家关键信息基础设施&#xff0c;在网络安全等级保护…...

漏洞复现-网神SecGate3600防火墙敏感信息泄露漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…...

ArkTS入门

代码结构分析 struct Index{ } 「自定义组件&#xff1a;可复用的UI单元」 xxx 「装饰器&#xff1a;用来装饰类结构、方法、变量」 Entry 标记当前组件是入口组件&#xff08;该组件可被独立访问&#xff0c;通俗来讲&#xff1a;它自己就是一个页面&#xff09;Component 用…...

JS中for循环之退出循环

我为大家介绍一下退出循环的两种方法 1.continue 退出本次循环&#xff0c;一般用于排除或者跳过某一个选项的时候&#xff0c;可以使用continue for(let i 0;i<5;i){if(i 3){continue}// 跳过了3console.log(i) //0 1 2 4}2.break 退出整个for循环&#xff0c;一般用于…...

《Global illumination with radiance regression functions》

总结一下最近看的这篇结合神经网络的全局光照论文。 论文的主要思想是利用了神经网络的非线性特性去拟合全局光照中的间接光照部分&#xff0c;采用了基础的2层MLP去训练&#xff0c;最终能实现一些点光源、glossy材质的光照渲染。为了更好的理解、其输入输出表示如下。 首先…...

华南理工C++试卷

诚信应考 , 考试作弊将带来严重后果&#xff01; 《C程序设计试卷》 注意事项&#xff1a;1. 考前请将密封线内填写清楚&#xff1b; 2. 所有答案请答在试卷的答案栏上&#xff1b; 3&#xff0e;考试形式&#xff1a;闭卷 4. 本试卷共 五 大题&#xff0c;满分100分&#xff…...

0001.WIN7(64位)安装ADS1.2出现L6218错误

用了十多年的笔记本电脑系统出现问题&#xff0c;硬件升级重装以后安装ADS1.2。在编译代码的时候出现L6218错误。如下&#xff1a; 图片是从网上找的&#xff0c;我编译出错的界面没有保留下来。 首先&#xff0c;代码本身没有任何问题 &#xff0c;代码在win7(32位)下编译没有…...

amaze wordpress/常用的搜索引擎有哪些?

为什么80%的码农都做不了架构师&#xff1f;>>> FLV FLV&#xff08;Flash Video&#xff09;是一种适合网络的视频封装格式。 需要使用Flash Player来加载播放。是视频网站最常用的格式。 MP4 MP4&#xff08;MPEG-4 Part 14&#xff09;是一种更通用的视频封装格…...

网站后缀org/百度网页翻译

Oracle基本操作(登陆、用户、表空间、exp/imp、权限)1. 登陆 (在windows上CMD下执行)1.1. 登陆sys帐户SQLPLUS sys AS SYSDBA1.2. 登陆普通用户SQLPLUS 用户名/密码SQLPLUS 用户名/密码111.111.111.111:1521/test2. 创建用户一般分为四步2.1. 创建临时表空间CREATE TEMPORARY T…...

小型企业管理培训课程/百度seo排名优化如何

//3个参数读取二进制文件import java.io.*;public class FileManage {public static void readBitFile(String filename){//1建立目标要读取的文件对象File filenew File( filename );//2基于目标对象建立输入流InputStream innull;if(file.exists()){//如果文件存在&#xff0…...

秦淮做网站价格/国外免费ip地址

一、单分支语句 if (条件){执行语句} class FirstTest{static void main(String[] args) {def a 1if (a1){println "单分支语句"}} }二、双分支语句 if (条件) {执行语句} else {执行语句} class FirstTest{static void main(String[] args) {def a 1if (a0){p…...

网站配色方案橙色/上海今天最新发布会

1、ajax请求参数如果为文本类型&#xff0c;直接拼接即可。如果为file类型就需要先获取文件信息 2、获取文件信息&#xff1a; HTML代码&#xff1a; <div class"form-group"><input type"file" id"SelectImg" style"width:90px;o…...

wordpress wp2pcs sy/关键词怎么做快速的有排名

Kotlin中的序列一、前言二、filter、map、flatMap、Sequence一、前言 Kotlin里面的集合式api和Java类似&#xff0c;但也有区别&#xff0c;Kotlin里面加入了可变和不可变的特性&#xff0c;例如可变集合MutableList&#xff0c;不可变的则是List&#xff0c;这部分的功能主要…...