MiniGUI
文章平均质量分 79
HiRuyue
这个作者很懒,什么都没留下…
展开
-
MiniGUI消息发送与处理
1.将消息投递到一个先进先出队列中2.直接把消息发给窗口过程投递到队列中的消息主要有:键盘和鼠标消息MSG_LBUTTONDOWN,MSG_MOUSEMOVE,MSG_KEYDOWN,MSG_CHAR定时器消息MSG_TIMER绘制消息MSG_PAINT退出消息MSG_QUIT可以用HavePendingMessage函数检查消息队列中是否有消息而不取出的消息BOO转载 2013-03-23 10:28:49 · 2862 阅读 · 1 评论 -
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南一——选择MiniGUI-Threads 或者 MiniGUI-Lite
简介: 自 MiniGUI 从 1998 年底推出以来,越来越多的人开始选择 MiniGUI 在 Linux 上开发实时嵌入式系统。为了帮助嵌入式软件开发人员使用 MiniGUI编写出更好的应用程序,我们将撰写一系列文章讲解基于 Linux 和 MiniGUI 的嵌入式系统软件开发,并冠名 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南。本文是该系列文章的第一篇,将讲述如何针对具体转载 2013-09-15 10:50:54 · 1365 阅读 · 1 评论 -
MiniGUI Lite 版本的新改进
简介: MiniGUI从0.98开始推出Lite版本。Lite版本是MiniGUI迈向嵌入式应用重要的一步。在Lite版本中,我们使用了自己设计的引擎,抛弃了pthread库,从而使得MiniGUI能够轻装上阵,更稳定,更高效率,也更符合嵌入式系统应用。本文介绍了MiniGUILite版本的基于UnixIPC实现的多进程机制。并详细介绍了一些实现细节。 1 引言:为什么要开发Lite版本转载 2013-09-15 10:42:55 · 1558 阅读 · 0 评论 -
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南四——使用 GDI 函数
简介: 本文讲述 MiniGUI 中 GDI 函数及其使用。主要包括:设备上下文的概念、获取和释放;矩形操作和区域操作;基本绘图函数;位图操作函数;逻辑字体操作函数等。 引言GUI 系统的一个重要组成部分就是 GDI,即图形设备接口(Graphics Device Interface)。通过 GDI,GUI 程序就可以在计算机屏幕上,或者其他的显示设备上进行图形输出,包括基本绘图转载 2013-09-15 10:58:10 · 1473 阅读 · 0 评论 -
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南五——MiniGUI 1.1.0 版本引入的新 GDI 功能和函数
简介: 本文向读者展现了 MiniGUI 的最新开发成果,即在 MiniGUI 1.1.0Pre4 版本中引入的新的 GAL 和新的 GDI 功能和接口。这些接口最终会出现在 MiniGUI 1.1.0 正式版本中。本文主要内容包括 GAL 和 GDI 的关系,新 GAL 引擎的接口特点,新 GDI 的功能增强以及接口应用范例等等。 引言在本系列开发指南(四)中,我们详细讲解了 Min转载 2013-09-15 11:02:13 · 1330 阅读 · 0 评论 -
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南题八——MiniGUI 和其他嵌入式 Linux 上的图形及图形用户界面系统
简介: 为了让读者对嵌入式 Linux 当中能够使用的图形及图形用户界面有个较为全面的认识,本文将为读者介绍一些嵌入式 Linux 系统中常见的图形及图形用户界面系统,并作为《基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南》系列的最后一篇文章。本文首先概述了 Linux 图形领域的基本设施,然后描述了一些可供嵌入式 Linux 系统使用的高级图形库以及图形用户界面支持系统,并大概比转载 2013-09-15 11:09:43 · 1375 阅读 · 0 评论 -
MiniGUI 体系结构之二——多窗口管理和控件及控件类
简介: 本文是 MiniGUI 体系结构系列文章的第二篇,重点介绍 MiniGUI 的多窗口机制以及相关的窗口类技术。其中涉及到窗口 Z 序、窗口剪切、控件类和控件以及输入法模块设计等等。转载 2013-09-15 10:35:23 · 1406 阅读 · 0 评论 -
MiniGUI 体系结构之四——图形抽象层和输入抽象层及 Native Engine 的实现(一)
简介: 本文是 MiniGUI 体系结构系列文章的第四篇。图形抽象层(GAL)和输入抽象层(IAL)大大提高了 MiniGUI 的可移植性,并将底层图形设备和上层接口分离开来。这里将重点介绍 MiniGUI 的 GAL 和 IAL 接口,并以最新的 MiniGUI-Lite 版本为例,介绍基于 Linux FrameBuffer 的 Native 图形引擎的实现,以及特定嵌入式系统上输入引擎的实现转载 2013-09-15 10:46:00 · 1103 阅读 · 0 评论 -
MiniGUI 体系结构之四——图形抽象层和输入抽象层及 Native Engine 的实现(二)
简介: 本文是 MiniGUI 体系结构系列文章的第四篇。图形抽象层(GAL)和输入抽象层(IAL)大大提高了 MiniGUI 的可移植性,并将底层图形设备和上层接口分离开来。这里将重点介绍 MiniGUI 的 GAL 和 IAL 接口,并以最新的 MiniGUI-Lite 版本为例,介绍基于 Linux FrameBuffer 的 Native 图形引擎的实现,以及特定嵌入式系统上输入引擎的实现转载 2013-09-15 10:48:11 · 1103 阅读 · 0 评论 -
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南二——理解消息循环和窗口过程
简介: 在利用 MiniGUI 开发应用程序之前,首先要理解的两个概念就是消息循环和窗口过程。消息循环是事件驱动的 GUI 编程之基础。而窗口则是图形用户界面的最基本交互元素。本文描述了 MiniGUI 中与消息相关的几个重要函数,也描述了 MiniGUI-Threads 和 MiniGUI-Lite 在消息循环实现上的几个不同。本文还讲述了在 MiniGUI 中的窗口建立和销毁过程,并解释了窗口转载 2013-09-15 10:54:27 · 1191 阅读 · 0 评论 -
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南六——MiniGUI 提供的非 GUI/GDI 接口
简介: 本文讲述了 MiniGUI 为应用程序提供的非 GUI/GDI 接口,这些接口能够帮助应用程序更好地和操作系统交互,扩展应用程序功能,并提高应用程序的可移植性。内容主要涉及到如下几个方面:MiniGUI-Lite 和 select 系统调用;基于 UNIX Domain Socket 的进程间通讯;编写可移植性代码等。 1 引言一般而言,GUI 系统的应用程序编程接口主要集中于转载 2013-09-15 11:05:06 · 1407 阅读 · 0 评论 -
MiniGUI体系结构之一——体系结构概览
简介: 为了帮助更多软件开发人员理解 MiniGUI及其编程,同时帮助更多的自由软件开发人员加入 MiniGUI 的开发,我们将撰写一系列文章介绍MiniGUI的体系结构。本文是系列文章的第一篇,将在整体上对MiniGUI的体系结构作一介绍。其中主要包括:线程的基本概念;基于 POSIX Thread 的微客户/服务器结构;用来同步微客户/服务器动作的关键数据结构�D�D消息队列;面向对象技术在转载 2013-09-15 10:30:00 · 1039 阅读 · 0 评论 -
gbk, gb2312,big5,unicode,utf-8,utf-16的区别
Unicode编码,UCS、UTF、BMP、BOM等名词 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Wi转载 2013-09-25 14:50:30 · 796 阅读 · 0 评论 -
miniGUI3.0.12移植到Hi3531
一、移植资源包:下载miniGUI3.0.12组件简单介绍一下各个库:freetype:字体qvfb2和gvfb::虚拟显存,主要用在pc机上做仿真jpegsrc:显示jpeg图像时要用到的库libpng:显示png图像时要用到的库zlib:PNG压缩算法libminigui:minigui3.0.12的核心库minigui-转载 2014-03-13 09:34:21 · 1434 阅读 · 0 评论 -
MiniGUI 体系结构之三——逻辑字体以及多字体和多字符集实现
简介: 本文是 MiniGUI 体系结构系列文章的第三篇,重点介绍 MiniGUI 的逻辑字体支持,主要内容涉及 MiniGUI 中以面向对象技术为基础构建的多字体和多字符集支持,并举例说明了如何在 MiniGUI 中实现对新字符集和新字体的支持。 1 引言我们在介绍 MiniGUI 体系结构的第一篇文章中提到,MiniGUI 采用了面向对象的技术实现了 GAL、IAL 以及多字体和多转载 2013-09-15 10:38:56 · 1907 阅读 · 0 评论 -
面向实时嵌入式系统的图形用户界面支持系统――MiniGUI背景,发展及优势
简介: 本文介绍面向实时嵌入式系统的图形用户界面�D�DMiniGUI,其产生、发展及优势,并与其他面向嵌入式系统的 GUI 进行了比较,然后结合实例介绍了 MiniGUI 的一些重要功能和特色,最后,本文介绍了正在进行的 MiniGUI 的开发情况。嵌入式 Linux 系统的 GUI 发展概况1.1 GUI 在嵌入式或实时系统中的地位在常见的 PDA 等小型手持式设备上,由于硬件条件转载 2013-09-15 10:20:29 · 1844 阅读 · 1 评论 -
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南七——MiniGUI 1.1.0 引入的新 GDI 功能和函数之二
简介: 我们在 “MiniGUI1.1.0 版本引入的新 GDI 功能和函数”一文中描述了在 1.1.0Pre4版本中添加的新 GDI 相关函数的功能及其使用。目前,MiniGUI 1.1.0Pre7版本已经发布,该版本较 1.1.0Pre4 版本新增了若干 GDI 函数,新 GDI接口也相对成熟。本文将描述新增的 GDI 接口及其使用。 引言我们在本系列主题五中曾经详细描述了转载 2013-09-15 11:07:55 · 1750 阅读 · 0 评论 -
MiniGUI通用窗口操作函数
可用于主窗口和控件UpdateWindow 立即更新某个窗口ShowWindow 显示/隐藏某个窗口IsWindowVisible 判断某个窗口是否可见EnableWindow 激活/禁止某个窗口IsWindowEnabled 判断某个窗口是否可用GetClientRect 取得客户区矩形GetWindowRect 取得窗口矩形GetWindowBkColo转载 2013-03-23 10:45:53 · 3212 阅读 · 0 评论 -
MiniGUI消息大全
1.MSG_DESTROY调用DestroyMainWindow/DestroyWindow时发送到窗口过程中例:程序在MSG_DESTROY消息中销毁被托管主窗口的位图、字体等case MSG_DESTROY: DestroyIocn(icon1); DestroyIocn(icon2); DestroyAllControls(hWnd);转载 2013-03-23 10:44:25 · 2025 阅读 · 0 评论 -
Invalidate与WM_PAINT
InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色。Invalidate()之后:...OnPaint()->OnPrepareDC()->OnDraw()所以只是刷新在OnPaint()和OnDr转载 2013-06-30 10:23:24 · 1277 阅读 · 0 评论 -
MiniGUI源码走读
注意:这里是针对以下配置的MiniGUI v1.3.3进行解读:使用thread模式资源内置(Resource Incore)使用旧版本GAL使用native gal引擎支持RBF字体不支持鼠标0、主函数main()主函数main()在src/main/main.c中定义,主要运行过程如下:InitGUI():用于初始化GUI;MiniGUIMain():进转载 2013-09-11 16:48:53 · 915 阅读 · 0 评论 -
MiniGUI源码分析——主窗口诞生的秘密
上一篇讲到MiniGUI程序的启动过程。当MiniGUI完成了初始化之后,就可以创建一个主窗口。(主窗口是唯一可以作为根窗口的窗口对象。这可能是MiniGUI在当初设计时为了方便而设立的。但是个人认为,这实在是一个蹩脚的设计。应该将主窗口与控件的接口完全统一了,就像windows API那样。)创建主窗口函数,是CreateMainWindow ,这是一个内联函数:static i转载 2013-09-12 14:50:25 · 1252 阅读 · 0 评论 -
MiniGUI源码分析——DC分析
熟悉windows的朋友都了解,GDI对外提供一个HDC的DC句柄。DC为(Device Context)的缩写,表示一个抽象的设备当前绘图情况。一般情况下,屏幕、打印设备、内存像素都可以抽象出一个HDC句柄。 一个设备可以抽象多个HDC句柄,每个HDC句柄,都有自己独立的上下文信息。在MiniGUI中,从窗口创建的DC都称为硬件DC,而从位图或者其他DC衍生的DC,称为MemDC。注转载 2013-09-12 15:47:21 · 2274 阅读 · 0 评论 -
MiniGUI源码分析——GDI概览及Surface
GDI(Graphics Device Interface)是对绘图接口的描述,是MiniGUI的核心组成部分之一。GDI虽然是GUI的基础,但是,它实际上不太适合作为GUI的组成部分之一的。因为GUI的核心功能在用户交互上,而不是如何绘制上。对MiniGUI来说,GDI是成也萧何败萧何:MiniGUI内置的GDI使得MiniGUI更紧凑和高效,但是由于其功能受限,使得MiniGUI在转载 2013-09-12 16:18:56 · 1514 阅读 · 0 评论 -
Windows GDI学习笔记——窗口的绘制
Windows统一控制屏幕输出 Windows作为一个多任务操作系统,在同一个界面上会存在多个任务窗口。因此为保证各个任务窗口能够正常工作,Windows系统负责管理所有的屏幕输出,保证图形内容能够显示在各自的窗口中而不相互干扰。所有应用程序都必须通过Windows系统才能将内容显示在屏幕上。 何时绘制窗口 窗口在很多时候能被绘制或重新绘制,如在窗口创建、大小变更、从转载 2013-09-12 09:54:37 · 1018 阅读 · 0 评论 -
MiniGUI源码分析——开始篇
MiniGUI即将开源,大家可以关注官方微博 http://weibo.com/fm0minigui 文章中即将提到的很多内容点,主要基于开源版本1.6.10,对应的是即将开源的3.0版本,以前的1.3.0(对应商用的2.0.4版本)的内容差异很小,大家可以对照查阅。大家可以从http://sourceforge.net/projects/minigui/files/minigui转载 2013-09-12 14:29:54 · 5291 阅读 · 0 评论 -
MiniGUI源码分析——MiniGUIMain的奥秘
接下来,通过剖析MiniGUI的最简单的例程,来详细说明MiniGUI程序是如何创建和运行的。这个例程,可以从很多地方得到,凡是接触过MiniGUI的朋友,首先接触的便是这个例子,为了方便大家阅读,贴在下面/* ** $Id: helloworld.c,v 1.38 2007-10-25 07:56:45 weiym Exp $**** Listing 2.1****转载 2013-09-12 14:39:06 · 3338 阅读 · 0 评论 -
MiniGUI源码分析——消息概览
这本篇中,将重点介绍MiniGUI的消息。在MiniGUI中,有以下几种消息:1. 同步消息,由SendMessage、SendSyncMessage发送的同步消息,消息将被立即处理,消息的返回值将通过函数的返回值返回;2. Notify消息,通过SendNotifyMessage发送 。这是一个异步的消息,但是一定能够被处理3. Post消息,通过PostMessage发转载 2013-09-12 15:23:02 · 1122 阅读 · 0 评论 -
面向实时嵌入式系统的图形用户界面支持系统――MiniGUI编译、安装和配置
简介: 对开放源码的自由软件来说,程序员得到的通常是源代码。在编译源代码并正确安装和配置的过程中,往往会涉及到许多工具和函数库,因此其过程经常显得有些繁复,从而也导致许多程序员望而生畏。本文重点介绍了 MiniGUI 的编译、安装和配置过程,解释了该过程中要使用的工具,并说明了 MiniGUI 的配置选项。本文可帮助程序员快速正确地安装和配置 MiniGUI。Linux 下的软件维护和建立工具转载 2013-09-15 10:23:53 · 1202 阅读 · 1 评论 -
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南三——对话框和控件编程
简介: 本文讲述 MiniGUI 中的对话框和控件编程。首先讲解 MiniGUI 中的控件类和控件实例的关系,并举例说明控件子类化的概念及应用;其次讲解 MiniGUI 对话框的编程技术,包括对话框模板的定义和对话框回调函数的编程;最后解释模态对话框和非模态对话框之间的区别。 引言对话框编程是一个快速构建用户界面的技术。通常,我们编写简单的图形用户界面时,可以通过调用 Creat转载 2013-09-15 10:55:44 · 1846 阅读 · 0 评论 -
在海思hi3520上移植minigui3.0
首先从官网上下载以下几个包:libminigui-gpl-3.0.12.tar.gz,minigui-res-be-3.0.12.tar.gz,mg-samples-3.0.12.tar.gz,zlib-1.2.2.tar.gz,libpng-1.2.37.tar.gz,libmgplus-1_2_4.tar.gz,freetype-2.3.9-fm20100818.tar.gz,jpegsrc.转载 2014-03-13 09:39:44 · 3548 阅读 · 0 评论