您的位置:首页 > 产品设计 > UI/UE

/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

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 support

audio 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 code

not hard-coding:

layout information

screen resolutin

screen color depth

design scalability in mind from the very beginning.

Reference

PhotoShop/Gimp Filter

ActionScript3.0 的显示虑镜

MiniGUI 的窗口剪切算法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: