⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.html

📁 Nano-x的设计架及相关文档----这是网上下载的中文翻译版本, E文的可以在其网站上下载.
💻 HTML
字号:
<html><head><title>Greg Haerr's Microwindows and NanoGUI Page</title></head><body BGCOLOR="#ffffff"><table border="0" cellpadding="4" cellspacing="10">  <tr>    <td valign="top"><img border="0" src="file:///C:/My%20Documents/My%20Webs/myweb2/images/cat.gif" width="85" height="41"> </td>    <td><h1 align="center">Microwindows and NanoGUI Projects</h1>    </td>  </tr>  <tr>    <td valign="top"><!--left-column contents --> <p><b>Downloads</b> <br>    <a href="ftp://microwindows.censoft.com/pub/microwindows/">Microwindows</a> <br>    <a href="ftp://microwindows.censoft.com/pub/microwindows/ScreenShots">Screen&nbsp;Shots</a>    <br>    <a href="ftp://microwindows.censoft.com/pub/microwindows/LinuxExamples">Linux&nbsp;Binaries</a>    <br>    <a href="ftp://microwindows.censoft.com/pub/microwindows/ElksExamples">ELKS&nbsp;Binaries</a>    <br>    <a href="ftp://microwindows.censoft.com/pub/microwindows/DosExamples">MSDOS&nbsp;Binaries</a>    </p>    <p><b>Docs</b> <br>    <a href="faq.html">FAQ</a> <br>    <a href="microwindows_architecture.html">Architecture</a> </p>    <p><b>Links</b> <br>    <a href="http://www.linuxhacker.org/nanogui/">NanoGUI</a> <br>    <a href="http://www.linuxce.org/">Linux&nbsp;CE</a> <br>    <a href="http://www.elks.ecs.soton.ac.uk/">ELKS</a> <br>    <a href="http://ltc.com/linux-mips">Brad's&nbsp;Linux MIPS&nbsp;Pages</a> <!--end left-column contents --> <br>    <a href="http://members.xoom.com/rosimildo/rtems_gui.html">RTEMS Port</a></td>    <td><!--main contents --> <h3>Welcome</h3>    <p>Microwindows is an Open Source project aimed at bringing the features of modern    graphical windowing environments to smaller devices and platforms.&nbsp; Microwindows    allows applications to be built and tested on the Linux desktop, as well as cross-compiled    for the target device.&nbsp; Microwindows' genesis was with the NanoGUI project, and has    now been combined into a single distribution.&nbsp; The Win32 API implementation is known    as Microwindows, and the Xlib-like API implementation is known as Nano-X. Please read the <a href="faq.html">FAQ</a> for more information.&nbsp; An extensive <a href="microwindows_architecture.html">Architecture</a> document is also available. &nbsp;    To get involved, please join <a href="http://www.linuxhacker.org/nanogui/">the NanoGUI    mailing list.</a></p>    <h3>News</h3>    <h3>Version 0.87pre2 release</h3>      <p>December 14, 1999<br>      The second prerelease for version 0.87 has just been released, and is      available for download at:<br>      <a href="ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre2.tar.gz">ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre2.tar.gz</a>&nbsp;      This release is primarily intended for inspection and testing of the      changes before the directory tree reorganization, planned next.<br>      The major enhancements include:</p>      <ul>        <li>Portrait mode driver for framebuffer systems.&nbsp; This is a big          win for handhelds and palmtops, many of which require portrait mode          for normal operation.&nbsp; All graphics output, including mouse          movement, hotspots, and text output, are rotated and displayed in          portrait mode.&nbsp; In addition, your Microwindows applications can          be viewed in portrait mode on the desktop.&nbsp; Try moving the mouse          without holding your head sideways!</li>        <li>The RTEMS operating system port source has been integrated with the          main tree.</li>        <li>Fixes to allow Microwindows to be run on big-endian machines are now          included.</li>        <li>Various bug fixes including the Microwindows terminal emulator pty          fix for X11, and Nano-X GrMovewindow fixes for child windows.&nbsp;          There are still some issues relating to Nano-X clipping during window          movement.</li>      </ul>    <h3>RTEMS Port</h3>    <p>December 3, 1999<br>    There's been alot of interest and development with Microwindows lately.&nbsp; Rosimildo    daSilva has ported Microwindows 0.86 to the RTEMS operating system, available at <a href="http://members.xoom.com/rosimildo/rtems_gui.htm">http://members.xoom.com/rosimildo/rtems_gui.htm</a>.    &nbsp; <a href="http://www.oarcorp.com/">RTEMS</a> is a POSIX-threads compliant real time    multitasking operating system which runs on Intel, Motorola, Hitachi, Mips, and many other    CPUs.</p>    <h3>Version 0.87pre1 release</h3>    <p>December 2, 1999<br>    I have prepared an interim release of Microwindows and Nano-X enhancements, which    completes many things folks have asked for, version 0.87pre1. This is available for    download at <a href="ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre1.tar.gz">ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre1.tar.gz</a>    <br>    The major enhancements include:<ul>      <li>Support for running under X11. Microwindows and Nano-X can now run as a user-defined        (default 640x480) window under X Windows. The graphics output and look and feel are        identical to framebuffer, but will run on any X display server.</li>    </ul>    <ul>      <li>Compile-time options allow configuration to emulate any of the Microwindows truecolor or        palette modes, in any pixel depth, including grayscale. This allows a Microwindows or        Nano-X application to be emulated exactly, regardless of the host's or target's        framebuffer characteristics. Thanks to Tony Rogvall for the X11 driver.<br>      </li>      <li>The client/server network code has been completely rewritten for speed!!!        I studied the        X11 Xlib implementation and came up with a similar implementation. By queuing all client        data until an event or reply is required, Nano-X now runs at extremely high speed.        For benchmarking, use the world demo, which plots several thousand        points.&nbsp; This demo now runs extremely quickly.&nbsp; Unlike        the Xlib implementation, Nano-X still runs synchronously per client, meaning that once a        client request packet is sent, the server waits until the whole packet has arrived until        servicing another client. This keeps the server code immensely simpler, while still        running very quickly.&nbsp; I urge interested folks to check out the implementation, in        mwin/src/nanox/nxproto.{ch}, and mwin/src/nanox/client.c.<br>      </li>      <li>Routines were added to allow Nano-X to be used as a &quot;passive library&quot;, meaning        that an application with it's own main loop can now call into Nano-X occasionally        (after a        select returns a file descriptor that Nano-X is interested in), and it will all work. This        was done for Morten. See mwin/src/nanox/client.c, functions GrPrepareSelect(),        GrServiceSelect(), GrMainLoop(). <br>      </li>      <li>Routines were added to get the system palette, and translate an RGB color to a PIXELVAL        palette index. This was for Richard and the Opera browser. See mwin/src/nanox/srvfunc.c,        functions GrGetSystemPalette, GrFindColor(). <br>      </li>      <li>A null mouse driver was added for systems without a mouse, by setting NOMOUSE=1 in        Makefile.<br>        <br>        This is released as 0.87pre1 because I still haven't finished the directory tree        reorganization, and adding Martin's cool X11 graphics makefile configuration tool. The        client/server code rewrite took alot more time than expected. I am also working on getting        all source on CVS. </li>    </ul>    <h3>NanoGUI combined with Microwindows</h3>    <p>November 13, 1999<br>    Alex Holden, the originator of the NanoGUI project, officially handed over his role to    Greg Haerr, so that the NanoGUI and Microwindows projects can officially be available as a    single distribution.&nbsp; Alex continues to host the Microwindows/NanoGUI mailing list.    &nbsp; Although the releases have been maintained for some time by Greg Haerr, the    official distribution site is now moved here.&nbsp; A big thanks goes to Alex for thinking    up the NanoGUI idea and hosting the initial web site.</p>    <h3>Opera Web Browser ported to Microwindows</h3>    <p>November 11, 1999<br>    <a href="http://www.opera.com">The Opera Web Browser</a>, a browser known for it's small    footprint and operation on different operating systems, including Windows, BeOS, Linux,    Solaris, MacOS and OS/2, has announced they have completed initial work porting Opera to    Microwindows.&nbsp; This is a crticial milestone for Microwindows, since it shows that    larger, graphics intensive applications can run on top of the Microwindows graphics    engine.&nbsp; The Opera port uses the Nano-X api and features jpeg and gif image support,    as well as transparent image drawing.&nbsp; The codefile size is 670k.&nbsp; The current    Microwindows footprint is less than 100k with no compiled-in images.</p>    <h3>Version 0.86 release</h3>    <p>October 28, 1999<br>    Thanks to Brad LaRonde for helping me get this web page out.&nbsp; I have posted an update    v0.86 to Microwindows/Nano-X at: </p>    <blockquote>      <a href="ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.86.tar.gz"><p>ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.86.tar.gz</a>      </p>    </blockquote>    <p>This version completes a major effort, that of implementing off-screen drawing, as well    as screen-to-screen blitting. The screen driver interface had to change to accommodate    this, and I had to rewrite all the screen drivers. In addition, the blitting routines were    written for 1, 2, 4, 8, 16 and 32bpp linear framebuffer devices, as well as the 16 color 4    planes vga (this was a royal pain...) The blitting uses a clipping region traversal    algorithm so that blitting is always high speed, even when the destination window is    partly obscured. </p>    <p>This release also auto-detects most Linux framebuffer implementations, and should have    a compiled in driver for it. </p>    <p>The standard Microwindows demo is now a graphical terminal emulator, mterm. (No, it    doesn't run vi yet, and it doesn't repaint it's screen contents, but it will ;-) This demo    requires screen-to-screen blitting for scrolling. The 3d graphics demo now uses offscreen    blitting to enhance (read no flicker) the display. Check it out. </p>    <p>There is also some experimental full-blown region handling code included, which uses    X11's y-x banding region algorithms. (This stuff is truly for those with extra time and    brains). It is currently not compiled in, but can be included by replacing devclip.c with    devclip2.c. In the next release, arbitrary multi-rectangle clipping regions will be    available. I also plan on implementing separate clip regions from update regions for    windows, with the system computing the update region as a subset of the clip region.    Anyway, this sophisticated region handling is required for smart window painting as well    as higher end graphics primitives. Eventually, this will also allow separate source and    destination clipping for bitblit operations. Only destination clipping is working now. </p>    <p>The next release will have a reorganized directory structure, allowing separate    development of Nano-X, widgets, core engine, and Microwindows. I plan on moving the whole    thing to a CVS soon. BTW, Microwindows now supports three processor families, according to    reports emailed me. We've got i386, 8086, MIPS Vr41xx, and ARM families running ;-) </p>    <p>Following is a summary of the ChangeLog: <br>    Version 0.86 - 28th October 1999 - greg@censoft.com <ul>      <li>merged framebuffer, elks and msdos vga 16 color 4 planes drivers </li>      <li>wrote vga bitbit routines (a herculean effort) </li>      <li>optimized bitblit by traversing window clip region </li>      <li>added experimental multi-rectangle dynamically allocated regions </li>      <li>wrote scrolling terminal emulator demo for microwindows </li>      <li>added WM_FDINPUT msg, WndRegisterFdInput call for terminal emulator </li>      <li>changed SCREENINFO struct, removed black/white, added bpp, planes </li>      <li>added offscreen (memory DC) drawing to microwindows </li>      <li>added BitBlt, CreateCompatibleBitmap, CreateCompatibleDC, DeleteDC </li>      <li>retired BOGL library, must use new interface for blitting </li>      <li>converted framebuffer, svgalib, elks and msdos screen drivers (we need blit routines for        herc and svgalib still) </li>      <li>major screen driver interface change, old drivers not compatible </li>    </ul>    <p>Page maintained by Greg Haerr &lt;<a href="mailto:greg@censoft.com">greg@censoft.com</a>&gt;</td>  </tr>  <tr>    <td valign="top"></td>    <td></td>  </tr></table></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -