📄 faq.html
字号:
<html><head><meta http-equiv="Content-Language" content="en-us"><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title></title></head><body><h1><img border="0" src="file:///C:/My%20Documents/My%20Webs/myweb2/images/evearth.gif" WIDTH="36" HEIGHT="36"> Microwindows Frequently AskedQuestions</h1><p>1999/12/04 Microwindows FAQ - <a href="mailto:greg@censoft.com">greg@censoft.com</a></p><h3>What is Microwindows?</h3><p>Microwindows is an Open Source project that brings some of the features of moderngraphical windowing systems to the programming community not wanting or requiring thelarge disk and ram requirements of higher-end windowing systems like Microsoft Windows orthe X Window System. Microwindows does not require any operating system or othergraphics system support, as it writes directly to the display hardware, although it runswell on Linux framebuffer systems. Microwindows is designed to be portable, and canrun in a wide variety of hardware and software environments. One the of moreinteresting targets is the emerging market of portable handheld and pocket PC's runningLinux, also known as LinuxCE. </p><h3>What does Microwindows run on?</h3><p>Microwindows currently runs on 32-bit Linux systems with kernel framebuffer support, orthrough the popular SVGAlib library. In addition, it has been ported to 16-bit LinuxELKS, and real-mode MSDOS. Microwindows screen drivers for 1, 2, 4, 8, 16 and 32bits-per-pixel have been written, as well as a VGA 16 color 4 planes driver. Microwindows has been ported to a number of Handheld and Pocket PC's, as well. TheMicrowindows graphics engine is capable of running on any system that supports readpixel,writepixel, drawhorzline and drawvertline, and setpalette. Blitting support isoptional, but if implemented allows enhanced functionality. All bitmap, font, cursorand color support is implemented on top of these routines. Support for 8, 15, 16 and32 bit truecolor systems as well as 1, 2, 4 and 8bpp palletized systems is implemented.<br><br>Recently, an X11 driver was completed that allows Microwindows applications to be run ontop of the X Window desktop. This driver emulates all of Microwindows' truecolor andpalette modes so that an application can be previewed using the target system's displaycharacteristics directly on the desktop display, regardless of the desktop displaycharacteristics.</p><h3>What CPU's are supported?</h3><p>Microwindows is extremely portable, and completely written in C, although some routineshave been recoded in assembly for speed. It has been ported to the Intel 16 and 32bit cpu's, as well as MIPS R4000 (NEC Vr41xx) and ARM chips found on popular handheld andpocket PC's.</p><h3>How big is Microwindows?</h3><p>On 16 bit systems, the entire system, including screen, mouse and keyboard drivers runsin less than 64k. On 32-bit systems, support includes proportional fonts andapplications are typically less than 100k.</p><h3>What is Microwindows' architecture and what API's are supported?</h3><p>Microwindows is essentially a layered design that allows different layers to be used orrewritten to suite the needs of the implementation. At the lowest level, screen,mouse/touchpad and keyboard drivers provide access to the actual display and otheruser-input hardware. At the mid level, a portable graphics engine is implemented,providing support for line draws, area fills, polygons, clipping and color models. At the upper level, various API's are implemented providing access to the graphicsapplications programmer. These APIs may or may not provide desktop and/or windowlook and feel. Currently, Microwindows supports the Win32 and Nano-X APIs. These APIs provide close compatibility with the Win32 and X Window systems, allowingprograms to be ported from other systems easily.</p><h3>What's the difference between Microwindows and NanoGUI?</h3><p>Microwindows' origin is with NanoGUI. NanoGUI was created by Alex Holden bytaking David Bell's mini-X server and Alan Cox's modifications and adding client/servernetworking. Greg Haerr then took interest in the NanoGUI project and began makingextensive enhancements and modifications to NanoGUI. Around version 0.5, Greg Haerradded support for multiple API's, and began distributing Microwindows. InMicrowindows 0.84, all previous NanoGUI changes were incorporated and since thenMicrowindows has been the combined NanoGUI/Microwindows distribution.</p><h3>What is Nano-X?</h3><p>Nano-X is the X-like API that Microwindows supports. It is based on David Bell'smini-X server API, and includes X-like primitives for low-level window and graphicsoperations. Window management is not included, and the window look and feel must becreated through a widget set or directly by the applications programmer. Currently,there are a number of people working on widget sets for Nano-X. There is somediscussion about converting the Nano-X API to be X Window System compatible.</p><h3>What is the Microwindows API?</h3><p>Microwindows supports an API based on the Win32 graphics device interfacemodule, and implements a large portion of it. The function calls try to be 100%compatible, so that code compiled for other operating systems can usually becompiled with no source code changes. In addition, a portion of the Win32USER module is implemented, which contains routines for window dragging, titlebars, message passing, and generating required window messages. Because of this, window manager support is built into the system, and a singleAPI for applications programs can be used that doesn't change based on thewidget set being used.<br><br>Since the WinCE API is mostly a subset of the Win32 API for graphics-relatedfunctions, the Microwindows API is also WinCE compatible, and can be used toimplement WinCE graphics functions on platforms Microwindows is running on.</p><h3>What are Microwindows' graphics features?</h3><p>Microwindows features full RGB color support, color mapping, optimized palette bitmapdrawing, truecolor and palletized displays, and a 3d look-and-feel. Overlapped and childwindows are supported, with complete window and client area clipping. Proportional andfixed fonts are supported, along with utilities for converting fonts or bitmap files.Optimized painting algorithms are used to allow maximum response while the user is movingwindows on the screen. Offscreen drawing and bit-blit routines are implemented forflicker-free drawing and animation. Polygon draws, fills and arbitrary region clipping arealso supported.</p><h3>What license is Microwindows under?</h3><p>The project is licensed under the MPL. Alternatively, the software can belicensed under the GPL, if desired. This means that the standard Microwindowsdistribution can be used for commercial purposes, and supports the needs of developersworking under non-disclosure or writing proprietary device drivers. Modifications tosource code supplied in the standard distribution must stay open source. Or theentire project can be converted to GPL, with files added by a developer considered GPLonly.</p><h3>Where is the most current source?</h3><p>The FTP site <a href="ftp://microwindows.censoft.com/pub/microwindows">ftp://microwindows.censoft.com/pub/microwindows</a>is the primary distribution point for all releases. The home web site is at <a href="http://microwindows.censoft.com">http://microwindows.censoft.com</a>. I can bereached at <a href="mailto:greg@censoft.com">greg@censoft.com</a>. I am working ongetting the development tree moved to CVS, stay tuned.</p><h3>Are there screenshots and/or demos available?</h3><p>There are demos for Linux, ELKS and MSDOS, as well as screenshots, available at:</p><blockquote> <p><a href="ftp://microwindows.censoft.com/pub/microwindows/ScreenShots">ftp://microwindows.censoft.com/pub/microwindows/ScreenShots</a></p> <p><a href="ftp://microwindows.censoft.com/pub/microwindows/ScreenShots">ftp://microwindows.censoft.com/pub/microwindows/LinuxExamples</a> <a href="ftp://microwindows.censoft.com/pub/microwindows/ScreenShots">ftp://microwindows.censoft.com/pub/microwindows/ElksExamples</a> <a href="ftp://microwindows.censoft.com/pub/microwindows/ScreenShots">ftp://microwindows.censoft.com/pub/microwindows/DosExamples</a></p></blockquote><h3>Is there a mailing list?</h3><p>The mailing list is <a href="mailto:nanogui@linuxhacker.org">nanogui@linuxhacker.org</a></p><p>To subscribe, send an empty email to:</p><p> <a href="mailto:nanogui-subscribe@linuxhacker.org">nanogui-subscribe@linuxhacker.org</a></p><p>To unsubscribe, send an empty email to:</p><p> <a href="mailto:nanogui-unsubscribe@linuxhacker.org">nanogui-unsubscribe@linuxhacker.org</a></p><h3>What can I do to help?</h3><p>We need help in all sorts of areas. There are currently projects to port baselevel widget sets and custom controls to Microwindows. Fast screen drivers andblitting routines are also on the list. There are lots of folks interested ingetting the system to run on one of the many new Handheld or Pocket PC's. Pleasejoin the list and join the fun.</p><p> </p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -