open source Embedded Linux Graphics System Software ---------------------------------------------------------------------------------------- Dillo浏览器,小于300K,开源,C and GTK+ Lib,遵循GPL www.dillo.org smamary:图像支持PNG、Jpeg、Gif HTML/XHTML,no frames 现在还不支持Jsp,JVM 全屏、非模块化用户界面高兼容性,比如手持设备中的 iPAQ、GMATE’s Yopy、Pison、CerfPod 非基于GECKO的定制化rendering引擎 in more detail http://www.linuxdevices.com/articles/AT7153264029.html 应用举例 http://www.linuxdevices.com/articles/AT2869412121.html ---------------------------------------------------------------------------------------- DirectFB http://directfb.org/ 一个小型库,提供开发者基于FrameBuffer上进行图形加速、输入设备处理提取、支持透明窗口和多重显示层的整合窗口系。对于不支持的硬件的图形操作,其提供了一个HAL。 提供的图形操作矩形填充/绘图三角形填充/绘图绘线 Flat shaded triangles (Stretched) blitting alpha通道混合(a.k.a texture alpha) Blending with a constant alpha blend factor (a.k.a. alpha modulation) Nine different blending functions respectively for source and destination, so all Porter/Duff rules are supported Colorizing (a.k.a. color modulation) Source color keying Destination color keying DirectFB有自己的显存资源管理,诸如显示层或输入设备之类的资源被锁定从而独占访问。 Font Provider (currently DirectFB bitmap font, TrueType via FreeType 2) Image Provider (currently PNG, GIF and JPEG) Video Provider (currently Video4Linux, AVI (using avifile), MPEG1/2 (using libmpeg3), macromedia flash (using libflash)) the Familiar Project an open source Linux distro for PDAs Compaq iPAQ h3600-series 完全基于Tiny-X server 使用Xft APIs 在rxvt、ion、blackbox、fltk下支持True-Type字体 OpenSSH JFFS2 整合Python2.0 、PyGtk 、PyGDKlmlib 兼容DedianARM ipkg ---------------------------------------------------------------------------------------- FBUI http://home.comcast.net/~plinius/fbui.html 驱动整合进内核核心32KB、库文件17KB 面板式窗口管理器 fbwm 静态连接 46KB 传统窗口管理器 fbwm 静态连接 39KB 终端模拟器 fbterm 静态连接 46KB 模拟时钟 fbclock 静态连接 34KB JPEG/TIFFviewer fbview 静态连接 42KB ---------------------------------------------------------------------------------------- GGI http://www.ggi-project.org/ General Graphics Interface 多平台编译支持快速、抽象、动态组件、高度优化子项目包括设备驱动子系统,可扩展用户空间API库构架、输入设备管理 ---------------------------------------------------------------------------------------- GPE GPE Palmtop Environment http://gpe.handhelds.org/ GPE掌上电脑环境 X window system, gtk+ widgets 可以交互SQL、XML GPL、LGPL ---------------------------------------------------------------------------------------- GtkFB http://developer.gnome.org/doc/API/2.2/gtk...ramebuffer.html 来源于GIMP项目 Gtk+ 2.0已可以直接对framebuffer进行着色,而非传统的使用Xwindow system,即使用FrameBuffer访问显卡,无需搭配一个Xserver 相关库:基本数据类型-Glib 支持不同字型文字处理库-Pango 图片文件格式-libpng、libjpeg、libtiff FrameBuffer port-FreeType库整合后即为gdk-pixbuf、gdk、gtk三个库 gdk-pixbuf 处理图片影像的库 gdk 视窗绘图系统的抽象层,framebuffer的处理 gtk 高级用户界面 几乎所有FB功能代码都包含在gdk中,称为通用gtk代码;有一些FB功能代码包含在gtk中用来管理窗口。 GtkFB shared lib 2MB FreeType lib 202KB libjpeg 138KB libpng 126KB memory mapped statistics: Arial font -- 72KB local info -- 112KB libc code -- 1444KB binary -- 120KB heap -- 836KB stack -- 24KB 采用动态连接DL的RSS大小(使用的所有物理大小)为3.4MB,静态连接SL的为2.5MB; DL虚拟内存总大小为6.6MB,进程间共享2.3MB; SL的为5.2MB,共享的为1.7MB; gdk库有三个基本任务绘图、处理交替窗口、产生事件。gdk核心很像Xwindow系统,事实上其使用了一个经修改的X库-libmi。交替窗口处理是指在一个窗口树中,确定在哪个窗口上进行操作。事件产生是通知gdk用户输入、窗口重绘。它是X产生的一个子集。因为gtk不需要所有X发出事件及其信息。当程序连接了GtkFB,其最先调用gtk_init()运行。同时,GtkFB打开FB设备(选择想要的分辨率和位深),键盘,鼠标,触控屏。然后到指定目录去读取字型,继续初始化window和事件系统。 GtkFB内建了普通键盘及鼠标的驱动,包括触控屏,当然添加其他的也是很容易的。GtkFB不使用硬件加速,但支持。 缺点:不支持多进程,不适合设计大型系统。如果GTK+程序中使用 direct X 调用,由于其不备GtkFB支持,所以需要修改。由于对硬件加速代码很难写,所以其在大型系统上运行很慢。不支持对功能还有:network transparency、DGA、多屏幕、Xv扩展、Xrender扩展。 通过以下命令可以编译相应部分,当然也可以让binaries变得更小: glib ./configure --enable-debug=no --disable-mem-pools=yes pango ./configure --enable-debug=no --with-included-modules=yes gtk+ ./configure --enable-debug-no --with-gdktarget =framebuffer --disable-shadowfb --disable-modules--with-included-loaders=xpm,png,jpeg ---------------------------------------------------------------------------------------- MatchBox http://projects.o-hand.com/matchbox/ Simple flexible XML themes Tniy-X server 使用在GPE、Tuxscreen phone项目中采用的硬件有Sharp Zaurus, Psion 5mx... 注:Tuxscreen phone a limited edition StrongARM Linux project platform http://www.tuxscreen.net/ ---------------------------------------------------------------------------------------- Microwindow Greg Haerr创建,前身为Nano 特点:提供Win32/WinCE API,便于平台间移植。其最底层的为一些键盘、触控屏等的I/O驱动,中间层为一些基本的绘图函数及色彩模型,上层为窗口的API,即Win32/Wince的GDI、Nano-X API。不需要Xserver 256KB~512KB slides: http://www.linuxdevices.com/files/elecjun00/haerr/ ---------------------------------------------------------------------------------------- MiniGUI www.minigui.com 魏永明创建最初以SVGALib and PThread为基础,现在包括了图形抽象层,输入抽象层,多国语系-ISO8859、GB2312、BIG5、EUCKR、UJIS,多种字型TrueType、Adobe Type1。分为多线程版MiniGUI、和 单线程MiniGUI Lite版 ---------------------------------------------------------------------------------------- NxZilla http://nxzilla.sourceforge.net/ 包括的项目: goanna--定制的Mozilla 嵌入版本 rdesktop--win下的RDP客户端 NxZilla--一套允许Mozilla使用Nano-X server的库 xilla--使nanozilla不再依靠诸如gtk等第三方工具组件和Xlib函数缺陷的移植项目(nanozilla是NxZilla的前身,嵌入式浏览器) mailcrypto--Mozilla的一个插件,使用户可以使用GnuPG(GNU Privacy Guard)提供的加密功能 oji--一个mozilla的开放Java接口-OJI,使kaffe在Html页面中可执行applets。 xpdfplugin--不说也明白的插件 rdesktop-nanox--RWin的一个版本,使用Nano-X绘图,支持KB/M输入 rdesktop-xlib--RWin的一个版本,使用Xlib绘图,KB/M输入 ---------------------------------------------------------------------------------------- OpenGL ES OpenGL嵌入式子项目详细介绍 http://www.khronos.org/opengles/#framework 站点 http://www.khronos.org/cgi-bin/ubb/ultimatebb.cgi?category=3 介于硬件和软件之间的轻量级低级别API 组成:全3D管线的3D核心子集;反锯齿文本几何图形的2D核心子集;光栅图像处理的核心图像子集;对所有硬件本地API增加功能的组库 ---------------------------------------------------------------------------------------- OpenGUI http://www.tutok.sk/fastgl/ 提供简单的2D制图和事件驱动窗口API 支持bmp 其构建在用x86汇编所写的快速的图形内核之上的高级别C/C++图形窗口库,支持MMX 支持Borland BGI风格和QT风格的窗口 LGPL 大部分库支持FrameBuffer OO多平台API (DJGPP、WATCOM、Linux、QNX)全应用程序开发构架图形库的组成:三个层汇编内核层基本图形的绘制层API C++,窗口、按钮、菜单,位图绘制的GUI实现层 ---------------------------------------------------------------------------------------- PicoGUI http://picogui.org/ 特点: widgets和绘图引擎内建于server C/S构架模块化--视频、输入、网络子系统可以在编译时被置换目标是为PalmOS整合Xwindows的简易和速度去掉ELF二进制映像文件后,大小为100KB。 ---------------------------------------------------------------------------------------- QT/E http://www.trolltech.com/download/index.html 嵌入版的API基本和Qt/Windows、 Qt/X11相同,但不需要使用X11。特点:跨平台,面向对象 PAD解决方案:Qt plamtop environment 800KB~3MB ---------------------------------------------------------------------------------------- SDL http://www.libsdl.org/index.php http://www.libsdl.org/intro.cn/toc.html Simple DirectMedia Layer free multimedia API,cross platform 快速存取图形framebuffer、音频设备《文明》即采用其移植支持Linux、Win32、BeOS、MacOS、Solaris、IRIX、FreeBSD 底层用C实现,用户层用C++实现;并捆绑了多种语言:Perl、Python、ML、Eiffel ---------------------------------------------------------------------------------------- TinyX http://xfree86.org Tiny X server即Xfree86的简化版,Keith Packard创建 1MB~3MB ---------------------------------------------------------------------------------------- ViewML Viewable Markup Language http://www.microwindows.org/ViewMLDesign.html 嵌入式linux开源浏览器需要760KB-2.1MB RAM 其采用KDE下设计出众、显示性能良好的kfm Html显示引擎。移植引擎时,采用了thin glue layer ,使用小而快的FLTK应用程序架构。运行于Microwindows下注:thin glue layer http://www.linuxdevices.com/articles/AT5848940287.html ---------------------------------------------------------------------------------------- WML Browser Wireless Markup language http://wmlbrowser.mozdev.org/ http://www.wmlscript.de/Referenz/Libraries/WmlBrowser.html 无线因特网浏览器核心部分是binary WML decoder 特点:基于FrameBuffer上实现,可运行于许多协议栈上,诸如:WAP、http、https 使用不同的User Agent profile ,如phone、pda、appliances 实现WAP 的所有可选功能 IPv4、IPv6、蓝牙、红外传输 WMLScript、WML content plugable content arch WTLS and Certificates ---------------------------------------------------------------------------------------- Commercial Embedded Linux Graphics System ---------------------------------------------------------------------------------------- Metro-X http://www.lynuxworks.com/partners/show_product.php?ID=83 NetFront Browser http://www.access-netfront.com/ Access Systems Amerian. Inc. 主要开发地为USA和Japan 支持的设备生产商很多,如NTTDoCoMo、Sega、Nintendo等 Japan厂商。主要用于TV、PDA、STB、CarNavigationSystem、SmartPhone、Web/screenPhone、VerticalIntranet terminal、Video game console、dedicated word processor、Internet kiosk 特点:大小:代码小于270KB,执行RAM 2MB 支持Html、Frames、javs script、cookies、web printing、多语言兼容可裁减的插件有:Mail、SSL、JVM... 支持的处理器有:ARM core、StrongARM core、Hitachi SH、PowerPC、MIPS core、Mitsubishi M32R/D SDK有两个配置版本:使用GTK+的Xwindow版本、使用SDL的非Xwindow版本组件包括: NetFront brower kernel、一个简单的UI模块、PIM组件、 Internet Mail模块、一个简单的对等接口层库、图形层(GTK/SDL),可选的有AVE-SSL,SSL 模块 ---------------------------------------------------------------------------------------- ANT Fresco Browser http://www.antlimited.com/products/fresco.htm 主要针对交互式TV、消费电子、嵌入设备,源码发放支持HTML、javs script扩展、Flash、SSL、预测文本输入、Agfa和Bitstream高质量反锯齿字体移植容易 ---------------------------------------------------------------------------------------- PIXIL http://embedded.centurysoftware.com/pixil/pixil_pda11.php 高级互联网设备、无线通信、网络、web浏览、电源管理、GUI 基于嵌入式Linux开放标准的完全整合构架,可以开发商耗时耗钱的组件整合,并确保特定应用易于使用、兼容和维护 PIXIL OE PIXIL open Enviroment Century开发商已针对特定嵌入式设备进行了优化。MicroWindows系统内置于PIXIL解决方案核心中的smart flat panels 以源码的方式自动创建framebuffer,X11,交叉编译环境。支持的硬件:StrongARM、MIPS、PPC、SH、x86包含的组件有: Microwindows 、ViewML FLNX-PDA -- a flat-style custom modified FLNX NxScreentop--a screentop and window manager, complete with backlight control, a clock, and input method launchers NxTerm--终端模拟器 NxClock--模拟时钟 NxBill--XBill的Microwindows版本 Doom Game 计算器 Screen calibrator 手写识别软件弹出式键盘 PIXIL遵循GPL和PIXIL商业协议 GPL下的当然以源码方式发布商业版可参看公司相关协议 功能: PIXIL PIM、PIXIL Desktop PIXIL Internet Connectivity --ViewML Browser 、Email client PIXIL Applications --MP3 player 、Voice recorder 、Terminal emulator 、Calculator PIXIL SDK Desktop Emulation and Development --包括一个软件模拟器,用来模拟目标设备运行环境。 PIXIL SDK Components -- 完全的源码、makefile、build环境 all runtime binarity 完整的开发工具链所需库文件目标平台桌面开发模拟器 FLNX 2D、3D 、TV widgets 组件集 支持平台 Applied Data Systems Graphics Client Plus Compaq iPAQ Intel Assabet National Semiconductor SP3GX01 WebPAD Reference Platform National Semiconductor SP4SC30 Thin Client Development Board National Semiconductor SP4GX10 Thin Client Development Board PIXIL绑定组件集目标设备的开发工具整合 PIXIL PDA--包括OE、PIM suite 、e-mail client、web browser、多媒体app,内建了Microwindows PIXIL PAD--包括Linux kernel、screentop、app manager、net browser、多媒体app... PIXIL thin client-- Citrix ICA and Microsoft RDP client Internet browser: HTML, CSS, javs script, Flash, Real Audio/Video Linux kernel 技术特点: 32 MB minimum RAM / Flash Ethernet, 802.11b Client-side audio support Local USB support Samba and NFS Support Font and RGB server support Screen resolution up to 1280x1024 Multi protocol, multi client, and multiple server session support CompactFlash and DiskOnChip Local window manager with virtual Windows desktop remote window manager and XDM Multi language support ---------------------------------------------------------------------------------------- Espial Suite http://www.windriver.com/cgi-bin/partnersh...Prod.cgi?id=882 windriver 纯Java应用层,JVM运行于设备栈顶层套件包括 Espial DeviceTop graphical OSGi client http://www.linuxdevices.com/products/PD6340767984.html Espial Escape web browser http://www.linuxdevices.com/products/PD5203952494.html Espial Ebox email client http://www.linuxdevices.com/products/PD7904716349.html Espial Espresso lightweight GUI toolkit http://www.linuxdevices.com/products/PD9895797586.html ---------------------------------------------------------------------------------------- NetClue: Clue WBC browser http://www.netcluesoft.com/desktop/desktop.php3?sub=products 纯Java,非常紧凑,模块化设计,平台无关支持Unicode国际字符 smooth scrolling 流线型显示 web打印定制化的UI WAP、HTML、XML、HTTP、CSS、DOM、cookies、JSP、java applets ---------------------------------------------------------------------------------------- LinuxPEG Portable Embedded GUI Vendor: Swell Software http://www.swellsoftware.com/Linux.html LinuxPEG是popular PEG library的派生,针对嵌入式系统。为现在POSIX 多线程嵌入式Linux可以应用在LCD、Video显示商。特点:版权自由,无版税,提供free demo small footprint 完全C++源码支持流行的目标处理器、视频控制器、I/O设备易于移植容易缩减开发时间业界领先的多语言支持开发 开发工具包括: WindowBuilder可视化设计工具 FontCapture嵌入字体产生器 ImageConvert ROMable ---------------------------------------------------------------------------------------- Qtopia Qt-based mobile palmtop environment Vendor: Trolltech 基于Qt/E 主要应用: Sharp Zaurus SL-5500 PDA 信息管理、Internet连接、娱乐、synchronization across multiple desktop OS。 Qtopia支持Windows、Mac、Unix、Linux,源代码只需要重编译即可运行。 6~8MB 包括OS在内的ROM ------------------------------------------- 注:基本图形系统构成初级的绘图函数库Glib,往上组合成基本视窗组件widgets;然后由此写出WM; Widget窗口构架部分 GTK、FLTK、QT、wxWindows GTK http://www.gtk.org/ FLTK Fast Light Tool Kit http://www.fltk.org/ http://www3.telus.net/public/robark/ wxWindows http://www.wxwidgets.org/embedded.htm

linux 图形库编程资源相关推荐

  1. 【Linux系统编程】进程退出和回收进程资源

    00. 目录 文章目录 00. 目录 01. 进程退出函数 02. 进程退出讨论 03. 回收进程资源 04. 附录 01. 进程退出函数 #include <stdlib.h>void ...

  2. Linux网络编程--进程间通信(一)

    进程间通信简介(摘自<Linux网络编程>p85) AT&T 在 UNIX System V 中引入了几种新的进程通讯方式,即消息队列( MessageQueues),信号量( s ...

  3. Linux系统编程——进程基础知识

    Linux系统编程--进程基础知识 1.程序和进程 程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu.内存.打开的文件.设备.锁-) 进程,是一个抽象的概念,与操作系统原理联系紧密.进程 ...

  4. Linux系统编程——线程私有数据

    在多线程程序中.常常要用全局变量来实现多个函数间的数据共享.因为数据空间是共享的,因此全局变量也为全部线程共同拥有. 測试代码例如以下: #include <stdio.h> #inclu ...

  5. vbs结束进程代码_物联网学习教程—Linux系统编程之进程控制

    Linux系统编程之进程控制 一.结束进程 首先,我们回顾一下 C 语言中 continue, break, return 的作用: continue: 结束本次循环 break: 跳出整个循环,或跳 ...

  6. Linux Shell 编程学习总结

    Shell 教程 Shell简介:什么是Shell,Shell命令的两种执行方式 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成 ...

  7. Linux 系统编程

    linux c system函数介绍 system(执行shell 命令) 相关函数         fork,execve,waitpid,popen 表头文件         #i nclude& ...

  8. linux线程并不真正并行,Linux系统编程学习札记(十二)线程1

    Linux系统编程学习笔记(十二)线程1 线程1: 线程和进程类似,但是线程之间能够共享更多的信息.一个进程中的所有线程可以共享进程文件描述符和内存. 有了多线程控制,我们可以把我们的程序设计成为在一 ...

  9. linux内核_Linux驱动编程的本质就是Linux内核编程

    由于Linux驱动编程的本质属于Linux内核编程,因此我们非常有必要熟悉Linux内核以及Linux内核的特点. 这篇文章将会帮助读者打下Linux驱动编程的基础知识. 本篇文章分为如下三个小节进行 ...

最新文章

  1. 线段树分裂与合并 ----- P2824 [HEOI2016/TJOI2016]排序 [线段树分裂合并 OR 01序列排序+二分线段树]
  2. 从未在一起更让人遗憾_我们从未在一起和我们最终没在一起,哪一个更让人难过?...
  3. 修改ubuntu的终端提示符
  4. 圣诞大战!于嘉可以不要这么偏见吗
  5. (九)HTML5本地存储——本地数据库SQLLite的使用
  6. Nginx的应用之动静分离
  7. linux nifi指定jdk,nifi在arm架构启动不了,怎么办?
  8. c++解析csv 存入数组_Python读写csv文件专题教程(2)
  9. vue中supermap iserver绘制使用的插件安装
  10. 广州大学数据库实验报告_广州大学学生Access数据库实验1_表的创建和操作
  11. 全球呼吸机告急!医疗科技巨头美敦力“开源”设计图和源代码
  12. 强化学习实战(六)【Windows安装星际争霸Ⅱ 强化学习环境教程】
  13. C语言—— 符号函数
  14. windows微信公众号采集系统
  15. 桩基施工市场现状研究分析报告-
  16. vue 多种方法实现名字拼接
  17. nmn是真的还是假的,如何鉴别高质量的nmn,方法一览
  18. MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
  19. matlab失明的小猫,从小失明的小猫,手术后第一次见到猫妈妈,场面让人泪崩!...
  20. 比较好用的邮箱有哪些?收费邮箱主要哪家好呢?

热门文章

  1. linux挂载cifs磁盘_将SMB/CIFS网络硬盘永久的挂载到Ubuntu上
  2. 山东最新建筑八大员(质量员)机考真题及答案解析
  3. 美国的历任总统与他们主要贡献
  4. css3 slide动画,css3动画+ slidetoggle不起作用(css3 animation + slidetoggle don't work)
  5. php中floatval是什么意思,【后端开发】php floatval()函数的用法详解
  6. 目前国内最好的FLASH社区
  7. linux 所有服务都无法开启,查看log Fatal server error (EE) Could not create lock file in /tmp/.tX0-lock
  8. enq: TX - row lock contention等待事件
  9. 互联网金融时代,必看的六种理财模式------------王艾老哥浅析
  10. 前端安全系列:如何防止XSS攻击?