ClanLib 2.3.4 Release Notes
From ClanLib Game SDK
ClanLib 2.3.4 Release Notes
Release Date: 2 December 2011. Go to downloads.
This release contains minor breaking changes since the ClanLib 2.3.3 release.
These release notes are in addition to the ClanLib 2.3.3 Release Notes.
- Add CL_StringFormat "long long", "unsigned long long" and "long unsigned int"
- Apply gpmfuchs VFS path bug fix. Also fix zip file directory listing when using the VFS
- Added a specialization of std::hash so that CL_String could work with std::unordered_map
- Added some new CPU extension flags to the detector (renamed sse5 to xop)
- Fixed a bug in CL_StringHelp::local8_to_uint()
- Added convenience functions in CL_File to load files
- Apply nitori "Unhandled CL_Exception from CL_Event::wait bug description" unix patch
- Added CL_Vec2<int> angle() function specialisation. Added CL_Vec2 angle_relative() function
- Linux - Now supports _NET_WM_PING (with _NET_WM_PID and WM_CLIENT_MACHINE) that is used by the window manager to determine if the application is still responding.
- Linux - Now supports correct detection of the window frame size (using _NET_FRAME_EXTENTS) so you can accurately position windows by specifing the frame position or the client position.
- Linux - Borderless windows is now supported by more window managers.
- Linux - Window postitioning and size is cached to improve the application responiveness (to avoid asking XLib the window dimensions)
- Linux - Window events are fired straight away, instead of queuing them. This ensures xlib and the application are synchronized
- Linux - The input context has been fixed, so that is checks for window destruction before calling signals. This stops random crashes closing GUI applications.
- Fix bug in CL_GUIWindowManagerProvider_Direct where it hooked KEYBOARD double click events instead of the mouse
- Win32 - Fixed the cl_grr "exceptions and access violations being caught" problem by implementing http://support.microsoft.com/kb/976038 and applied Vista 64 bit workaround for the SEH catch-all bug
- Linux - Double click events are now fixed on Linux. Unfortunately, there was a fault in some examples that did not hook this event. The examples are now fixed:
CL_Slot slot_mouse_down = window.get_ic().get_mouse().sig_key_down().connect(this, &App::on_mouse_down);
CL_Slot slot_mouse_dblclick = window.get_ic().get_mouse().sig_key_dblclk().connect(this, &App::on_mouse_down);
- Enhanced the span layout to improve text positioning
- gc.pixeldata() now flushes the batcher
- Apply extensions to CL_Image for greater control of the CL_Texture
- CL_FrameBuffer -Increased stability when disposing the object
- CL_FrameBuffer - fix bug by moving glReadBuffer(GL_COLOR_ATTACHMENT0)to after the framebuffer is bound
- Fix bug in glsl version selection
- Win32 - Use DWM for transparent windows. This is much faster than the old technique. 300fps for 1280x1024 screen!
- Linux - Enable transparent windows. (Requires a composite window manager and graphic card support).
- libxrender-dev is now a dependency for linux transparent windows. If you do not require transparent windows, and libxrender-dev is not found, ClanLib will still compile.
- Enhance get_pixeldata() allowing more formats
- Fix texture state tracker
- Fix the OpenGL "allow_vertex_array_without_buffer_object" detection code by using the CL_OpenGLWindowDescription instead of the reported OpenGL version. This increases ClanGL speed on certain GPUs
- Win32 - Use DWM for transparent windows. This is much faster than the old technique
- Fix CL_FrameBuffer disposable objects
- Enhance get_pixeldata() allowing more formats
- Fix texture state tracker
- Win32 - Fixed multiselect on dialogs
- Added CL_GUIComponent::set_double_click_enabled function to toggle whether a component wants double click events or not
- CL_Spin, CL_PushButton and CL_CheckBox now work correctly by ignoring double click events.
- Added gui css bg-image-sizing modes: "top left", "top center", "top right", "left", "right", "bottom left", "bottom center", "bottom right".
- CL_PushButton icon position improvements
- CL_StatusBar- now uses proper doubleclick event instead of the previous oh-my-it-is-totally-random-it-works technique
- Added doubleclick event to listview
- Force folder browse dialog to only use real filesystem and not libraries
- CL_Spin fixes - initial step_size was initialised. The set_xxx functions now imply the floating point mode. set_floating_point_mode(false) sets the lineedit correctly. clamp_value() returns value changed state
- Minor code cleanup
- Fix the mouse double click events in the examples
- Include all the clanGL, clanGL1 and clanSWRender for all linux makefiles, to make switching targets in the source code easier
- New "Display/Alpha" example to show how ClanLib and OpenGL uses the alpha channel using the default method.
- TexturePacker Tool - Added support for viewing images (not only sprites) in resource viewer.
- TexturePacker Tool - Added sort option to texture packer.
- TexturePacker Tool - Changed 512x256 pack size option to 1024x256
- Linux - clanGUI file dialog code exists on ClanLib 2.4 (Development). If they require backporting, please let us know. It would require clanGUI to use gtk as a dependency.
-
Linux Transparent Windows Example
.