10025.Microwindows 简介

2023-11-10 17:38
文章标签 简介 10025 microwindows

本文主要是介绍10025.Microwindows 简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Microwindows 是一个著名的开放式源码嵌入式GUI 软件,目的是把图形视窗环
境引入到运行Linux 的小型设备和平台上。作为X Window 的替代品,Microwindows
可以使用更少的RAM 和文件存储空间(100K-600K)提供与X Window 相似的功能。
        Microwindows 允许设计者轻松加入各种显示设备、鼠标、触摸屏和键盘等。
        Linux2.2 以上版本的内核代码允许用户将图形显存作为帧缓存(FrameBuffer)进行
存取,这样当用户对显示设备进行写入、控制时可以避免对内存映射区进行操作,
因此用户可以在不了解底层图形硬件或没有使用过X Window 的情况下进行图形
程序的开发。这就是为什么现在在嵌入式系统中广泛使用Microwindows 的原因。
        Microwindows 的可移植性非常好,基本上用 C 语言实现,只有某些关键代码
使用了汇编以提高速度。Microwindows 支持 Intel 16 位、32 位CPU,MIPS R4000 以
及 ARM 芯片。尽管Microwindows 完全支持Linux,但是它内部的可移植结构是基于
一个相对简单的屏幕设备接口,可在许多不同的RTOS 和裸机上运行。这种特性的
优点突出体现在用户设计的图形程序不需重写就可以被不同的工程共享,甚至可以
运行在不同RTOS 的不同对象上。Microwindows 已经移植到一些掌上电脑。
        Microwindows 系统以图形方式支持在主机平台上的仿真目标平台。这样,为
Linux 设计的Microwindows 应用程序就可以在台式机上进行编写和开发而不用进行
交叉编译就可测试和运行,并且直接在目标平台上运行。
        Microwindows 的图形引擎能够运行在任何支持readpixel,writepixel,drawhorzline,
 drawvertline 和setpalette 的系统之上。在底层函数的支持之下,上层实现了位图,
字体,光标以及颜色的支持。系统使用了优化的绘制函数,这样当用户在移动窗口
时可以提供更好的响应。内存图形绘制和移动的实现使得屏幕画图显得很平滑,
这点特别在显示动画、多边形绘制、任意区域填充、剪切时有用。
        Microwindows 支持新的Linux 内核帧缓存(FrameBuffer)结构,目前提供每像素1、
2、4、8、16、24 和32 位的支持,另外还支持彩色显示和灰度显示,其中彩色显示
包括真彩色(每像素15、16 和32 位)和调色板(每像素1, 2, 4 和 8 位)两种模式。
在彩色显示模式下,所有的颜色用RGB 格式给出,系统再将它转换成与之最相似的
可显示颜色,而在单色模式下中则是转换成不同的灰度级。Microwindows支持窗口
覆盖和子窗口概念、完全的窗口和客户区剪切、比例和固定字体,还提供了字体
和位图文件处理工具。
        Microwindows 采用分层设计方法。在最底层,屏幕,鼠标/触摸屏以及键盘驱动
程序提供了对物理设备访问的能力。在中间层,实现了一个可移植的图形引擎,支
持行绘制,区域填充,剪切以及颜色模型等。在上层,实现多种API 以适应不同的
应用环境。
        下面是三个示例应用。

这篇关于10025.Microwindows 简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/384227

相关文章

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

MySQL 索引简介及常见的索引类型有哪些

《MySQL索引简介及常见的索引类型有哪些》MySQL索引是加速数据检索的特殊结构,用于存储列值与位置信息,常见的索引类型包括:主键索引、唯一索引、普通索引、复合索引、全文索引和空间索引等,本文介绍... 目录什么是 mysql 的索引?常见的索引类型有哪些?总结性回答详细解释1. MySQL 索引的概念2

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j