smooth logo
Copyright (C) 2015 The smooth project

Welcome to the smooth Class Library project

smooth is an object oriented C++ class library for Windows, OS X, Linux and most Unix-like operating systems. It provides basic functionality and platform support for applications and libraries.

Features provided by smooth include:

  • a user interface API with various widgets
  • 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".

22.11.2015 - smooth version 0.8.72.0

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

Among other features, the new release adds support for using the Cocoa API on OS X and improves support for other Unix-like operating systems.

22.11.15 22:34 - smooth alpha 0.8.72.0

- widget.cpp		- added mouse jitter tolerance to tooltip code
			- cache results of GetRealPosition and GetRealSize to improve performance
			- fixed context menu placement at screen edges
- pointer.cpp		- moved system dependent code to backends
- window.cpp		- method Stay() renamed WaitUntilClosed()
			- WaitUntilClosed() no longer sets the WF_MODAL flag
			- added SetProgressIndicator() method to control taskbar progress indicator
			- fixed restoring after maximized window was minimized
- windowgdi.cpp		- fixed handling of modal windows on Windows
			- fixed maximized window glitches on Windows 8 and 10
			- use asynchronous versions of ShowWindow and SetWindowPos to prevent artifacts
- windowxlib.cpp	- added drag & drop support
			- added international language input support
- system.cpp		- added Reboot() and Shutdown() methods
- surfacegdi.cpp	- added native Gradient() implementation
- surfacegdiplus.cpp	- added native Gradient() implementation
- titlebar.cpp		- do not close main windows when pressing escape
			- allow dragging windows from maximized state
			- use a flat titlebar style on Windows 8.x and 10
- image.cpp		- cache scaled version of bitmap for display
- list.cpp		- allow setting marked state when adding new text entries
- listbox.cpp		- added methods to control scroll position
- file.cpp		- added support for moving/deleting files with read-only attribute
- instream.cpp		- removed support for PDP byte order
			- method InputNumberPBD renamed InputBits
- outstream.cpp		- removed support for PDP byte order
			- method OutputNumberPBD renamed OutputBits
- translator.cpp	- added Afrikaans, Serbian (Cyrillic) and Cantonese (Hong Kong) language support
- cursor.cpp		- fixed CJK input method editor appearing offset in Windows Vista/7/8 default designs
			- added support for Ctrl+Ins, Shift+Ins and Shift+Del shortcuts
- urlencode.cpp		- new class: URLEncode, handles URL (percent) encoding/decoding
- config.cpp		- added copy constructor for copying Configuration objects
- document.cpp		- added copy constructor for copying XML document objects

- fixed blurry GUI on Windows with high resolution displays
- reworked build system to support VPATH builds
- reworked hash function API to allow stream processing
- removed unused multiple document interface (MDI) code
- removed CharsetDetector class
- removed support for Windows 9x/ME and NT 4.0
- allow building on PowerPC
- ported to Cocoa
- upgraded V8 to version 3.22.24.21
- upgraded libcpuid to version 0.2.1
- upgraded libjpeg to version 9a
- upgraded libpng to version 1.6.19
- upgraded libxml2 to version 2.9.2
- upgraded fribidi2 to version 0.19.7
	  

27.10.2015 - smooth version 0.8.71.4

Version 0.8.71.4 of the smooth Class Library has been released today. This service release includes minor performance optimizations and fixes several issues found in earlier releases.

ChangeLog for smooth

27.10.15 19:38 - smooth alpha 0.8.71.4

- translator.cpp	- set internal libary language when changing language
- cursor.cpp		- fixed single line text disappearing in scaled mode
- tooltip.cpp		- fixed instabilities related to tooltips
- tipodaydlg.cpp	- adjust to actual text size of tips
- base64.cpp		- sped up encoding and decoding of Base64 strings
- string_case.cpp	- sped up case conversion routines
	  

03.08.2015 - smooth version 0.8.71.3

Version 0.8.71.3 of the smooth Class Library has been released today. This service release introduces a flat titlebar style for Windows 8.x and 10 and fixes several minor issues found in earlier releases.

ChangeLog for smooth

03.08.15 13:58 - smooth alpha 0.8.71.3

- window.cpp		- fixed handling of modal windows
			- fixed restoring after maximized window was minimized
- windowgdi.cpp		- fixed maximized window glitches on Windows 8 and 10
- widget.cpp		- added mouse jitter tolerance to tooltip code
- titlebar.cpp		- use a flat titlebar style on Windows 8.x and 10
- menubarentry.cpp	- make sure to close popup before firing action
	  

29.11.2014 - smooth version 0.8.71.2

Version 0.8.71.2 of the smooth Class Library has been released today. This service release fixes several problems found in smooth 0.8.71.1.

29.11.14 23:34 - smooth alpha 0.8.71.2

- droparea.cpp		- fixed some issues with drop position calculation
- titlebar.cpp		- do not close main window when pressing escape
- file.cpp		- added support for moving/deleting files with read-only attribute
- translator.cpp	- added Serbian (Cyrillic) language support

- upgraded libxml2 to version 2.9.2