ClanLib 2.2.9 Release Notes

From ClanLib Game SDK

ClanLib 2.2.9 Release Notes

Release Date: 10 June 2011. Go to downloads.

This release does not contain any breaking changes since the ClanLib 2.2.8 release.

These release notes are in addition to the ClanLib 2.2.8 Release Notes.

Win32 - Fixed bug with setting registry string values
New template function - cl_clamp, to clamp values between a minimum and a maximum
Win32 - Modify the layered window update function to use its own thread and convert to SSE2. (Significant speed increase)
Fixed CL_PixelBuffer::get_pixel(). (Note this function only works in rgba8, abgr8 and argb8 formats.)
Create CL_GUIWindowManagerDirect (See below)
There are now 2 additional options:
1) Compile using SSE2 Minimum CPU Architecture (Enabled by default)
2) Compile using SSE2 Intrinsics (Enabled by default)
If "1" is enabled and "2" is enabled - SSE2 CPU: Fastest ClanLib. Else - Program will not start
If "1" is disabled and "2" is enabled - SSE2 CPU: Fast ClanLib. Else - Program will throw a "Requires SSE2" exception
If "1" is disabled and "2" is disabled - SSE2 CPU: Normal ClanLib. Else - Normal ClanLib
Fixed dependency in examples-vc2010
The GUI/GUI example has been split into 3, making it easier to understand.
GUI_System - CL_GUIWindowManagerSystem
A traditional window system, typically used by desktop applications (word processors etc)
The window responds to operating system events, there is no main loop.
The operating system controls when the window contents is to be drawn.
If GUI components do require redrawing, they can call request_repaint()
GUI_Texture - CL_GUIWindowManagerTexture
The GUI is rendered to an off-screen texture.
If using gui.exec(), the texture is drawn to the screen each frame.
You can apply post-process effects to this texture.
The GUI off-screen texture is only updated when required - using a request_repaint() from a component.
The off-screen texture is known not to work on Intel 965 Mobile Express graphic cards, due to limited OpenGL support.
GUI_Direct - CL_GUIWindowManagerDirect
The GUI is rendered directly to the CL_DisplayWindow
You control the main loop, including clearing the screen.
Use render_windows() to draw the GUI
This does not use an off-screen texture.
(Win32) The GUI_Layered is a fun example, showing a ClanLib GUI waving as a flag in a transparent (layered) window.
(Win32) The 2 layered window tests (Tests/Display/LayeredWindow and Tests/Display/LayeredWindow2) have moved into Examples/Display.
GUI_Layered Example
.
Layered Window Example 1
.
Layered window Example 2
.