Great news! I had a long standing issue related to framebuffer drawing so I will plan on revisiting it with this new code.
> -----Original Message----- > From: g...@censoft.com > Sent: Thu, 24 Jun 2010 20:27:55 -0600 > To: nanogui@linuxhacker.org > Subject: [nanogui] status of nano-X/microwindows project > > Hi guys - > > It's been quite a while since I've communicated about what's > happening with our nano-X/Microwindows project and development > plans. As many know, other than having moved to a git repository > earlier this year, the website hadn't been updated in five years. > Prior to the beginning of this year, I had been involved in other > endeavours, and hadn't had time for new development, hardly > enough time to apply the many patches that have been received > (thank you for all of them!) > > The good news is that there have been quite a few changes > in the last six months, and they're finally to the point that > they will be very useful and relevant for everybody using the > project. I have been working very hard daily the > last three months and have applied very many of the patches > received that can be tested, and have achieved some great > new enhancements. All of this is now checked into git, and > available on the current microwindows-src-snapshot.tar.gz tarball. > > While my initial plan (for years) was just to get all the patches applied > and ship them as v0.92, there have been some nagging concerns with > the underlying implementation, and I've finally decided that it > would be far better to release something with major benefits, rather > than effectively a patch release. We are finally ready to consider > releasing a much improved nano-X/Microwindows, that I think > everyone will want to upgrade to. > > I have made big architectural changes to some lower level algorithms > and data structures, in the engine and driver layers. The new driver > architecture is not fully completed, but it is working. There have > only been patches applied to the nano-X and win32 API layers, > so all programs should continue to run. Below I give an > overview of these new features, with followup emails if requested > with more detail on each. Enjoy! > > *Cool new features > > o huge speed improvements in image drawing and font glyph drawing > (10x faster, no inner loop procedure calls or if statements, drawing > directly to framebuffer, with clipping at upper level) > > o new fast convblit architecture supports builtin, PCF, FNT, Freetype 2, > and Adobe Type 1 fonts for all rotations (normal, right, left, down) > on all bpp (1,2,4,8,15,16,24,32) for non-aliased text drawing, and > full anti-aliasing for FT2 and T1 fonts on 15,16,24 and 32bpp (other > drivers possible, just not written). This allows truetype font > display > on all resolutions, including 1bpp. > > o fast blit is used for all RGB and RGBA images (with SRCOVER > alpha compositing) in all rotations. PNG, TIFF and PNM images, > and some JPG are currently converted internally to RGB/RGBA format. > Other image decoder conversion coming. > > o fallback support to old code when new driver conversion blit > not available. Images or display formats not supported or > written/tested with the new architecture fall back to using > the older code and drawing pixel-by-pixel (w/alpha). > > o endian-neutral blits, with explicit support for 32bpp BGRA, > 24bpp BGR, and RGB 565/555 framebuffer formats. 32bpp > ARGB and any other combination easily possible with small > changes in new conversion blit infrastructure. Pixels are always > laid out in proper byte order regardless of processor endianness, > without #ifdefs. > > o Freetype 2/Adobe T1 driver rewrites - scaleable width now also > specifiable, and full caching and cmap cache for FT2, using v2.3.12. > Nagging PCF font issues fixed. > > o FBE - Framebuffer emulator. Emulates 1,2,4,8,15,16,24 and 32bpp > on X11 to display nano-X server drawing to mmap'd framebuffer. > Great for debugging or seeing a different pixel format than your > desktop. Display is completed, need to add support for X11 > mouse and keyboard. > > o major driver cleanup - deprecate/combine stretchblits, fold drawarea > into new blit architecture. Still working on GdArea/GdBlit > consolidation. I will write an article on this new architecture. > Drivers > are simpler as the conversion blits are handled at the engine layer > using macros and inline procedures, near-duplicated code isn't > spread out across each driver. > > o support for upcoming compositing engine with very fast SRCOVER > alpha blending in all blits, all rotations. Macros are used for all > blending, for understandability and testing. > > o minor items: 64-bit compatibility, Sony PSP, Blackfin, RTEMS, eCos > and tomtom ports. Win32 dialog, messagebox and control enhancements. > MWROP changes/simplification. Most all 0.92 patches applied. > Builtin window manager for LINK_APP_INTO_SERVER. > > o deprecate Freetype v1 > > o near-completed: fonts.alias/fonts.dir and multiple directory XLFD > font lookup and matching for PCF, Truetype and T1 fonts. > > o coming: gamma correction for alpha-blending > > *Needed > > o Documentation update (doxygen created PDF, HTML version also > with updated architecture articles). Integration of Gary James' > old documentation site. > > o Website redesign and update > > Please feel free to try it out or comment. > > Have fun! > > Greg > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: nanogui-unsubscr...@linuxhacker.org > For additional commands, e-mail: nanogui-h...@linuxhacker.org ____________________________________________________________ FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on your desktop! Check it out at http://www.inbox.com/marineaquarium --------------------------------------------------------------------- To unsubscribe, e-mail: nanogui-unsubscr...@linuxhacker.org For additional commands, e-mail: nanogui-h...@linuxhacker.org