Embedded graphics library resources

Source: Internet
Author: User
Tags image processing library rdesktop
Conversion Source Embedded Linux Graphics System Software | transferred from Blade blog
Author: bladerunner

Open Source Embedded Linux Graphics System Software
Bytes ----------------------------------------------------------------------------------------
Dillo browser, less than 300 K, open source, C and GTK + Lib, following GPL
Www.dillo.org
Smamary:
Images can be PNG, JPEG, or GIF.
Html/XHTML, no frames
Currently, JSP and JVM are not supported.
Full Screen, non-modular user interface
High compatibility, such as ipaq, gmate's yopy, Pison, and cerfpod in handheld devices
Non-Gecko-based customized Rendering Engine
In more detail
Http://www.linuxdevices.com/articles/AT7153264029.html
Application Example
Http://www.linuxdevices.com/articles/AT2869412121.html
Bytes ----------------------------------------------------------------------------------------
Directfb
Http://directfb.org/
A small library provides developers with integrated Window Systems Based on framebuffer for graphics acceleration, input device processing and extraction, and support for transparent windows and Multiple display layers.
An Hal is provided for graphical operations on unsupported hardware.

Graphic operations
Rectangle filling/drawing
Triangle filling/drawing
Draw line
Flat shaded triangles
(Stretched) blitting
Alpha Channel mixing (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 has its own memory resource management. resources such as the display layer or the input device are locked for exclusive access.

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 libmp eg3), Macromedia Flash (using libflash ))

The familiar Project
An open source Linux distro for PDAs
Compaq ipaq h3600-series

Completely Based on tiny-X Server
Use xft APIs to support true-type fonts in rxvt, ion, blackbox, and fltk.
OpenSSH
Jffs2
Integrate python2.0, pygtk, and pygdklmlib
Compatible with dedianarm
Ipkg
Bytes ----------------------------------------------------------------------------------------
Fbui
Http://home.comcast.net /~ Plinius/fbui.html
Driver integration into Kernel
Core 32 KB, library file 17kb
Panel window manager fbwm static connection 46kb
Traditional Window Manager fbwm static connection 39kb
Terminal simulator fbterm static connection 46kb
Analog clock fbclock static connection 34kb
JPEG/tiffviewer fbview static connection 42kb
Bytes ----------------------------------------------------------------------------------------
GGI
Http://www.ggi-project.org/
General graphics interface
Multi-platform compilation support
Fast, abstract, dynamic components, and highly optimized
Sub-projects include the device driver subsystem, scalable user space api library architecture, and input device management.
Bytes ----------------------------------------------------------------------------------------
GPE
GPE palmtop Environment
Http://gpe.handhelds.org/
GPE handheld computer environment
X Window System, GTK + Widgets
Interactive SQL and XML
GPL, lgpl
Bytes ----------------------------------------------------------------------------------------
Gtkfb
Http://developer.gnome.org/doc/API/2.2/gtk...ramebuffer.html
From gimp Project
GTK + 2.0 can directly color framebuffer, rather than using XWindow system, that is, using framebuffer to access the video card without the need for an xserver

Related libraries:
Basic Data Type-glib
Support different font word processing libraries-pango
Image file formats: LibPNG, libjpeg, and LibTIFF
Framebuffer port-FreeType Library
After integration, the three databases are gdk-pixbuf, gdk, and GTK.
Gdk-pixbuf: Image Processing Library
The abstraction layer and framebuffer processing of the gdk windows Drawing System
GTK advanced user interface

Almost all FB function code is included in gdk, called General GTK code. Some FB function code is included in GTK for window management.

Gtkfb shared lib 2 MB
FreeType lib 202kb
Libjpeg 138kb
Libpng 126kb

Memory mapped statistics:
Arial font -- 72kb
Local info -- KB
Libc code -- 1444kb
Binary -- 120kb
Heap -- 836kb
Stack -- 24kb
The size of RSS dynamically connected to DL (all physical sizes used) is 3.4 MB, and the size of static connected Sl is 2.5 MB;
The total DL virtual memory size is 6.6 MB, and 2.3 MB is shared between processes;
The Sl value is 5.2 MB, and the shared value is 1.7 MB;

The gdk library has three basic tasks.
Drawing, processing alternate windows, and generating events. The gdk core is similar to the XWindow system. In fact, it uses a modified x library-libmi. Alternate window processing is used to determine which window to operate in a window tree. Events are generated by notifying gdk users to input and redraw windows. It is a subset generated by X. Because GTK does not require all X to issue events and their information.
When the program connects to gtkfb, it first calls gtk_init () to run. In addition, gtkfb enables the FB device (select the desired resolution and depth), keyboard, mouse, and touch screen. Then read the font in the specified directory and initialize the window and Event System.
Gtkfb has built-in General keyboard and mouse drivers, including touch screens. Of course, it is easy to add other drivers. Gtkfb does not use hardware acceleration, but supports.

Disadvantages:
It does not support multiple processes and is not suitable for designing large systems.
If direct X is used in the GTK + program, you need to modify it because it is not supported by gtkfb.
Hardware acceleration code is hard to write, so it runs slowly on large systems.
The following functions are not supported: Network transparency, DGA, multi-screen, XV extension, and xrender extension.

You can use the following command to compile the corresponding part, but also to make binaries smaller:
Glib
./Configure -- enable-DEBUG = No -- disable-Mem-pools = Yes

Pango
./Configure -- enable-DEBUG = No -- With-embedded ded-modules = Yes

GTK +
./Configure -- enable-debug-no -- With-gdktarget
= Framebuffer -- disable-shadowfb -- disable-modules -- With-embedded ded-loaders = XPM, PNG, JPEG
Bytes ----------------------------------------------------------------------------------------
Matchbox
Http://projects.o-hand.com/matchbox/
Simple Flexible XML themes
Tniy-X Server
Used in GPE and tuxscreen phone Projects
The hardware used is sharp zaurus, Psion 5mx...
Note: tuxscreen phone
A limited edition strongarm Linux project Platform
Http://www.tuxscreen.net/
Bytes ----------------------------------------------------------------------------------------
Microwindow
Create Greg haerr, formerly nano
Features: Win32/wince APIs are provided to facilitate inter-platform migration.
The bottom layer is some I/O drivers such as keyboards and touch screens. The middle layer is some basic drawing functions and color models, and the upper layer is the window API, that is, Win32/wince's GDI and nano-x APIs.
Xserver is not required
256kb ~ 512kb

Slides:
Http://www.linuxdevices.com/files/elecjun00/haerr/
Bytes ----------------------------------------------------------------------------------------
MiniGUI
Www.minigui.com
Created by Wei Yongming
Initially based on svgalib and pthread, it now includes the graphics abstraction layer, input abstraction layer, multi-language languages-iso8859, gb2312, big5, euckr, ujis, multiple types of fonts TrueType, Adobe type1.
It can be divided into multi-threaded MiniGUI and single-threaded MiniGUI Lite
Bytes ----------------------------------------------------------------------------------------
Nxzilla
Http://nxzilla.sourceforge.net/
Included projects:
Goanna-customized Mozilla Embedded Version
Rdesktop -- RDP client under Win
Nxzilla-a set of libraries that allow Mozilla to use nano-X Server
Xilla -- so that nanozilla no longer relies on third-party tool components such as gtk and the xlib function defect porting project (nanozilla is the predecessor of nxzilla and an embedded browser)
Mailcrypto -- a Mozilla plug-in that allows you to use the encryption function provided by GnuPG (GNU Privacy Guard ).
Oji-an open Java interface of Mozilla-Oji that enables kaffe to execute applets on the HTML page.
Xforwardplugin-plug-ins that are not clear enough
Rdesktop-nanox -- a version of rwin, drawing with nano-X, supporting KB/M Input
Rdesktop-xlib -- a version of rwin, drawing with xlib, KB/M Input
Bytes ----------------------------------------------------------------------------------------
OpenGL ES
OpenGL embedded sub-project
Details
Http://www.khronos.org/opengles/#framework
Site
Http://www.khronos.org/cgi-bin/ubb/ultimatebb.cgi? Category = 3
Lightweight and low-level APIs between hardware and software
Composition:
3D core subset of all 3D pipelines;
The 2D core subset of the anti-sawtooth text ry;
Core image subset of grating image processing;
Group library that adds features to all hardware local APIs
Bytes ----------------------------------------------------------------------------------------
Opengui
Http://www.tutok.sk/fastgl/
Provides simple 2D plotting and event-driven window APIs
Support for BMP
It is a high-level C/C ++ graphic window library built on the fast graphics kernel written in x86 assembly, supporting MMX
Support Borland BGI style and QT style Windows
Lgpl
Most libraries support framebuffer
OO multi-platform APIs (djgpp, Watcom, Linux, QNX)
Full application development framework
Composition of the Graphics Library:
Three Layers
Assembly kernel layer
Basic graphics drawing layer API
C ++, window, button, menu, Gui Implementation Layer for bitmap painting
Bytes ----------------------------------------------------------------------------------------
Picogui
Http://picogui.org/
Features:
Widgets and Drawing Engine built in server
C/S architecture
Modularization-video, input, and network subsystems can be replaced during compilation
The goal is to integrate xwindows with palmos for simplicity and speed.
The size of the ELF binary image file is kb.
Bytes ----------------------------------------------------------------------------------------
QT/E
Http://www.trolltech.com/download/index.html
The embedded version of the API is basically the same as QT/windows and QT/X11, but X11 is not required.
Features: cross-platform, object-oriented
Pad solution: QT plamtop Environment
800kb ~ 3 MB
Bytes ----------------------------------------------------------------------------------------
SDL
Http://www.libsdl.org/index.php
Http://www.libsdl.org/intro.cn/toc.html
Simple DirectMedia Layer
Free multimedia API, cross platform
Quick access to graphics framebuffer and audio devices
Civilization adopts its transplantation
Supports Linux, Win32, BEOs, MacOS, Solaris, Irix, And FreeBSD
The underlying layer is implemented in C and the user layer is implemented in C ++. It is bundled with multiple languages: Perl, Python, ML, and Eiffel.
Bytes ----------------------------------------------------------------------------------------
Tinyx
Http://xfree86.org
Tiny X server is the simplified version of xfree86, which is created by Keith Packard.
1 MB ~ 3 MB
Bytes ----------------------------------------------------------------------------------------
Viewml
Viewable Markup Language
Http://www.microwindows.org/ViewMLDesign.html
Embedded Linux open-source browser
760kb-2.1mb Ram required
It uses the kfm HTML Display Engine with outstanding design and good display performance under KDE.
When porting the engine, thin glue layer is used to use a small and fast fltk application architecture.
Running in Microsoft Windows
Note: thin glue Layer
Http://www.linuxdevices.com/articles/AT5848940287.html
Bytes ----------------------------------------------------------------------------------------
WML Browser
Wireless Markup Language
Http://wmlbrowser.mozdev.org/
Http://www.wmlscript.de/Referenz/Libraries/WmlBrowser.html
Wireless Internet browser
The core part is binary WML decoder.
Features:
Implemented based on framebuffer and can run on many protocol stacks, such as WAP, HTTP, and HTTPS.
Use different user agent profiles, such as phone, PDA, appliances
Implement all optional WAP functions
IPv4, IPv6, Bluetooth, and Infrared Transmission
WMLScript, WML content
Plugable content Arch
WTLS and certificates

Bytes ----------------------------------------------------------------------------------------
Commercial embedded Linux Graphics System
Bytes ----------------------------------------------------------------------------------------
Metro-x
Http://www.lynuxworks.com/partners/show_product.php? Id = 83

Netfront Browser
Http://www.access-netfront.com/
Access Systems Amerian. Inc.
The main development areas are USA and Japan.
Many manufacturers of supported devices, such as nttdocomo, Sega, and Nintendo.
Japanese manufacturer. It is mainly used for TV, PDA, STB, carnavigationsystem, smartphone, Web/screenphone, verticalintranet terminal, video game console, dedicated word processor, and Internet kiosk.
Features:
Size: the code is smaller than kb, and the ram execution is 2 MB.
Supports HTML, frames, javs script, cookies, web printing, and multi-language compatibility.
Available plug-ins include: Mail, SSL, JVM...

Supported processors include ARM core, Strongarm core, Hitachi SH, PowerPC, MIPS core, and Mitsubishi m32r/d.

The SDK has two configuration versions:
XWindow version with GTK + and non-XWindow version with SDL
Components include:
Netfront Brower kernel, a simple UI module, Pim component,
Internet Mail module, a simple peer interface layer library,
Graphics layer (GTK/SDL), optional AVE-SSL, SSL module
Bytes ----------------------------------------------------------------------------------------
Ant fresco Browser
Http://www.antlimited.com/products/fresco.htm
Mainly for interactive TV, consumer electronics, embedded devices, source code distribution
Supports HTML, javs script extension, Flash, SSL, predicted text input, Agfa, and bitstream high-quality anti-sawtooth font porting
Bytes ----------------------------------------------------------------------------------------
Pixil
Http://embedded.centurysoftware.com/pixil/pixil_pda11.php

Advanced internet devices, wireless communications, networks, Web browsing, power management, Gui

Based on the fully integrated architecture of Embedded Linux open standards, developers can integrate time-consuming components and ensure that specific applications are easy to use, compatible, and maintained.
Pixil oe
Pixil open Enviroment
Century developers have optimized specific embedded devices. Microwindows built-in smart flat panels in the kernel of pixil Solutions
Automatically creates framebuffer, X11, and cross-compiling environments in the form of source code.
Supported Hardware: Strongarm, MIPS, PPC, sh, and x86 components include:
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-terminal Simulator
Nxclock-analog clock
Nxbill -- Microwindows version of xbill
Doom game
Calculator
Screen calibrator
Handwriting Recognition Software
Pop-up keyboard

Pixil complies with GPL and pixil commercial protocols
Of course, the content under GPL is released as source code.
For the commercial version, see the company agreement.

Function:
Pixil Pim, pixil Desktop
Pixil Internet connectivity-viewml browser and email client
Pixil applications -- MP3 player, voice recorder, terminal emulator, And Calculator

Pixil SDK
Desktop emulation and development-includes a software simulator used to simulate the running environment of the target device.
Pixil SDK components --
Complete source code, makefile, Build Environment
All runtime binarity
Complete development tool chain
Required library files
Target Platform desktop development Simulator
Flnx 2D, 3D, and TV widgets component set

Supported platforms
Applied Data Systems graphics client plus
Compaq ipaq
Intel assabet
National semicondusp3gx01 webpad Reference Platform
National semicondusp4sc30 thin client Development Board
National semicondusp4gx10 thin client Development Board

Pixil binding component set
Integration of development tools for target devices

Pixil PDA-including Oe, Pim suite, e-mail client, web browser, multimedia app, built-in Microwindows

Pixil pad-including Linux kernel, screentop, app manager, net browser, multimedia app...

Pixil thin client --
Citrix ICA and Microsoft RDP Client
Internet browser: HTML, CSS, javs script, Flash, Real Audio/Video
Linux Kernel

Technical Features:
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
Bytes ----------------------------------------------------------------------------------------
Espial suite
Http://www.windriver.com/cgi-bin/partnersh...Prod.cgi? Id = 882
WinDriver
Pure Java application layer, JVM running on the top layer of the device Stack
Kit includes
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
Bytes ----------------------------------------------------------------------------------------
Netclue: clue WBC Browser
Http://www.netcluesoft.com/desktop/desktop.php3? Sub = Products
Pure Java, very compact, modular design, platform independent
Supports Unicode international characters
Smooth scrolling
Streamlined display
Web Printing
Customized UI
WAP, HTML, XML, HTTP, CSS, Dom, cookies, JSP, Java applets
Bytes ----------------------------------------------------------------------------------------
Linuxpeg portable embedded GUI
Vendor: Alibaba Software
Http://www.swellsoftware.com/Linux.html
Linuxpeg is derived from popular peg library for embedded systems.
For now, POSIX multi-threaded embedded Linux can be applied to LCD and video display vendors.
Features:
Free copyright, no royalty, free demo available
Small footprint
Complete C ++ source code
Supports popular target processors, video controllers, and I/O devices
Ease of transplantation
Easy to reduce development time
Industry-leading multi-language support development

Development tools include:
Windowbuilder visual design tool
Fontcapture embedded font Generator
Imageconvert romable
Bytes ----------------------------------------------------------------------------------------
Qtopia
Qt-based mobile palmtop Environment
Vendor: trolltech
Based on QT/E
Main Application: Sharp zaurus SL-5500 PDA
Information Management, Internet connection, entertainment, synchronization audio SS multiple desktop OS.
Qtopia supports windows, Mac, UNIX, and Linux. You only need to re-compile the source code to run it.
6 ~ 8 Mb Rom including OS

-------------------------------------------
Note: Basic Graphic System Structure
The basic drawing function library glib is combined into the basic Windows component widgets, and then the WM is written;

Widget window framework
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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.