Downloads
Source Code
Screen Shots
Linux Binaries
ELKS Binaries
MSDOS Binaries
Docs
FAQ
Architecture
Articles
LinuxDevices
WirelessDevNet
LinuxToday
Century HostML
Links
Linux VR
Linux CE
ELKS
Brad's Linux MIPS Pages
RTEMS Port
Monta Vista
Century Software |
Welcome
Microwindows is an Open Source project aimed at bringing the features of modern
graphical windowing environments to smaller devices and platforms. Microwindows
allows applications to be built and tested on the Linux desktop, as well as cross-compiled
for the target device. Microwindows' genesis was with the NanoGUI project, and has
now been combined into a single distribution. The Win32/WinCE API implementation is known
as Microwindows, and the Xlib-like API implementation is known as Nano-X. Please read the FAQ for more information. An extensive Architecture document is also available.
Check out the Articles that have been written about Microwindows in the left
sidebar.
To get involved, please join the NanoGUI
mailing list. There is a full mirror of the mailing list
accessible here.
News
Kaffe and OTI Java port, Version 0.88pre11 released
July 10th, 2000
The [hopefully] final prerelease to version 0.88 is now available at:
ftp://microwindows.org/pub/microwindows/microwindows-0.88pre11.tar.gz
This version adds a variety of enhancements that enable Microwindows to host some open source
and commercial java environments, as well as almost completing our standard set of Win32
custom controls.
- Microwindows can now be configured in an extremely small configuration
by setting the new NOFONTSORCLIPPING option in the config file. This allows Microwindows to be used
to just open and setup the screen driver, but not use any of the mid level drawing routines,
which is perfect for bringing over applications that perform all their own
drawing, but require only a framebuffer or screen driver interface to the hardware. In addition, support for no
fonts is now included if desired.
- Kevin contributed win32 checkbox, radio and static controls for the win32 api, as well as a
not-yet-working combobox control. This nearly complete's Microwindows' low level
custom controls for the Windows api.
- Simon contributed a horizontally flipped portrait mode driver for systems where the display
is upside down. We should now be able to handle almost all landscape/portrait
implementations.
- Andrew contributed a FreeBSD port of Microwindows, as well as hacking the W Window
Systems' terminal emulator to run on Nano-X. It provides a VT52 terminal emulation so that
now any curses based program can be run as a Nano-X client.
- Other bug fixes and gdi enhancements were added to support the ongoing Kaffe JVM port
by Roman.
- The GrSetFontAttr api changed slightly to allow runtime underlining without requiring a font
switch, this change should be invisible to most user programs.
I plan on making version 0.88 final in the next few days, it appears that most everything is
operational, and I think we need a stable non-prerelease here soon.
The complete ChangeLog follows:
Version 0.88pre11 (IBM OTI java&Kaffe ports) - 10th July 2000 - greg@censoft.com
* added set palette patch from Joe for Embedded Planet /dev/lcd driver
* started adding win32 keyboard support (not working yet)
* added Andrew's port to FreeBSD, Wt wterm terminal emulator port
* fixed convbdf font size error
* added Kevin's not working combobox control
* added George's Isicad Prisma screen driver and config
* added Simon's flipped portrait mode driver (we now have two)
* added updated BC5 makefiles from Ming-Lin Kao
* added HZK font patches from kevin
* added checkbox, radio button and static controls by kevin/cms
* changed GrSetFontAttr,GdSetFontAttr api
* added underlining to font rendering with GrSetFontAttr/MWTF_UNDERLINE
* fix WS_POPUP parent clipping, add owner window handling
* fix delete pen/brush/font resources in ReleaseDC, use DeleteObject
* fix memory leak in GetDCEx using CS_OWNDC
* added nofont.c for null font support
* added NOFONTSORCLIPPING config option for screen driver interface only
* separated engine open and draw routines for small driver interface
* IBM OTI Microview port: no ALPHABLEND, VTSWITCH, FBVGA, EPRINTF chg
FLTK-pre6 on Nano-X, Version 0.88pre10 released
June 18th, 2000
A number of quick bug fixes have been made to the last release, resulting in another prerelease available at:
Microwindows except the microwin/src/fonts/chinese directory:
ftp://microwindows.org/pub/microwindows/microwindows-0.88pre10.tar.gz
FLTK ported to Nano-X api:
ftp://microwindows.org/pub/microwindows/fltk-nanox-pre6.tar.gz
A lot of work was performed to get the FLTK port to Nano-X running well. It now looks pretty
good, though there's still alot to be done. The Nano-X region routines were slightly revamped
to best mirror Xlib calls, the GR_RECT structure was changed, and quite a few bug fixes were made.
Tanghao contributed more changes to fltk-nanox, and fixed some expose event problems, added
the region code, and added Nano-X to the configure script.
In addition, I fixed up the Microwindows win32 listbox, and started work on non-client area
scrollbars, which I've added to bin/mdemo.
Kevin submitted a patch to get HZK chinese character display working with the t1demo program,
and Simon contributed a slider game.
Overall, 0.88pre10 and fltk-nanox-pre6 seem to work well.
Please check out the new features, and send any bug fixes to the list. I'll be pretty busy for about
the next week.
The ChangeLog for 0.88pre10 follows:
Version 0.88pre10 (fltk-nx port) - 18th June 2000 - greg@censoft.com
* started adding win32 non-client area scrollbars
* added Simon's contributed slider game (slider.sh)
* added Nano-X GrEqualRegion, GrEmptyRegion, GrOffsetRegion
* added GdEqualRegion, GdEmptyRegion
* changed GdRectInRegion to return partial intersection values
* fixed Nano-X clipping regions relative to drawable
* changed GR_RECT struct to match X, not win32
* changed GrRectInRegion, GrGetRegionBox, GrUnionRectWithRegion parms
to match X
* applied Kevin's HZK font sizing fix
* removed floating point, ldiv from ported progress bar, fixed bugs
* fixed listbox multi-element display code, initial state
* fixed PIXELVALTOCOLORVAL macro typo
Chinese fonts, window manager, polygon regions, arcs, pies, fltk
Version 0.88pre9 released
June 15th, 2000
Well, I've finally completed another big prerelease of Microwindows, thanks alot for all the
contributions... I can barely keep up, it seems. This distribution is split up
into a couple files because the contributed chinese fonts are large. The following files are now available:
Microwindows except the microwin/src/fonts/chinese directory:
ftp://microwindows.org/pub/microwindows/microwindows-0.88pre9.tar.gz
Chinese fonts (12x12, 16x16 ascii, GB2312 and Unicode-16 and others):
ftp://microwindows.org/pub/microwindows/microwindows-fonts-chinese-0.88pre9.tar.gz
FLTK ported to mwin32 API:
ftp://microwindows.org/pub/microwindows/fltk-mwin32-pre5.tar.gz
FLTK ported to nano-x API:
ftp://microwindows.org/pub/microwindows/fltk-nanox-pre5.tar.gz
I want to merge the two FLTK ports into one, but the Nano-X version was just contributed, and I
only had time to make sure that it ran well. (And it looks great with our new Nano-X Window
Manager!)
There have been a large number of contributions since the 0.88pre8 cut, and I have included
almost everything that has been submitted. Following are some of the highlights:
- Chinese character display is now incorporated within Microwindows. There are a few variations,
and the work is still in progress. We now support disk-based Unicode-16, GB2312 and Big5
Chinese national standard encoding with contributed 12x12 and 16x16 Han Zi Ku
chinese and ascii fonts that display well together. This option is enabled with the HAVE_HZK_SUPPORT
config option. Thanks to Tanghao and Jauming for this contribution. Separately,
a compiled in chinese font with GB2312 encoding support is enabled with the HAVE_GB2312_SUPPORT
option. Thanks to Guo for this. There are a number of issues with the implementation, and I will
follow this up in a separate email.
- Nano-X now has a working window manager, thanks to Alex Holden.
While still a work in progress, it allows movement of windows and paints title bars, close boxes, and resize
borders. This is a great piece of work and I am very impressed. It runs as a separate
process, just like the Nano-X processes do.
- Complete region support has been added to Nano-X, which we've been needing in order to
proceed with the GTK and FLTK-nanox ports. In addition, full-blown (optional) polygon
area regions have been added to our region engine. Thanks to Murphy for most of this
work.
- Arcs, pies, and outlined arcs have been added to Microwindows and Nano-X. This was a
big pain, although a lot of fun. There's still some bugs in there but we've now got all our
basic drawing functions done. I wrote a new demo to show them off.
- Kevin contributed ports of MiniGUI's listbox, edit control and progress
bar, and I dressed them up and made them look very 3d for the mwin32 api. The listbox doesn't seem to
display more than one item, but more controls will soon be added, like combobox and
scrollbars.
- The MIPS based Osprey board is now supported, along with some changes to the
touch-pad calibration program, contrib/GPL/tpcal.
- Various fixes to get Nano-widgets and C++ objects to compile are included, as well as a
palette patch for VNC. A nasty data corruption bug, only when UPDATEREGIONS was
set, is fixed.
The complete ChangeLog for 0.88pre9 follows:
Version 0.88pre9 - 15th June 2000 - greg@censoft.com
* added Chinese Han Zi Ku font support from Tanghao and Jauming
12x12 and 16x16 ascii and chinese fonts
Big5, Unicode-16 and GB2312 encoding supported
set with config option HAVE_HZK_SUPPORT
* added Guo's Chinese GB2312 decoding routines, fonts/gb2312font.c
set with config option HAVE_GB2312_SUPPORT
* added Jin ke xue's gb16x16song.c font file (no support yet) (and .bdf)
* fixed C++ objects to compile
* added Rosimildo's RTEMS changes, convbmp allows full paths
* added Alex's VERY COOL nano-X window manager! (great job!!) nanowm.sh
* added GrSetWMProperties,GrGetWMProperties,GrCloseWindow, GrKillWindow
* added Alex's npanel enhancements (solid dragging, zombies)
* added Alex's cpu usage reduction to nclock, npanel
* added Alex's patch to get nano-widgets to compile
* added Alex's PPM file decoder demo6
* implemented DT_CENTER, DT_RIGHT for DrawText
* added changes in tpcal.c for MIPS Osprey board port, dblclk changes
* HAVETEXTMODE #define for Osprey and Embedded Planet ports
* added Michael's MINIX port updates
* added George's setpalette changes to VNC
* added GdAllocPolygonRegion, GrNewPolygonRegion, CreatePolygonRgn
* fixed nasty #if UPDATEREGIONS in windows.h compile problem
* added Kevin's port of edit, listbox and progressbar from MiniGUI
* added GdGetRegionBox, GrGetRegionBox
* fixed update regions calc bug
* combined GdEllipse and GdFillEllipse and Arc/Pie routines
* wrote pie, arc, outline arc routines, win32 Arc,Pie, GrArc,GrArcAngle
* added George's patch to fix X11 screen driver setpalette function
* added Murphy's region code for Nano-X, also polygon regions
Version 0.88pre8 released
May 23, 2000
I have finally put together another release of Microwindows at:
ftp://microwindows.org/pub/microwindows/microwindows-0.88pre8.tar.gz
This release has been a while in coming and includes the following major enhancements, including
those in the unannounced 0.88pre7 release:
o Fixed font issues with FLTK port, things are now starting to look pretty good. I have released an
FLTK snapshot that works well with this release at:
ftp://microwindows.org/pub/microwindows/fltk-pre4.tar.gz
o Added George's VNC viewer for Nano-X. This is very, very cool, and it works, although it's
not complete. A Microwindows based system can now communicate with Windows, UNIX and
Mac systems and can actually operate any program remotely! This means that handhelds and
PDA's can now potentially communicate with servers and have users operate anything,
using very little RAM. Currently this only operates in 8bpp mode, but I plan on enhancing it considerably.
o Added Morten's two patches for font selection and external keyboard and mouse input. These
patches are necessary for the Opera port to Nano-X and other things Morten is working
on. The font selection is turned on with a #define FONTMAPPER in device.h and allows for very
sophisticated font selection via the new logical font structure filled in by user programs.
o Finally fixed the Nano-X server crashing on certain client exits. Thanks to Kevin Lin for this.
o Fixed win32 top/baseline/bottom positioning, required for FLTK.
o Added support for DJGPP, BC 5.02, and MINIX.
o Completed port to Embedded Planet's PowerPC box. We now have both touch screen and
framebuffer display support when used with Monta Vista's CDK.
o Finished cool minesweeper game, complete with bitmaps.
o Many bug fixes of all types.
We have finally got an initial snapshot of the GTK+/GDK port running on Nano-X. There's still
quite a bit to do, as it barely runs. There's a snapshot tarball as well as
a diff from the gnome.org GTK 1.3 CVS at: ftp://microwindows.org/gtk. I'm not sure I advise playing
with this just yet. Thanks to Paolo for this great work.
The ChangeLog for this release since 0.88pre6b is:
Version 0.88pre8 - 23rd May 2000 - greg@censoft.com
* added Murphy's X vs Microwindows speed tester in contrib/speedtst
* fixed convbdf to not emit nonascii characters
* added Victor's DJGPP port
* removed automatic portrait mode
* added extern "C" to nano-X.h
* added Kao's patches for BC5, enhanced scr_tc.c, some bug fixes
* fixed win32 top/baseline/bottom positioning
* added Morten's GrInjectKeyboard/GrInjectPointer patches
* added Kevin Lin's fix to Nano-X persisent mode curclient crash
* changed GdCreateFont name,height semantics
* added Morten's font picker algorithm, turn on w/#define FONTMAPPER 1
Note: font selection is currently under development
and will likely change
* cleaned up source for Michael's MINIX port, replaced convbmp.c -s opt
* fixed XYPOINT in mou_tp.c, changes for embedded planet tp driver
* added PIXELVALTOCOLORVAL, COLORVALTOPIXELVAL macros, GdTranslateArea
* fixed multiple GsSelect() call in GrGetNextEvent in linked client/serv
* continued port of VNC to Nano-X, contributed by George
* added Rosimildo's patch for RTEMS, MW* fixes, svgalib fade
Version 0.88pre7 - 15th April 2000 - greg@censoft.com
* added LINUX-POWERPC port for embedded planet linux box
* fixed Polygon routine fill/draw reversed, AdjustWindowRectEx
* fixed no root window paint without background bitmap
* added bitmaps to minesweeper, polished up
* added middle button handling for mwin
* added GrSetSystemPalette
* added user-replaceable GdError, removed all fprintf/printf's
* added EPRINTF for all error printfs, DPRINTF for debug printfs
* removed HAVE_PERROR config option
* changed memmove to memcpy
Interim Version 0.88pre6b
April 5, 2000
I've added the patches received since 0.88pre6 and have released another interim version,
0.88pre6b:
ftp://microwindows.org/pub/microwindows-0.88pre6b.tar.gz
The patches received consist mostly of bug fixes, except for Erik's very cool implementation of
alpha blending for the X11 screen driver. Now everyone can check out alpha blending for
Microwindows on their X11 desktop.
However, there seems to be a big problem in the X11 screen driver when running X in 8bpp
mode: Microwindows runs out of colors and starts returning BlackPixel from
XAllocColor: thus alpha blending doesn't work in 8bpp mode. In addition, the t1demo.sh has the same problem.
If anybody volunteers to fix this problem in the X11 driver, that would be GREAT!
I've also made some small changes for the Kaffe port in progress, and started porting a
minesweeper game.
Attached is the ChangeLog:
Version 0.88pre6b - 5th April 2000 - greg@censoft.com
* added PostThreadMessage
* started porting minesweeper game
* fixed -p persistent mode
* added Kao's BC 5.02 fixes, other pre6 fixes from name changes
* added Steven's patch for polling drivers, HAVE_PERROR config option
* added Erik Hill's alpha blending for X11
* fixed jpeg compile bug
* removed include <asm/io.h> patch from Shane
Opera, Kaffe, GDK/GTK+ and FLTK ports being supported
April 2, 2000
The 0.88pre6 release is now available. Quite a few modifications have
been made in order to better support the new work with GDK/GTK+ and Kaffe
ports that have just started. The prerelease is available at:
ftp://microwindows.org/pub/microwindows/microwindows-0.88pre6.tar.gz
This release contains MAJOR changes to the public header files in an attempt to clean up the exported namespace
problems with Microwindows. All Nano-X exports now start with GR_*, and
all client callable routines start with Gr*. In addition, quite a bit of work was done making sure that only symbols required to be
exported are made public. This should help Microwindows be more suitable for the GDK/TGK+ and FLTK ports now in process.
All Microwindows engine typedefs and defines now start with MW*, and have been placed in mwtypes.h rather than in
device.h. Most previous Nano-X and Microwindows applications should compile up without change, except that some of
the latest font flags have changed from TF_* to GR_TF*, etc. The public header files for Nano-X and Microwindows
remain nano-X.h and windows.h respectively. Oh - GrUnloadFont is renamed GrDestroyFont.
I have created a new GR_LOGFONT (MWLOGFONT) structure for describing fonts more precisely with
GrCreateFont. There are now mechanisms to specify a font's height, width, orientation, weight,
family, pitch, and character set. The current font selection routine only uses the facename and height, however.
There are quite a few other small bug fixes included, as well as more Win32 API implementations for the Kaffe port. A
couple more X11 fonts were converted, and 5x7 and 6x13 versions compiled into the
base system for better readability with the terminal emulator. The system now automatically runs in portrait mode if yres > xres.
I plan on working on the new blitting architecture and getting better kbd support next.
Following is the ChangeLog:
Version 0.88pre6 - 2nd April 2000 - greg@censoft.com
* major header file cleanup, fixing namespace pollution
API typdef procs data
Nano-X: GR_* Gr*,nx*,(Gs*) nx*
Microwindows: MW* Mw* mw*
Engine: MW* Gd*,Mw* gr_*, fb*
* changed all Nano-X structures and defines to be GR_ prefixed
added GR_PIXELVAL, GR_RGB, GR_LOGFONT
* MW prefixed all exported typedefs for name space cleanup,
split device.h into mwtypes.h for exports
* added MWLOGFONT font descriptions
* removed BUTTON, MODE, MODIFIER typedefs
* added Martin's updates to FreeType renderer, updated ftdemo
* added Martin's updated xconfigure for X-based configuration
* renamed GrUnloadFont to GrDestroyFont, GdDestroyFont
* clean up various unwanted nano-X client library symbol exports
* redraw windows on nano-X client disconnect
* added -p for nano-x persistent mode, no exit on client disconnect
* added Timo's fix in GsAcceptClientFd, ignore SIGPIPE, mult GrClose bug
* added automatic portrait mode if screen y resolution > x res
* fixed GrReqShmCmds for linked client/server case
* implemented freetype renderer ascent/descent calculations
* added ascent field to compiled fonts, GrText uses TF_BASELINE default
* added 5x7, 6x13 compiled (bdf) fonts, FONT_SYSTEM_FIXED is now 6x13
* fixed typo in fonts/convbdf $IMAGEBITS incorrect
* added #include <asm/io.h> for outb in 2.3.x systems
* added AdjustWindowRectEx, WM_ACTIVATE, IsWindowEnabled
* completed GetPixel, added PIXELVAL to COLORVAL conversion macros
TrueType and Adobe T1 fonts now supported
March 19, 2000
After an _extremely_ lengthy weekend, I have now got both TrueType and Adobe Type 1 font support
integrated into Microwindows. Release 0.88pre4 is available at:
ftp://microwindows.org/pub/microwindows/microwindows-0.88pre4.tar.gz
Big thanks go to Vidar and Martin for contributing the initial work in this area.
Version 0.88pre4 has had the font routines heavily rewritten to allow multiple renderer support for fonts. We now are
able to run using compiled-in builtin fonts (converted using supplied bdf or Windows utilities), as well as using the FreeType
and T1 libraries for advanced font rendering. All can be supported simultaneously, if desired.
Support for ascii, unicode-16, and unicode-32 is completed, allowing text to be supplied from applications in these
formats. UTF8 support is almost supported, but we need a non-LGPL version of a utf8 to unicode-16 converter. Flags
bits to the GrText/GdText routines tell Microwindows how to convert all text before rendering it. Renderers can request
text in any format.
Font scaling to any pixel size, as well as rotations in degrees, and antialiasing for 8, 16, 24, and 32bpp is also completed.
Two new Nano-X sample programs ftdemo and t1demo are written to show off the new technologies. The source
in microwin/src/engine/devfont.c can be modifed to turn on rotations or turn off antialiasing.
There is still some work to do in GdArea, which I will start rewriting soon, as the alphablending and transparency blitting
are not performed at the driver level yet, so the antialiasing only works well when you know the final destination color.
The plan is to implement two new low level blitters that the font renderers can use, one for alphablending and the other
for transparent blitting.
Finally, we've added another touch screen driver for the ADS SA1100 ARM evaluation unit, which features a
640x480 3"x5" LCD display. We'll be contributing the kernel driver soon.
Have fun checking this out!
Here's the ChangeLog:
Version 0.88pre4 (truetype/t1 fonts) - 19th March 2000 - greg@censoft.com
* implemented text drawing in ascii, utf8, unicode 16 and unicode 32
* added font id's for Nano-X, added GrCreateFont, GrUnloadFont
* rewrote font subsystem heavily
* added alphablender for antialiased fonts for 8, 16, 24 and 32bpp
* added GrText, GrGetGCTextSize flags, CreateFontIndirect
* added GdText TF_ flags for 8,16,32 bit packing, top/bottom alignment
* added Martin's FreeType TrueType font support
* added Vidar's t1lib adobe type1 font support, t1demo for Nano-X
use HAVE_FREETYPE_SUPPORT config option
use HAVE_T1LIB_SUPPORT config option
* renamed min/max to mwmin/mwmax
* added Fabio's xconfigure patch for VTSWITCH
* fixed WM_CREATE lparam bug
* added mou_ts.c touch screen driver for ADS ARM port
* added GrSetGCFontSize, GdSetFontSize, GdCreateFont, GdUnloadFont
* added GWL_USERDATA to Get/SetWindowLong
* turboc port screen driver fixes
* added nonclient region special paint handling to avoid flicker
* added null kbd driver, set with NOKBD=Y
Version 0.88pre3d release, fltk port available
March 12, 2000
I have posted another prerelease of Microwindows at:
ftp://microwindows.org/pub/microwindows/microwindows-0.88pre3d.tar.gz
This version contains considerable enhancements which are needed to get FLTK (Fast Light Tool Kit, a C++ widget
set) ported to Microwindows. Great progress has been made. Almost all the widgets are at least operational, although more
work needs to be done. Screenshots of FLTK running on Microwindows are available at:
ftp://microwindows.org/pub/microwindows/ScreenShots/FLTK
I have posted a cut of fltk 1.0.7 hacked for Microwindows at:
ftp://microwindows.org/pub/microwindows/fltk-pre3d.tar.gz
Thanks to Shane for the screen shots and the fonts work.
Enhancements to Microwindows in this cut include quite a few win32 API new implementations, including complete region
handling including complex regions like round rectangle and ellipses, update regions/clipping, valid/invalid area paint
handling, polygon and ellipse drawing, and font routines.
In addition I have added the Linux Penguin to the Microwindows demo so that Microwindows can be better shown at
various trade shows. (It was recently displayed at the Embedded Systems Conference in Chicago,
and will be at several more in the next month)
For fun, I have added experimental palette animation. This works only on 8bpp palettized displays, and the Microwindow
screen fades in on startup, as well as between console switches. It's quite cool.
A variety of bug fixes are included in this release, including a nasty one which took many hours to find. The first 16 colors
of the palette were being overwritten if Microwindows was compiled with VTSWITCH=Y.
Also, portrait mode is working again.
Following is the ChangeLog:
Version 0.88pre3d (fltk port) - 12th March 2000 - greg@censoft.com
* changed FONTINFO struct, added firstchar, lastchar
* added Shane's fonts patches, added CreateFont, GetTextMetrics,
GetCharWidth, SetAlignText
* debugged nasty VTSWITCH palette changed bug
* experimental #define ANIMATEPALETTE for cool fade in
* added Kyle's patch to get portrait mode working again
* fix SetClipRgn/ExtSetClipRgn to take client coords (win32 api doc bug)
* added WM_SHOWWINDOW msg
* fixed coords to WM_MOVE msg for WS_CHILD windows
* added PeekMessage, Ellipse
* added Rosimildo's rtemscfg.h patch
* added GetUpdateRgn, GetUpdateRect, GdOffsetRegion
* added Kyle's GdCopyArea fix
Version 0.88pre3c (fltk port) - 8th March 2000 - greg@censoft.com
* added CS_OWNDC private DC's
* added SetActiveWindow, SetForegroundWindow, BringWindowToTop
* added Polygon, PolyPolygon (filled and outline)
Version 0.88pre3b (fltk port) - 6th March 2000 - greg@censoft.com
* added GetDeviceCaps, Polyline
* added extern "C" in windows.h
* fixed loop bug in CreateRoundRectRgn
* added penguin to bin/mdemo
* added ValidateRect, ValidateRgn, InvalidateRgn
* completely rewrote UPDATEREGIONS handling for new region fns
* added DCX_EXCLUDEUPDATE handling to window clipping
* sped up WndSetClipWindow, GsSetClipWindow
* added GdSetRectRegionIndirect, GdSubtractRectFromRegion
* added SetWindowPos for size,move,show,hide,repaint,zorder
Version 0.88pre3 release, fltk port started
March 5, 2000
There's a new cut of Microwindows, 0.88pre3 at:
ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.88pre3.tar.gz
This version primarily adds dynamic region clipping support, which will
be required for the fltk widget set port that's been started. In
addition, at Alan Cox's request, a define can be unset to run under the
smaller memory usage static cliprect design, for extremely small
systems.
The full-blown clip region support is pretty cool, since now
Microwindows performs region Intersect, Xor, Subtract, and Union.
This made it quite easy to add user-specificed clipping regions that can
be added/subtracted from the z-order computed visible region. I've
hacked the 3d demo to display only within a circular region, thus
testing CreateRoundRectRegion as well as blitting into circles.
Try it out, it's kinda cool.
In addition, Allistair Riddoch performed an amazing feat in about 50 lines
of code - he added client-based window management to his Nano-X
panel program. Now you can exec programs from the Nano-X server,
and move them around!
In addition, Rosimildo's Uniform Input Device and MicroFramebuffer
Architecture common API for RTEMS and other RTOS's is included. And
Victor contributed a TURBOC port, for 16 bit systems, using BGI... Vidar
added offscreen drawing support for Nano-X in 0.88pre2, this allows Nano-X
programs to draw images offscreen and then use the blitter for flicker
free drawing. Version 0.88pre1 introduced a heavily rewritten set of
screen drivers for speed, as well as a newly designed interface for
offscreen draw handling. With the new interface, the screen driver
rather than engine code allocates offscreen buffers, which allows the
driver to control how offscreen drawing is initialized and
performed. It's alot faster and cleaner. Also, 0.88pre1 introduces
the "make install" option, which copies Microwindows and Nano-X
header files into /usr/bin/microwin, allowing use of #include
<microwin/windows.h> in programs. The libraries are renamed
libmw*.a, and released into /usr/lib. This allows developers easy
access to Microwindows headers and libraries.
Following is the ChangeLog since the last major release:
Version 0.88pre3 - 5th March 2000 - greg@censoft.com
* added contributed DOS TURBOC port by Victor
* modified bin/mdemo to clip 3d drawing into a circle, added
penguin
* added GdAllocRectRegion, GdAllocRectRegionIndirect,
* added GdSetRectRegion, GdAllocRegion, GdDestroyRegion
* added SelectClipRgn, ExtSelectClipRgn, user clip regions!
* added DYNAMICREGIONS define for dynamic vs static (small) clip
code
* added win32 HRGN object and region routines
* added GetCursorPos
* added Al's update event patches for Nano-X client window manager
* added Rosimildo's RTEMS patches for uniform input devices
* added George's partial mouse data read fixes (upper level only)
Version 0.88pre2 - 29th February 2000 - greg@censoft.com
* added Al's npanel Nano-X program exec'er (cool)
* added Al's patch to cleanup windows on Nano-X client exit
* added Al's ignore sigpipe for ELKS
* added Morten's jpeg grayscale patch
* create dword-aligned offscreen bitmaps for speed
* removed much of global scrdev
* changed screen driver open routine to return psd
* added Vidar's patch for offscreen drawing in Nano-X, added
GrNewPixmap, GrCopyArea. GrDestroyWindow destroys
pixmaps
Version 0.88pre1b - 23rd February 2000 - greg@censoft.com
* added Kyle's bug fix for 16 and 32bpp jpeg support
Version 0.88pre1 - 22nd February 2000 - greg@censoft.com
* added PSD to GdClip routines, fixing potential offscreen write
bug
* renamed libraries, added "make install", hdrs to
/usr/include/microwin
and libs to /usr/lib/libmw*.a and libnano-X.a
* renamed RECT, POINT, CLIPRECT and CLIPREGION types to MWxxx
* added Al's ELKS patches for client/server Nano-X on ELKS
* renamed xconfigure, updated INSTALL with make instructions
* rewrote all fb drivers for speed eliminating multiple function
calls
* allow GdText count == -1 for strlen()
* added GdCalcMemGCAlloc to calculate offscreen allocate size
* added three offscreen memory allocation entry points to screen
driver
* rewrote vga16 driver to use outw rather than outb for speed
* adjusted fb drivers to always draw last point for
drawhorz/drawvert
* rewrote VT switching code, removed from fb driver to separate
file
* added SetIOPermissions in scrdev for pthreads create i/o bitmap
bug
* fixed parms named "min" in demos for ELKS bcc compiler
* changed VT switch signal to SIGUNUSED for pthreads compatibility
* added Brad's touch panel/mouse calibrator to contrib/GPL/tpcal
* fixed up SVGAlib driver for 256 colors, added screen to screen
blit
* process all mouse messages before next select: better mouse
speed
* added HTBORDER hit testing
* fixed FBVGA blitting, wrong scrdev used on memdc
Version 0.87 release
February 13, 2000
Microwindows version 0.87 is (finally) released. Source code is available at:
ftp://microwindows.censoft.com/pub/microwindows-0.87.tar.gz
Version 0.87 is fairly stable and seems to work well. It's been a long time
in coming since the 0.86 release at the end of October, 1999.
Following are some of the major additions:
- The 0.87 release now runs on Linux framebuffer, Linux SVGAlib, X11, Solaris,
RTEMS, ELKS, MSDOS 32 bit with DJGPP, and MSDOS 16 bit with MSC and PACIFIC C (free). The X11 screen
driver supports emulating a target screen driver in 1, 2, 4, 8, 16, 24, and 32bpp, without
having to cross-compile and run the application on the target device.
- The framebuffer screen drivers have been tested well, and now offer support for 1 through 32 bits per
pixel, as well as high speed (software) blitting, and alpha blending. 1 though 8 bpp palettized modes,
as well as 16, 24 and 32bpp truecolor modes are supported. The framebuffer
drivers have been tuned for speed, although more enhancements are planned.
- The new make system is completed, and a config file now controls all
options for specifying target architecture and features options. Cross-
compilation support for x86, MIPS, ARM Linux, Solaris, ELKS, DJGPP and RTEMS is included. All demos and libraries are built at
once, so it's much easier to link Microwindows when developing an application. A C++ object frameworks has been added.
Support for displaying JPEG and BMP file types has been added.
Thanks to everyone for the contributions - it was getting overwhelming for
a bit there, but almost all contributions have been added to this release.
I will now start work on getting the tree into CVS, as well as merging contributions for Truetype font support,
as well as some cleanups with the screen device structure for speed. In addition, as a result of the press
we've been getting, a number of folks are interested getting Microwindows running with their hardware and
software.
Following is the detailed ChangeLog:
Version 0.87 - 13th February 2000 - greg@censoft.com
* added VTSWITCH in config to include virtual terminal switch code
* added support for 24bpp, wrote 24bpp fb driver
* fixed 8/8/8 color macros: RGB2PIXEL888, COLOR2PIXEL888, PIXEL888RED
* fixed 32bpp fb bug with psd->ncolors, 32bpp alpha blit bugs
* added fb driver support for FB_VISUAL_DIRECTCOLOR cards (ATI)
* sped up 16, 32bpp blitters by using memcpy
* added large font patches from Kyle
* added PACIFIC C compiler support from Victor
* default UPDATEREGIONS=N in config file for alpha blend demo
* removed XORMOVE from config, requires only ERASEMOVE=N
* wrote alpha blending demo (requires UPDATEREGIONS=N)
* rewrote void *pixels in devdraw.c, won't compile on ansi compilers
* fixed PF_TRUECOLOR0888 bug in GdArea
* added DJGPP as config ARCH option, Victor's patches for DJGPP
* finalized alpha blending blit routines for 8, 16, and 32bpp
* added SetTimer/KillTimer api (single timer only)
* added Chris' SetSysColor api, C++ object frameworks patch to mwin/
* added Rosimildo's make patches for RTEMS
* added Martin's make/configure patches
Microwindows competes with Win2000 and MAC OS X??
February 5, 2000
Microwindows offers features that only the latest Windows 2000 and
upcoming MAC OS X have - translucent windows. This feature,
sometimes called alpha blending, is being touted by the press as one of
the coolest features of these new operating systems, and now we have it
(well, almost). Check out this screen shot for what's coming:
ftp://microwindows.censoft.com/pub/microwindows/ScreenShots/Microwindows-alphablend.gif
The application shown in the screen shot requires applications
programming for the effect. Soon, you'll just be able to set a
window style bit and get it automatically. Keep posted for details.
Feature story in LinuxDevices.com
February 1, 2000
LinuxDevices.com featured an article on Microwindows, entitled "Linux
+ Microwindows: challenger to WinCE". The news feature spoke
highly of the Microwindows Project and our ability to offer a WinCE-compatible
graphics API now for embedded systems developers. The article was
picked up additionally by LinuxDev.net and GeekNews.net. The article
can be seen at http://www.linuxdevices.com/cgi-bin/article_view.cgi?artid=AT5381373148.
Version 0.87pre6 release
January 31, 2000
YAP (yet another prerelease) of Microwindows 0.87 is available at:
ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre6.tar.gz
There have been so many contributions that I feel necessary to release this
for quality reasons. I want 0.87 to be quite stable, and I think the Makefile
system is now approaching it. Following are the main additions:
- Martin contributed an updated X11 based configure program, allowing users to configure various options of
Microwindows graphically.
- I've added experimental alpha blending support, just to test the concept. This works on 8, 16 and 32bpp displays. More
will be coming in the 0.88 release.
- Morten has contributed GrArea enhancements for high speed rendering, including some 16bpp alpha blending support.
- Chris has contributed a C++ objects framework, which can be enabled via the OBJFRAMEWORK config option.
- Many, many makefile changes and some small bugfixes.
I plan to go final within the next few days, after contributors have had a chance to sign off on the release, if desired.
I want to thank the growing list of contributors to Microwindows. It's really getting fun. I've been working on getting
some trade press for the project, and this should be coming real soon, so our efforts will be visible to a much larger
group of people.
Following is the ChangeLog:
Version 0.87pre6 - 31st January 2000 - greg@censoft.com
* added C++ objects framework from Chris
* added support for multiple read/write/except fd's from Chris
* added Martin's X11 configure program and various Makefile fixes
* added compile time warnings patches from Chris
* added Morten's drawarea patch pre5mr1
* added experimental 8, 16 and 32bpp constant alpha blending to bitblit
(#define ALPHABLEND in device.h and run bin/mterm for demo)
* changed distance-cubed find nearest color to use abs() for speed
* fixed max character height/width alloc; max now 128x128 (configurable)
* small bugfix DRAWON/DRAWOFF in mempl4.c
Version 0.87pre5 release
January 26, 2000
Thanks to everyone for the large number of contributions to Microwindows this last week. The quantity was large
enough that I feel we need yet another preprelease before 0.87 can go final, since I want the releases to be pretty
bug free and stable. This latest prerelease is available at:
ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre5.tar.gz
There are quite a few bug fixes and enhancements to the Makefile system, which since pre4 uses config files to set all options.
This release includes prebuilt config files for framebuffer, x11, and SVGAlib, in addition to RTEMS builds.
Notable additions, aside from many Makefile modifications include:
- bug fixed XOR drawing code for 1, 2, and 4bpp fb, thanks to Manuel Teira Paz. In addition, I optimized quite
a few routines when I discovered that gcc doesn't generate a shift right for
int/2 constructs (try it).
- Morten contributed sizeable changes to the GdArea routine, including a 16bpp drawarea driver for fast GdArea drawing.
- Chris contributed changes moving architecture information out from Makefile.rules to Arch.rules, as well as adding
the SetWindowLong function for using window extra bytes. In addition, config files can be kept in a user's
home/microwin directory so that the distribution can remain read only.
- Kyle contributed changes for arbitrary-width character drawing in Microwindows by submitting a newly hacked perl script
that will translate any width character, along with the appropriate driver modifications. Cool! We now support characters
up to 128 bits wide.
- Finally, an innocuous problem regarding unsigned short to int promotion fixed the DJGPP port.
Some patches didn't apply well and overlapped. I will be sending individual email to each contributor with
more detailed information. I hope to wrap up 0.87 before Friday.
Following is the detailed Changelog:
Version 0.87pre5 - 26th January 2000 - greg@censoft.com
* prepared prebuilt config files for fb, x11, svga
* added Morten's drawarea driver patch (16bpp only)
* fixed XOR drawing for 1, 2, 4bpp, improved speed with x>>2 not x/4
* applied Chris' FBVGA patch
* applied Rosilmildo's RTEMS compiling patch
* applied Morten's SCREEN_PIXTYPE X11 Makefile patch
* added Chris' SetWindowLong and $(HOME)config and Arch.rules patch
* completed fix for DJGPP compiled mou_dos.c driver
* added Kyle's patches for arbitrarily wide text chars
Version 0.87pre4 release
January 18, 2000
The final prerelease of version 0.87 is now available at:
ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre4.tar.gz
This release contains quite a few small changes, and a big change to the Makefile system. Morten Jolicoeur contributed
a config-based Makefile system back in October, and I've finally caught up enough to make it all work with all the changes since
then. This new system allows separate config files to be used to control different machine targets, operating systems, and
features without modifying the Makefiles. Martin also wrote a X wish based gui
config generator, but I haven't been able to test that. Please check out the config system and let me know how well it works.
- Martin's contributed JPEG and BMP file reader/display routines,
so that disk based images can be displayed.
- Morten's variable sized PIXELVAL mods, so the servers can be compiled using 8, 16 and 32-bit sized
PIXELVALs, for best memory utilization, and allowing applications to create
and display images in the native hardware format.
- PF_TRUECOLOR0888 (note that 0) was added for 4 byte pixel packing.
- Victor Rogach contributed a DJGPP port of Microwindows based on the GRX graphics package. GRX sets up
enhanced video modes under 32-bit protected mode so that Microwindows now runs on 32-bit DOS.
- Rosimildo contributed changes for the RTEMS operating system, allowing the scr_bios vga driver to be used without
making _any_ bios calls.
- Kyle Harris contributed fixes to the 16 and 32bpp framebuffer blitter routines, they didn't work for non-zero offsets.
- Added Dan's GrReparentWindow routine, allowing window managers to be written.
Full Changelog:
Version 0.87pre4 - 18th January 2000 - greg@censoft.com
* added Martin's new config-based Makefile system
* added Martin's JPEG and BMP file reading/display routines
* added Morten's variable PIXELVAL size mods
* added contributed DJGPP/GRX port by Victor Rogachev
* fixed 16bpp and 32bpp fb blit routines, by Kyle Harris
* added Rosimildo's RTEMS changes, scr_bios now runs without bios
* added Dan's GrReparentWindow, fixed GetWindowInfo bug
* added PF_TRUECOLOR0888 for 4 byte packing
* updated doc directory with html faq, architecture
Version 0.87pre3 release
December 19, 1999
A hopefully final prerelease for version 0.87 has been released, and is
available for download at:
ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre3.tar.gz.
This prerelease covers most issues discussed on the NanoGUI list the past
couple of weeks. Changes include:
- Directory reorganization started. . The Microwindows and
Nano-X specific source code, as well as the common engine routines are
now in their own directories. Include files are placed in a
common directory, etc. Although the source file rearrangement is
nearly complete, I still haven't added Martin's new Makefile system
(that will be coming, next cut). Thus, there still aren't separate bin
and lib directories, but the source organization should make
learning easier.
- GrArea() modified to allow different types of pixel data to be
displayed. Most of this is discussed in previous email lists.
It all works and should be enough for Morten to use as a base for his
work. This involved quite a bit of work, but is worth it since
Nano-X now supports drawing in device dependent and device-independent
manners.
- Quite a few bug fixes, including the Nano-X 64k request packet fix,
the GrMoveWindow fix for Nano-X allowing windows to be moved and
clipped properly, fixing portrait mode in Microwindows offscreen
blitting, and the assert() fix that caused Microwindows to exit
sometimes.
For the next cut I plan on adding Martin's make system, which allows
for much better configurability, as well as all demos and libraries to
be made at once. In addition, I'm probably going to take a swipe
at creating a window manager base for Nano-X, so that it's windows can
look as cool as Microwindows API, if desired. (No, this won't add much
code).
Following is the detailed ChangeLog:
Version 0.87pre3 - 19th December 1999 - greg@censoft.com
* started directory reorganization
* changed LINUX meaning in Makefile, added UNIX for SOLARIS
* fix negative blit index bug found under X11 by Piotr
* set rootwp->parent = NULL for nano-X, fixes GrMoveWindow
clip bug
* added COLORVAL<->PIXELVAL conversion macros
* modified GrArea to take packed pixel values of 8, 16 and 24
bits
* modified GrArea to take RGB COLORVALs as well as PIXELVALs
* renamed PF_TRUECOLOR24 to PF_TRUECOLOR888
* added tunable MAXREQUESTSZ to limit max request length
* modified Nano-X demo.c to GrArea() > 64k pixelvals for
testing
* fix client/server 64k length bug (request can be 24 bits in
length)
* fixed portrait mode in CreateCompatibleBitmap
Version 0.87pre2 release
December 14, 1999
The second prerelease for version 0.87 has just been released, and is
available for download at:
ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre2.tar.gz
This release is primarily intended for inspection and testing of the
changes before the directory tree reorganization, planned next.
The major enhancements include:
- Portrait mode driver for framebuffer systems. This is a big
win for handhelds and palmtops, many of which require portrait mode
for normal operation. All graphics output, including mouse
movement, hotspots, and text output, are rotated and displayed in
portrait mode. In addition, your Microwindows applications can
be viewed in portrait mode on the desktop. Try moving the mouse
without holding your head sideways!
- The RTEMS operating system port source has been integrated with the
main tree.
- Fixes to allow Microwindows to be run on big-endian machines are now
included.
- Various bug fixes including the Microwindows terminal emulator pty
fix for X11, and Nano-X GrMovewindow fixes for child windows.
There are still some issues relating to Nano-X clipping during window
movement.
RTEMS Port
December 3, 1999
There's been alot of interest and development with Microwindows lately. Rosimildo
daSilva has ported Microwindows 0.86 to the RTEMS operating system, available at http://members.xoom.com/rosimildo/rtems_gui.htm.
RTEMS is a POSIX-threads compliant real time
multitasking operating system which runs on Intel, Motorola, Hitachi, Mips, and many other
CPUs.
Version 0.87pre1 release
December 2, 1999
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 ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre1.tar.gz
The major enhancements include:
- 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.
- 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.
- 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. This demo now runs extremely quickly. 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. I urge interested folks to check out the implementation, in
mwin/src/nanox/nxproto.{ch}, and mwin/src/nanox/client.c.
- Routines were added to allow Nano-X to be used as a "passive library", 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().
- 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().
- A null mouse driver was added for systems without a mouse, by setting NOMOUSE=1 in
Makefile.
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.
NanoGUI combined with Microwindows
November 13, 1999
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. Alex continues to host the Microwindows/NanoGUI mailing list.
Although the releases have been maintained for some time by Greg Haerr, the
official distribution site is now moved here. A big thanks goes to Alex for thinking
up the NanoGUI idea and hosting the initial web site.
Opera Web Browser ported to Microwindows
November 11, 1999
The Opera Web Browser, 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. This is a crticial milestone for Microwindows, since it shows that
larger, graphics intensive applications can run on top of the Microwindows graphics
engine. The Opera port uses the Nano-X api and features jpeg and gif image support,
as well as transparent image drawing. The codefile size is 670k. The current
Microwindows footprint is less than 100k with no compiled-in images.
Version 0.86 release
October 28, 1999
Thanks to Brad LaRonde for helping me get this web page out. I have posted an update
v0.86 to Microwindows/Nano-X at:
ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.86.tar.gz
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.
This release also auto-detects most Linux framebuffer implementations, and should have
a compiled in driver for it.
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.
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.
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 ;-)
Following is a summary of the ChangeLog:
Version 0.86 - 28th October 1999 - greg@censoft.com
- merged framebuffer, elks and msdos vga 16 color 4 planes drivers
- wrote vga bitbit routines (a herculean effort)
- optimized bitblit by traversing window clip region
- added experimental multi-rectangle dynamically allocated regions
- wrote scrolling terminal emulator demo for microwindows
- added WM_FDINPUT msg, WndRegisterFdInput call for terminal emulator
- changed SCREENINFO struct, removed black/white, added bpp, planes
- added offscreen (memory DC) drawing to microwindows
- added BitBlt, CreateCompatibleBitmap, CreateCompatibleDC, DeleteDC
- retired BOGL library, must use new interface for blitting
- converted framebuffer, svgalib, elks and msdos screen drivers (we need blit routines for
herc and svgalib still)
- major screen driver interface change, old drivers not compatible
Page maintained by Greg Haerr <greg@censoft.com> |