Share

Woopsi

File Release Notes and Changelog

Release Name: Woopsi Source 0.27

Notes:


Changes: - Fixes: - Renamed "font" to "sysfont". - Moved font includes out of "all_gfx.h". - Removed font inheritance (problematic with many gadgets). - Made font an optional parameter in all gadget constructors. - Removed font from constructors of window border gadgets that do not use a font. - Woopsi height based on top screen offset instead of an arbitrary number. - Private class members set to protected where appropriate. - "Gadget::setBorderless()" now invalidates rect cache. - Removed "Gadget::removeGadget()" function (request 1846590). - "Window::createBorder()" sets border focus correctly. - Window border gadgets base their colour on the parent's active flag rather than by abusing the focus system and their own active flags. - GraphicsPort was using SCREEN_WIDTH instead of _bitmapWidth when blitting bitmaps. - Fonts work with const u16* bitmap data instead of plain u16*. - Woopsi clears its background correctly when a screen closes. - Gadgets draw only those regions not obscured by children (previously broken by switch to region caching). - Gradient cache uses new instead of malloc. - Removed support for external bitmaps from SuperBitmap. - Renamed Gadget::getRectClippedToParent to Gadget::getRectClippedToHierarchy. - Making a gadget invisible makes its children invisible. - Fixed off-by-one error in Gadget::checkCollision() functions. - Fixed gadget-space to display-space co-ordinate problem in GraphicsPort clipping routines. - Removed GraphicsPort::clipXORRect() and replaced with bugfixed alternative. - Various functions in Gadget class now check isVisible() instead of _flags.visible. - focus() functions ignore the call unless the gadget is not active. - GraphicsPort will no longer draw to deleted/invisible gadgets. - Tidied up ambiguities in Gadget::closeChild(). - Gadget::closeChild() function setting the active gadget pointer to top gadget in the stack, but the top gadget could have been the gadget being closed. - Fixed same problem in Gadget::hideChild(). - New Features: - Added static system font routines to Woopsi class. - Gadgets automatically use system font if no font specified (bug 1846003). - Added "floodFill()" function to SuperBitmap (request 1816931). - Added "drawBitmap()" function to SuperBitmap (request 1813792). - Added "newBitmapGraphicsPort()" function to SuperBitmap. - Added "setFont()" function to Text. - Split Screen class into ScreenBase, AmigaScreen and SimpleScreen classes. - Added "permeable" flag to gadgets - if set to "true", child gadgets can be dragged to exceed the borders of their parents (ie. windows can be dragged off-screen). - Gadget::getRectClippedToHierarchy clips to entire ancestor tree. - Gadget::moveTo() enforces permeability of parent gadgets. - Gadget::resize() enforces permeability of parent gadgets. - Window::resize() enforces permeability of parent gadgets. - Changed VBL events so gadgets must register with Woopsi to receive them (request 1847147). - Centralised gadget deletion queue handling into static Woopsi functions. - Added Gadget::hideChild() function. - Added VBL counting and static getVBLCount() function to Woopsi class (request 1847147). - Split Window class into WindowBase, AmigaWindow and SimpleWindow classes. - Added text output methods with colour parameter to GraphicsPort and SuperBitmap classes.