gui学习

GUI

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面

有名的实现 : ucgui   、

实现围绕几个问题:

1. 怎样描述界面

通过xml, json等类似的结构描述界面,程序通过解析,呈现出来

2.常用的组件

如window, button, edit, text, notepad, sliderbar, scrollbar, listview,box, combobox, image......

组件分为可聚焦(需要传递)和不可聚焦, 例如button,  edit可聚焦

组件分为容器组件和非容器组件, 例如window,box等为容器组件

3.窗口管理

窗口有一个栈的管理,管理窗口的上下层关系。

4.焦点控制:

创建一个界面时(window),焦点将自动移到窗口中第一个可聚焦的组件

销毁一个界面时焦点聚焦在窗口栈前一个窗口的第一个可聚焦组件

提供出一个可以设置焦点的接口。

5.消息处理机制

窗口完全靠消息驱动,循环检测事件来临,比如按键事件,点击事件

检测到事件之后,还要通过消息传递(top->focus->parent->root)

在传递到聚焦组件之前,可以做一些全局的设置,并拦截,后面就是传到聚焦组件,聚焦组件的父组件,一直传到root。

信号函数可以是根据用户提供的回调函数,进行处理,widget提供函数指针。

6.刷新机制

消息驱动绘制,每次处理一个消息就进行绘制,将更新的window按照栈的上下层关系进行绘制

提供一个立即绘制的接口,方便需要立即显示的某一些改动。

7.相关知识

图片:各种格式图片的解析处理,比如jpg,png,gif,bmp,tiff

文字:各种编码、字体,比如GB,UTF8,UNICODE,GBK,BIG5,ISO6937,ISO8859-1~9

颜色:rgb,yuv,cmyk(印刷色),yuv是为了压缩对人眼不敏感的色度而出现的颜色类型,

色阶:1bpp(黑白),8bpp, 16bpp,24bpp,32bpp

GA混合:混合的各种模式

 

posted @ 2016-08-04 16:15  chencesc  阅读(325)  评论(0编辑  收藏  举报