Amiga.org
Amiga News and Community Announcements => Amiga News and Community Announcements => Amiga Programming and Development => Topic started by: Gofromiel on February 07, 2006, 07:16:58 AM
-
A new release of Feelin is finaly available for m68k and OS4 (MOS seams to have some bugs, I hope it will be available soon). This new release is a MAJOR update. I don't keep track of every little details (even if I should), but believe me Feelin has been GREATLY improved in EVERY aspect. Here is a short list of the most important things.
(http://ryanthusar.free.fr/gofromiel/feelin/images/screens/20060106.png) (http://www.gofromiel.com/feelin/screens.php?show=images/screens/hi/20060106)(http://ryanthusar.free.fr/gofromiel/feelin/images/screens/20060112.png) (http://www.gofromiel.com/feelin/screens.php?show=images/screens/hi/20060112)
SYSTEM
It's now possible to create meta-classes. This feature was already possible since classes are also objects but now it's really working :-) The EXIT end INIT optionnal code is now deprecated, you must create a meta-class to create/delete private data.
The memory system has been improved further more and is now even faster. The F_DisposeP() function is now deprecated since, with the new techniques, F_Dispose() finds the right memory chunk to dispose on the first try (less than 1% of missing). The developer can also tweak the memory system to enable memory walls, memory marking, custom patterns to fill new/allocated/disposed memory...
XML
Entities support has been added and is widely used. The attributes used to generate objects are now typed. XML parsing has been improved furthermore and FC_Document provides nicer methods.
EVENTS
Windows are no longer handled by the application they belong to, but a new shared object named "WinServer". This server is also an anchor for various inputs such as window events, mouse buttons and movements, key stroke... but also pophelp, timer, wbdrop... it also add special features which are not available with Intuition such as unactivable windows (usefull with menus and popups).
DAMAGED RENDERING
A new technique called "damaged rendering" is now used to redraw objects. Only objects which aspect as been modified (state, size, position) are now updated saving a lot of unnecessary renderings. I was already using a similar technique but it was costing a lot and was not as effective.
PREFERENCES, ASSOCIATED DATA, EDITOR
Preferences are now stored in CSS files instead of an IFF ones. FC_Preference is now a subclass of FC_CSSDocument. The whole preference system has been updated and is more compact and nice.
A new technique called "associated data" is now used to skip decoding over and over the same preference items. To put this short, a window with 1000 buttons was resolving and decoding 1000 times the "$button-frame" item to setup the frame of the SimpleButton objects. Now a "complex data", which is the decoded stuff of the "$button-frame" contents, is associated with the "$button-frame" item. Thus, the preference item is now resolved and decoded once, saving 999 resolving/decoding.
This technique is currently used for frames and backgrounds but will soon be extended to fonts, color schemes...
The preference system as been widely rewritten for this purpose.
The "ModulesList" shared object is now used to keep an eye on classes. It handles various lists and is now used to load classes embending a preference group. The launching of the preference editor is now very fast. This shared objects also maintain a list of the decorators available, which is used to create dynamicaly the "Decorators" preference group.
ALPHA BLENDING
FC_CorePNG has been created to decode PNG files without using datatypes, saving time and embended alpha information, which is fully supported by FC_BitMap. FC_Render also support alpha-blending but is currently limited to rectangles. Thanks to alpha-blending, you can create even nicer applications.
COLORS AND IMAGES
Colors are now defined as in CSS e.g. "#FF0000" for full red or "shine" for the FV_Pen_Shine entry of a color scheme. All image specifications are now in XML format, many of them have been extended e.g. gradients can be defined using 2, 3 and even 4 colors (aqua style).