Amiga Impact

[MÀJ] Feelin release 060207

Une nouvelle version de Feelin est enfin disponible pour m68k et OS4. Il s’agit d’une mise à jour MAJEURE.

Pour connaître les nouveautés, allez lire la suite. Attention, le reste est en anglais.

Mise à jour :
Grâce à Guillaume ‘Yomgui’ Roguez, la version MorphOS de cette mouture de Feelin est désormais disponible sur le site de Gofromiel.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).