Saturday, February 09, 2008

Wanderer work continues..

Well im slowly hacking away at reworking the rendering code for wanderer iconlist class. The intermediate goal is to allow icon windows to buffer the icon/background rendering so, for instance, using the tiled rendering mode for iconlist backgrounds wont cause noticable icon flickering as it currently does. Even the current background modes generate some flicker depending on how observant you are but obviously for the tiled modes more is redrawn and therefore more noticably flickery.

The Final goal however is to allow the Iconlist class to support 3 rendering modes.

# Plain mode which directly does all rendering to the windows bitmap. This is the currently used method.

# Buffered mode which will perform all rendering to a backbuffer before blitting to the windows bitmap.

# Composited mode (future) Will render icons and masks to seperate bitmaps from the window background. The background layer will be "accessable" by external code so that animated/etc backgrounds can be displayed.

Ive also commited the basic multi-line rendering code to wanderer now though it isnt working 100% currently. Some very short lables which wouldnt/shouldnt get wrapped arent being correctly displayed but it should be a trivial adjustment to the code to fix this. Also the attributes which govern the rendering of icons and labels are now settable via wanderers prefs .. Allowing for more tuned desktops =D

The final steps for the prefs side of things is to allow per-view (Workbench/Drawer window etc) Fonts to be set, and their respective colors. Also the views will be able to inherit settings from a parent view - so that by default the drawer windows will inherit most options from the workbench windows view.

After that it remains to write a small tool that will allow setting the attributes for any of the view's from outside wanderer prefs... so that a theme application may push options onto wanderer and hopefully tie the two things together a bit better..

.... watch this space