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

对MTK的层简单封装以方便使用

对MTK的图层技术使用多了,就免不了会产生又爱又恨的情绪。缺少的了图层,游戏,特效,复杂的界面设计将会困难重重。而当你真的沉入进去时,又会为他的资料短缺,DEBUG困难而烦恼。

MTK的很多有关图层显示的函数,座标都是采用的相对座标,这一点在对于需要频繁改变座标的场合和一些复杂的界面设计中,使用起来十分的不方便。

我们可以采用一些方法对这些函数进行简单封装,以符合我们的使用习惯。

比如下面的函数,我常常这样做:

void new_gdi_layer_set_clip(S32 x1, S32 y1, S32 x2, S32 y2)
{
S32 x, y;

gdi_layer_get_position(&x, &y);
gdi_layer_set_clip(x1 -x, y1 - y, x2 - x, y2 - y);
}

S32 new_gdi_image_draw_id(S32 x, S32 y, U16 id)
{
S32 pos_x, pos_y;

gdi_layer_get_position(&pos_x, &pos_y);
gdi_image_draw_id(x - pos_x, y - pos_y, id);
}
经过改造,这些函数使用时,就不需要再秋考虑层的偏移了,虽然可能比原始函数效率会有所降低,但使用起来更方便一些,其他一些有关相对位置的函数也可以这样封装,gdi_layer_get_position函数的作用时获取当前激活层的位置座标,因为我们在层上作画,首先需要激活该层,这样就可以通过gdi_layer_get_position获取当前层座标,自动减去偏移量,从而实现我们传入的参数和屏座标系重合。

相关文章:

  • PHP RC4 加解密类
  • Python 采集相关设定
  • 从MTK的scat文件谈ROM和RAM的分配,管理和问题解决
  • MTK资源管理和问题解决
  • 基于树莓派使用DuerOS的笔记,待续
  • 树莓派、百度DuerOS等RAW格式的镜像浏览、提取文件的方法
  • 几个常见的C语言面试题分析
  • Linux定期备份mysql
  • MTK基于基站和小区的定位技术研究
  • 第一次交叉编译基于群晖 213j(CPU:Armada 370)的iperf过程
  • MTK界面设计中消除PNG图片的杂色背景
  • 知道这20个正则表达式,能让你少写1,000行代码
  • MTK一些有用的层函数
  • 基于SWOOLE的分布式SOCKET消息服务器架构
  • MTK的铃声修改与替换
  • JavaScript 如何正确处理 Unicode 编码问题!
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 2018一半小结一波
  • CSS3 变换
  • ES6核心特性
  • export和import的用法总结
  • Hexo+码云+git快速搭建免费的静态Blog
  • Java IO学习笔记一
  • JavaScript设计模式系列一:工厂模式
  • JavaScript设计模式之工厂模式
  • java取消线程实例
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Vue ES6 Jade Scss Webpack Gulp
  • Vue.js-Day01
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 基于Android乐音识别(2)
  • 理清楚Vue的结构
  • 力扣(LeetCode)22
  • 前端知识点整理(待续)
  • 深度解析利用ES6进行Promise封装总结
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 学习HTTP相关知识笔记
  • No resource identifier found for attribute,RxJava之zip操作符
  • 说说我为什么看好Spring Cloud Alibaba
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (13)DroneCAN 适配器节点(一)
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (六)vue-router+UI组件库
  • (论文阅读30/100)Convolutional Pose Machines
  • (一)为什么要选择C++
  • (转)3D模板阴影原理
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • ./configure,make,make install的作用