----------------------------------------------------------------------------------------


 CHANGES.txt : List the changes made between consecutive versions of The CImg Library


-----------------------------------------------------------------------------------------

*-----------------------------
*-----------------------------
* Changes from 1.0.6 to 1.0.7
*-----------------------------
*-----------------------------

 - New License : CImg is now distributed under the CeCiLL License, a free software GPL-like, more adapted
   to French laws. Don't be disturbed by this new License, CImg is still an open source free software !

 - Encapsulation of all CImg classes and functions in the 'cimg_library::' namespace. It avoids eventual
   class names collisions with other libraries. For compatility with your old code, you should
   insert 'using namespace cimg_library;', just after the '#include "CImg.h"' line, in your source code.

 - Removed global typedefs for uchar,uint,ushort,ulong. If you used them before, you'll have to redefine them :
   typedef unsigned char uchar;
   typedef unsigned short ushort;
   typedef unsigned int uint;
   typedef unsigned long ulong;

 - Corrected window resize bug on X11 displays.

 - Added PANDORE-4 file format support, with functions 'CImg::load_pandore()' and 'CImg::save_pandore()' (file extension : .pan)
   (PANDORE is a C++ toolkit for image processing, see http://www.greyc.ensicaen.fr/~regis/Pandore (in French))

 - Added macros CImg_3x3_ref(), CImg_5x5_ref(), .. allowing to use special loops cimg_map3x3,.. with references to C arrays and images.

 - Removed 'normalize' parameter in 'CImg::save()'. Saving normalized images can be still performed
   with 'img.normalize(0,255).save("normalized_image.jpg");'. This clarifies the code and doesn't add so much work at all.

 - Renamed 'CImg::get_sprite()' and 'CImg::sprite()' to 'CImg::get_crop()' and 'CImg::crop()'.

 - Changed 'draw_triangle' function with two textures, so that it corresponds to displacement mapping
   (aka 'bump mapping'), instead of two textures drawn with transparencies
   (which can be still made by two successive calls to single-textured 'draw_triangle' functions,
   with correct opacities).

 - Negative opacity parameter in drawing functions is now supported. It allows to ADD shapes colors to the current 
   image pixels (see the new 'ShadeBobs demo in the CImg_test.cpp file to see the concept).

 - Added functions 'CImg::draw_axeX', 'CImg::draw_axeY' and 'CImg::draw_axeXY', allowing to trace labelled axes on images.

 - Slightly changes in CImgDisplay : field 'attributes' has been removed, and replaced by more
   comprehensive field names : events, normalize, fullscreen. Resizing capabilities is now removed
   since all windows can be resized by default.

 - 'CImg<>::load_convert()' and 'CImg<>::save_convert()' do not popup a console window anymore on Windows-based OS,
   when creating code with a WinMain() entry.

 - RGB<->BGR Color inversion problem on some old Unix displays has been corrected.

 - Makefile for compilation on Solaris has been updated.

 - Package structure has been slightly modified for more clarity. Renamed also the CVS module to 'CImg' instead of 'CImg_'

 - Added different compilers projects to ease the compilation of the CImg examples, including
   Visual C++ 6.0, Visual.NET2003, Borland Bcc 5.6, Digital Mars Compiler, Dev-Cpp, Intel ICL.
   
 - Removed the use of TrackMouseEvent mechanism on Windows, removing compilation bugs with VC++6.0 when trying to create an MDI application.

 - Improved keycode detection under X11. Keycodes should now work for any X11-based system.

 - Support for FreeBSD added (thanks to Thierry Thomas).

 - Corrected bug in matrix multiplication.

 - Corrected bugs in CImg<T>::erode() and CImg<T>::dilate() functions (name inversion).

 - Corrected bug in 'CImg<T>::load_convert()' and 'CImg<T>::save_convert()' when trying to load/save images with pathnames containing spaces.

 - Recoded 'inrcast.cpp', and suppressed 'inrcrop.cpp' in the 'examples/' directory (functionnalities of 'inrcrop' are now included in 'inrcast').

 - And some corrections of minor bugs to improve library stability...

 - Improved error messages to ease program debug.

 - Documentation of the API is much more complete and detailled (still in progress...)

*------------------------------
*------------------------------
* Changes from 1.0.5 to 1.0.6 :
*------------------------------
*------------------------------

 - Drawing functions improved and optimized : Added transparency level to all drawing functions.

 - Added function 'draw_arrow()'

 - Added missing boolean operators.

 - Added CImgDisplay resize event, allowing to create flexible resizing windows.

 - Added 'CImg::draw_gaussian()' functions allowing to draw 1d,2d or 3d gaussians on images.

 - Added 'Oriented convolutions' demos in CImg_test.cpp

 - Recoded pde_TschumperleDeriche2D and 3D.

 - Bugs corrected in arithmetics operators.

 - Optimized image display.

 - Recoded 'CImg::feature_selection()'.

 - Recoded 'CImg::get_rotate()'

 - Renamed 'draw_plot()' to 'draw_graph()', and added cubic drawing style.

 - Renamed 'wait_sync()' to 'wait()'.

 - Renamed 'get_correl' to 'get_correlate' (idem for 'convolve')

 - Removed 'get_correl3x3,5x5,...'. Optimization is now a part of the 'get_correlate' function. (idem for 'convolve').

 - Removed 'get_rotate90,180,270'. Optimization is now a part of the 'get_rotate' function.

 - Compilation supported by gcc.3.4.1 (released july 2004).
