/LGC设计模式/GUI 系统需求描述
2010-12-27 16:21
387 查看
GUI 系统需求描述
作者:
刘鹏
日期:
2009-09-21
文本总结了一个 GUI 系统需要具备的 features 及其需要考虑的问题。
:C/S 架构,灵活,易于扩展
消息驱动机制
:消息队列、消息循环、消息处理
鼠标、键盘、触摸屏的事件处理
高效的窗口剪切算法
:使用 Z 序管理窗口的覆盖关系;绘制窗口前要将多个
窗口映射到屏幕上,计算每个窗口受剪切的区域,被覆盖的部分被剪掉不绘
制,一个高效的窗口剪切算法非常重要3
;
窗口管理器(Window Manager)
: 窗口管理,可以考虑做一个窗口管理器抽象
层,使 GUI 不依赖于某个具体的窗口管理器;
组合窗口管理器(Compositing window manager)
: 多个 surface 的组合;
强大高效的图形库
:支持 2D/3D,2D图形库(矢量的/栅格的),3D图形库
(OpenGL)
图像处理能力
半透明窗口、不规则窗口
图形抽象层
:如 MiniGUI
的 GAL
输入抽象层
:如 MiniGUI
的 IAL
字体引擎
:text/font
手势识别引擎(gesture recoginzation engine)
: 点击、滑动(fling)、多点触摸等;可纯软件实现,也可硬件支持;
窗口主题(theme)
窗口界面描述(UI define files)
:xml/css/JSON
硬件加速功能
支持定点数运算
动画(animation)支持
SDK 和 IDE
跨平台
:linux, unix, windows, MacOS X,......
testing framework
alpha blend:可用于实现光源、火光、烟雾等;
clip:支持任意形状的剪切域;
Compositing images:Porter-Duff operation,12 种组合方式;
gamma 校正:可用于实现淡入、淡出、渐变等效果;
gradient 梯度:可用于渐变填充;
Patterns 填充样式;
shadow 阴影;
Transparency Layers
Bitmap Images and Image Masks
粒子系统及其辅助设计工具
图像处理功能1
多种图像格式的支持
复制(duplicate)
Mode (RGB, Grayscale, indexed)
缩放、平移、旋转
颜色:color balance,brightness-contrast,levels
图像 Alpha 值的调整
模糊 (blur)
增强 (enhance)
扭曲 (distort):page curl, ripple, wave
光照和阴影 (light and shadow)
噪声 (noise) 处理
边缘检测 (edge detect)
卷积矩阵 (convolution matrix)
图像处理辅助设计工具
audio support
database support
xml support
webkit integrated
language bind
online desktop,与 web 集成
需要支持多种输入的设备:鼠标、键盘、触摸屏、jobstick、.....
关于控件,使用容器机制分离控件的职责,将控件做成容器,它可以容纳其它控件,容器机制的实现是使用组合还是继承,据说前者更符合现代设计规则。
使用 layout 机制,避免硬编码
resolution independence
text/font 模块需要考虑 Unicode 的支持,考虑 Bidi 文本的处理
not hard-coding:
layout information
screen resolutin
screen color depth
design scalability in mind from the very beginning.
ActionScript3.0 的显示虑镜
MiniGUI 的窗口剪切算法
作者:
刘鹏
日期:
2009-09-21
文本总结了一个 GUI 系统需要具备的 features 及其需要考虑的问题。
核心需求
体系结构:C/S 架构,灵活,易于扩展
消息驱动机制
:消息队列、消息循环、消息处理
鼠标、键盘、触摸屏的事件处理
高效的窗口剪切算法
:使用 Z 序管理窗口的覆盖关系;绘制窗口前要将多个
窗口映射到屏幕上,计算每个窗口受剪切的区域,被覆盖的部分被剪掉不绘
制,一个高效的窗口剪切算法非常重要3
;
窗口管理器(Window Manager)
: 窗口管理,可以考虑做一个窗口管理器抽象
层,使 GUI 不依赖于某个具体的窗口管理器;
组合窗口管理器(Compositing window manager)
: 多个 surface 的组合;
强大高效的图形库
:支持 2D/3D,2D图形库(矢量的/栅格的),3D图形库
(OpenGL)
图像处理能力
半透明窗口、不规则窗口
图形抽象层
:如 MiniGUI
的 GAL
输入抽象层
:如 MiniGUI
的 IAL
字体引擎
:text/font
手势识别引擎(gesture recoginzation engine)
: 点击、滑动(fling)、多点触摸等;可纯软件实现,也可硬件支持;
窗口主题(theme)
窗口界面描述(UI define files)
:xml/css/JSON
硬件加速功能
支持定点数运算
动画(animation)支持
SDK 和 IDE
跨平台
:linux, unix, windows, MacOS X,......
testing framework
图形功能
基本图元的绘制:点、线、多边形alpha blend:可用于实现光源、火光、烟雾等;
clip:支持任意形状的剪切域;
Compositing images:Porter-Duff operation,12 种组合方式;
gamma 校正:可用于实现淡入、淡出、渐变等效果;
gradient 梯度:可用于渐变填充;
Patterns 填充样式;
shadow 阴影;
Transparency Layers
Bitmap Images and Image Masks
粒子系统及其辅助设计工具
图像处理功能1
2
多种图像格式的支持复制(duplicate)
Mode (RGB, Grayscale, indexed)
缩放、平移、旋转
颜色:color balance,brightness-contrast,levels
图像 Alpha 值的调整
模糊 (blur)
增强 (enhance)
扭曲 (distort):page curl, ripple, wave
光照和阴影 (light and shadow)
噪声 (noise) 处理
边缘检测 (edge detect)
卷积矩阵 (convolution matrix)
图像处理辅助设计工具
高级需求
video supportaudio support
database support
xml support
webkit integrated
language bind
online desktop,与 web 集成
说明
消息驱动机制,拟支持等待多个事件源,如 socket, 子进程退出和内核事件等;并且要降低消息源与消息目标之间的耦合程度需要支持多种输入的设备:鼠标、键盘、触摸屏、jobstick、.....
关于控件,使用容器机制分离控件的职责,将控件做成容器,它可以容纳其它控件,容器机制的实现是使用组合还是继承,据说前者更符合现代设计规则。
使用 layout 机制,避免硬编码
resolution independence
text/font 模块需要考虑 Unicode 的支持,考虑 Bidi 文本的处理
另外需要考虑的几点
separate engine and UI codenot hard-coding:
layout information
screen resolutin
screen color depth
design scalability in mind from the very beginning.
Reference
PhotoShop/Gimp FilterActionScript3.0 的显示虑镜
MiniGUI 的窗口剪切算法
相关文章推荐
- /LGC设计模式/GUI 系统需求描述
- /LGC设计模式/GUI 系统中的 Layout
- /LGC设计模式/从游戏引擎看 GUI 系统
- /LGC设计模式/GUI 主循环设计及其在 MiniGUI, GTK, QT 的实现
- /LGC设计模式/图形用户界面 (GUI) 的历史
- /LGC设计模式/GUI 设计与设计模式系列:分离数据与显示
- /LGC设计模式/GUI 设计之回调函数
- 系统设计和安全评审模式
- 用三层架构与设计模式思想部署企业级数据库业务系统开发
- Tomcat 系统架构与设计模式,第 1 部分: 工作原理
- 如何使用设计模式来构造系统--(3)
- 设计模式一句话描述
- 设计模式在一个系统架构设计中的应用
- Tomcat 系统架构与设计模式
- CS模式短信监控系统的设计与实现 (转)
- 可伸缩系统的设计模式
- Tomcat 系统架构与设计模式,第 1 部分: 工作原理
- 团队作业3:需求改进&系统设计
- 用三层架构与设计模式思想部署企业级数据库业务系统开发
- 系统架构-设计模式及架构模式基础知识