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

Title: Feelin release 060207
Post 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).