smooth logo
Copyright (C) 2011 The smooth project

Welcome to the smooth Class Library project

smooth is an object oriented class library for Windows and Linux written in C++. It provides basic functionality and platform support for applications and libraries.

Features provided by smooth include:

  • a user interface API with various widgets (currently Windows only)
  • a simple to use multithreading API
  • a file and network IO interface
  • completely transparent Unicode and software internationalization support
  • a libxml2 based XML parser

smooth is Free Software and is made available under the terms of "The Artistic License, Version 2.0".

10.05.2011 - smooth version 0.8.70.10

smooth version 0.8.70.10 is now available. It fixes flickering when resizing windows under Windows Vista and Windows 7 as well as some minor other problems.

02.04.2011 - smooth version 0.8.70.9

smooth version 0.8.70.9 is now available. This version updates the included XML library to libxml2 v2.7.7 and fixes some minor problems.

14.11.2010 - smooth version 0.8.70.8

smooth version 0.8.70.8 has been released today. This release fixes an issue with right-to-left text and features an optimized input buffering algorithm for file IO.

17.08.2010 - smooth version 0.8.70.7

smooth version 0.8.70.7 has been released today. This release fixes text editing issues and other problems.

04.07.2010 - smooth version 0.8.70.6

smooth version 0.8.70.6 has been released today. It speeds up drawing under Windows Vista and Windows 7 and includes several bug fixes.

21.10.2009 - smooth version 0.8.70.5

smooth version 0.8.70.5 has been released today. It adds support for right-to-left script, introduces an API to access the CPUID instruction and fixes several bugs.

16.05.2009 - smooth version 0.8.70.4

smooth version 0.8.70.4 has been released today. It fixes a bug causing application startup problems on Windows NT 4.0.

20.02.2009 - smooth version 0.8.70.3

smooth version 0.8.70.3 is now available. It updates the Translator utility to support template files and highlight missing or possibly incorrect translations. The release also includes an improved ComboBox widget.

23.12.2008 - smooth version 0.8.70.2

Version 0.8.70.2 of smooth is now available. It includes some bug fixes and usability improvements.

21.07.2008 - smooth version 0.8.70.1

smooth version 0.8.70.1 is now available. It fixes a number to string conversion issue and some possible crashes.

22.03.2008 - smooth version 0.8.70.0

Version 0.8.70.0 of the smooth Class Library has been released today. It is a major update from the v0.8.69.x series and includes lots of bug fixes and new features.

22.03.08 11:25 - smooth alpha 0.8.70.0

- string.cpp	- fixed string conversion when inEncoding == outEncoding
		- new function: Trim, strips whitespaces from both ends of a string
- config.cpp	- configuration is no longer automatically saved
- widget.cpp	- added a universal context menu framework
		- tooltips are no longer displayed if the containing window is inactive
- window.cpp	- removed support for context menus
		- removed signal onResize (using Widget::onChangeSize instead)
		- fixed display of a black window when part of it is outside the working area
- system.cpp	- new function: GetAPIVersion()
		- new functions to retrieve system folder locations
- listentry.cpp	- ListEntries can now be displayed inactive
- protocol.cpp	- new class: Protocol, base class for network protocol implementation
- file.cpp	- new class: File, implementation of the file:// protocol
- http.cpp	- new class: HTTP, HTTP protocol implementation
- scrollbar.cpp	- changed scrollbar behaviour to be more Windows-like
- s...cairo.cpp	- added support for Cairo surfaces
- semaphore.cpp - added support for initializing semaphores with a maximum value
- rwlock.cpp	- new class: RWLock, implements a simple read/write lock based on Mutex and Semaphore
- md5.cpp	- new class: MD5, implements the message digest algorithm
- number.cpp	- new class: Number, implements string to number conversions
- treeview.cpp	- new class: TreeView, container for Tree entries
- tree.cpp	- new class: Tree, implements Tree entries for Lists

- completely new and improved Array implementation
- new template class: Iterator, iterator for arrays of type Array
- added missing operator =() to signal classes
- applications now check the smooth API version instead of the release number for compatibility
- added support for network files and directories
- fixed grayscaled icons display in iconbars
- added foreach macro

- improved Linux support
- improved Winelib support