From: "Greg Haerr" <greg@viewml.com> To: <nanogui@linuxhacker.org> Date: Tue, 23 Jan 2001 18:47:36 -0700 Subject: [Handhelds] Microwindows 0.89pre7 released The long-awaited 0.89pre7 is _finally_ released, and is available at: ftp://microwindows.org/pub/microwindows/microwindows-0.89pre7.tar.gz There are some major enhancements in this release, as well as many small additions and bug fixes required to run well on PDAs, WebPADs, and set-top boxes. Some of the major enhancements include: o Complete scancode-mode keyboard driver rewrite. The Microwindows keyboard interface is now complete, and all applications now have access to separate keydown and keyup events for every key on the keyboard, including function keys, shift/ctrl/alt, as well as additional keys found on things like the iPAQ. In addition, all keystrokes are reported with a unicode value (read from the Linux kernel tables) as well as an up/down scancode. This modification changed some of the earlier contributed keystroke API and it's now far simpler to catch any keystroke without additional decoding. This modification was required for the Doom port to Microwindows, available from the ftp site. See mwtypes.h for the new keynames. The scancode driver is enabled by setting KBDSCAN=Y in the config file. The X driver has been updated as well so that keystrokes are identical when running Microwindows on X or framebuffer. o Microwindows now exits with the PAUSE/BREAK key, rather than the ESC key. This change makes it harder to accidentally exit. o Support was added for the G.Mate YOPY PDA. o Image support is enhanced with PNG, PBM,PGM and PPM image decoders (thanks Alex) o Top-level window movement is many times faster using screen-to-screen blitting when dragging windows around. (An option in the window manager also allows drawing an XOR frame instead for slower systems: OUTLINE_MOVE). o A very nifty launcher application with an extremely cool set of screensavers has been added. Background pixmap support for tiling, centering and such makes background wallpaper a snap. A tetris game has been added. (thanks again to Alex for a heck of a lot of work and a great job on all this!) o Support for 5/5/5 15bpp screens was added. I finally realized why my home system 16bpp never looked good! This change was required for ongoing work with digital video on Microwindows. o A pass at a macro-driven Xlib to Nano-X conversion header file, XtoNX.h, which greatly helps hacking Xlib programs into running easily. o A number of new API entry points were added, including selection api Gr[GetSet]SelectionOwner, GrRequestClientData, GrSendClientData. Screen saver support with a new internal timer mechanism with GrSetScreenSaverTimeout. GrSetBackgroundPixmap, GrNewPixmapFromData for X bitmap display conversion. GrSetWindowTitle, GrSetWindowBorderColor, GrSetWindowBorderSize, GrSetWindowBackgroundColor for the xfreecell port. o Extensive automatically generated html/pdf/sgml documentation, which has been placed in the microwin/doc/nano-X directory. o FreeType font caching has been added, enabling _much_ faster display of truetype fonts. (there's still some issues with this, and a change in the font api will be required for the full fix.) Some of the big bug fixes that are included are: o Fix XFree86 4.0 expose event handling when running on newer X11. o Fixed nasty slow blitting in the X11 screen driver. (more on this to come) o Added -mstructure-size-boundary=8 for StrongARM compiles o Fixed dropped events when running client/server. This was a big problem and numerous events were dropped by clients due to a client/server protocol issue that wasn't handled properly by the client library. We've now had to move to a client-side event queue. o Linker error when building shared libraries fixed Thanks again to everybody for the extremely numerous contributions and fixes to this release. I plan on adding a major improvement to the image/blit architecture in the next release. Following is the complete ChangeLog, including the 6b and unreleased 6c revisions since 0.89pre5: Version 0.89pre7 - 21st Jan 2001 - greg@censoft.com * moved config.* files to Configs directory and added README * moved caching devfont.c to devfont.caching.c (breaks ftdemo) * added extensive gtkdoc sgml/html/pdf nano-X documentation from Alex * wrote Xlib to Nano-X macro hdr file for easier porting (XtoNX.h) * added Alex's improved server timeout routines (no alarms) * converted demo3 to nxview image viewer * added time field in GR_EVENT_BUTTON for double-click determination * fixed fast window move blit bug with non-root child windows * added GR_WM_PROPS_BORDERCOLOR * added useful macro functions: GrSetWindowTitle,GrSetWindowBorderColor, GrSetWindowBorderSize, GrSetWindowBackgroundColor * ported xfreecell to nano-X * added GrNewPixmapFromData to create pixmap from bitmap data * added Alex's GrSetBackgroundPixmap, GrBell * added Alex's cool screensaver app nsaver, GrSetScreenSaverTimeout * added Alex's getselection/setselection demos, Gr[GS]etSelectOwner, GrRequestClientData, GrSendClientData * enhanced nxclock and ftdemo * fix shared library bug w/GetSysCharHeight function * fixed MwRegisterInput/Output/Except bug (Yang) * fixed Arch.rules for Solaris 7 * fix antialiasing bug when both T1lib and Freetype enabled (Murphy) * fixed GrReadArea offset bug (Dave Tubbs) * added MWPF_TRUECOLOR555 for 16 bpp 5/5/5 packed pixels * fixed PIXEL565TOCOLORVAL and PIXEL332TOCOLORVAL macros * fixed 5/5/5 driver for ATI card Version 0.89pre6c (unreleased) 8th Dec 2000 - greg@censoft.com * new scancode kbd driver: ESC never quits, pause/break quits select with SCANKBD=Y in config (default) * added Brent's changes for VxWorks port * added PNG image decoding from Alex * fixed GrGetNextEvent returning event twice when signal caught (Alex) * fixed XPM loader errmsg on non-XPM images from Alex * added launcher application from Alex * added HAVE_PNM_SUPPORT for PBM,PGM,PPM ascii&binary images from Alex * added ntetris game from Alex * fixed FREETYPE_FONT_DIR in engine/Makefile * added freetype font caching to devfont.c (experimental) (huge speedup) * added -mstructure-size-boundary=8 for ARM compiles and structure bugs * changed MOUSE_POSITION to ..._MOTION in scribble for better recognizer * fixed nasty slow blitting code in X11 driver * added USE_EXPOSE config option for XFree4.0 backing store expose fix * added iPAQ scancode keyboard driver * added YOPY mouse driver and YOPY build support * fixed dropped events bug in client/server!! * send UPDATE_MOVE to all children on window move * finished fast screen blit move algorithm for topmost windows * auto calculation of virtual screen size * change GR_EVENT_MOUSE subwid to always be mouse window (Peter) * added auto-repeat to scancode tty driver * fixed buggy GrGetRegionBox * fixed X11 screen->offscreen blit * fixed blit with negative src clipping * added GR_MODE_EXCLUDECHILDREN clip mode to GrSetGCMode * added window resize to nanowm and #define OUTLINE_MOVE * changed GrInjectPointerEvent visible arg semantics * converted x11 kbd driver to scancode * added MWKEY_* defines, changed kbd modifiers removed GR_MODIFIER_*, GR_SPECIAL_*, GR_KEYSTROKE_* defines api change: GR_EVENT_KEYSTROKE to return unicode only values api change: GrInjectKeyboardEvent * complete keyboard driver rewrite: scancode, up/down events * ported Doom! to Microwindows * fixed overlapping blit for 8/16 bpp * added current mouse coords in SCREENINFO struct * started on Wt widget set port Version 0.89pre6 - 12th Nov 2000 - greg@censoft.com * added Peter's driver blit fix for dst in src rectangle * added Scott's correct GdFillPoly routine (uses malloc/qsort) works for irregular polygons, concave, convex with holes * added config.ipaq for pre-built ipaq build configuration * added -lm to LDFLAGS when T1LIB or FREETYPE is used * added FLIP_MOUSE_IN_PORTRAIT_MODE #define to engine/devmouse.c * added Vladimir's nxlsclients and nxev programs * GrCopyArea optimization fix for windows with no eventclients (slider) * added Kim's SH3 reversed order fblin4sh3.c driver * added support for SuperH compilations (LINUX-SH) * added Jordan's convxpm.perl xpm to rgb converter * added Brent's alloca patch * fix update map/unmap events sent only on actual unmap/map * fix window manager to map parent before reparent for unmapcount bug * allow GdStretchBlit to width/height of 0 without error * remove GsError for GrNewPixmap of 0 width or height * change to service all kbd data in single poll loop * change low level clipping to always clip child windows * fix server clear allocated pixmaps before drawing to them * fix blit code after xor in X11 driver for nxterm Have fun! Regards, Greg _______________________________________________ Handhelds mailing list Handhelds@handhelds.org http://handhelds.org/mailman/listinfo/handhelds