2001-07-27 Karsten Laux
	Version 0.3.40
	
	* uta/surface.cc : bugfix for segfault when using scaledBlit() 
	  with source and target having the same size
	* uta/widget.cc, uta/focus.* : fixed focus handling when deleting a widget: 
	  A widget did not release the focus when it get deleted, thus it could 
	  get accessed after its deletion !
	
2001-06-10 Karsten Laux
	* fixed mousepointer transparency bug
	
2001-06-06 Karsten Laux
	Version 0.3.39

	* uta/application.h added static bool Application::hardwareCursor()
	* uta/directsurface.h only redraw software mouse pointer if
	  we do not use a hardware cursor 
	* uta/* added some "missing newline at end of file"
	
2001-04-11 Karsten Laux
	* uta/widget.cc destructor did not respect the childs autoDelete flag !
	  ... now it does :)
	
2001-04-10 Karsten Laux

	Version 0.3.38
	
	* uta/pixelformat.cc  
	  if indexed format, a standard palette gets created
	* made Pixelformat::displayFormat a Pixelformat instance
	* changed signature of Surface::convert() to accept a Pixelformat instance 
	  and a bool indicating whether to dither
	* added floyd-steinberg dithering to Surface::convert()
	
2001-04-09 Karsten Laux
	
	* uta/blitters.* fixed gammamap blitter bug 
          (the last line of the gammamap was not used)

2001-04-08 Karsten Laux
	
	* uta/surface_io.cc fixed Surface::readFromXPM
	* uta/blitters.* 
	  - added fallback C functions to gamma blitters
	    (these are a quick hack and thus very slow)
	  - changed semantic for gamma function, instead of a callback
	    a greyscale bitmap must be passed to the blitter
	
2001-04-07 Karsten Laux
        * bumped Version to 0.3.37

2001-04-05 Karsten Laux
 	* fixed Application::sleep() it always returned negative values.

2001-03-23 Karsten Laux <klaux@rhrk.uni-kl.de>
	* added Application::sleep(unsigned int)
	  This blocks all user input, but keeps the actual application running.
	* added Application::setIdleTime(unsigned int)
	  Set the maximum time to spend idle. The default is 25ms which results
	  in a maximum screen refresh rate of 40 frames per second.
2001-03-21 Karsten Laux <klaux@rhrk.uni-kl.de>
	* Surface::convert() now (hopefully) correctly converts any semitransparent 
	  pixels to full transparent pixels
	* added Surface* Surface::createChildSurface(const Rect&);
	* added #ifdef/#endif because
		setGamma() is only available with SDL > 1.1.6
		setGammaRamp is only available with SDL > 1.1.7
	  and libuta supports SDL >=  1.1.4
	
2001-03-19 Karsten Laux <klaux@rhrk.uni-kl.de>
	* fixed Surface::writeToFile
	* added Surface::readFromXPM which reads compiled in XPM image
	* fixed Surface::convert ... semitransparent pixels get cleared now, 
	  when converting to non-alpha surface. (slow implementation)
 	* added 
  	  static bool ScreenSurface::setGamma(float, float, float);
  	  static bool ScreenSurface::setGammaRamp(Uint8*, Uint8*, Uint8*);
	* remove handling of ESC key ... 
	  it did immediately shutdown the application in debug mode,
	  which unnecessarily makes the ESC key unusable for the application itself
	* added static void Application::useHardwareCursor(bool) to toggle 
	  hardware mouse pointer (mouse responds faster, but is only monochrom)
	* made Widget::blit() virtual to allow for invisible widgets to override this
	* reenabled triple buffering when running in a double buffered video mode
	  (though still not a good concept it should make the win32 fullscreen 
	   mode usable again)
	* added static Point Mouse::position() to retrieve mouse position
	* added Surface::Surface(void* pixels, ...) to construct a surface using 
	  (not copying) the given pixeldata
	* removed unused code fragment sge_rotate_scaled(...) from surface.cc
	
2001-03-14 Karsten Laux <klaux@rhrk.uni-kl.de>
	* blitters.h|.cc: added MMX optimized gamma blitters
	* demos/terrain2.cc demo for optimized gamma blitters
	These blitters apply either a constant gamma value or a gamma
	function to each pixel while blitting.
	
    FIXME: some blitters only work if source and target width is a multiple
    of 8 !
	
2001-03-02 Karsten Laux <klaux@rhrk.uni-kl.de> 
	Version 0.3.36
	* writeToFile(), readFromFile() write to/ read from BMP 
	  files as well now (depending if the filename contains "BMP" or "bmp")
          (added simple test program: demos/convert.cc)
	* class Resources only prints error messages when debugging is set on
	
2001-01-04 Karsten Laux <klaux@rhrk.uni-kl.de> 
	Version 0.3.35
	* fixed 24bit display color bug 
	* cleanup some interfaces
	* fixed Slider::value() which returned wrong value sometimes

2000-12-20 Karsten Laux <klaux@rhrk.uni-kl.de>
	Version 0.3.34
	* removed include of private stl header stl_hash_fun from resources.h
	  and wrote own hash function
	* moved the resources init helper out of namespace uta
	* added pauseMusic, resumeMusic, and setMusicVolume to Mixer
	* added terrain2 demo
	* Application::mixer() always returns valid pointer, even
	  if no sound is available
	* brushed up music player demo (ump3) a bit
	* disabled direct SMPEG access to Music ... it breaks the idea of the central 
	  control by the mixer object ... redesign seems necessary more and more !

	* changed Resource class: it may return NULL and so will possibly do
          the resource MACROS !  
          THIS POSSIBELY BREAKS YOUR CURRENT CODE ! 
	  Resource::color() always returns a valid pointer, but all others
          return NULL if this resource is not available.

	
2000-12-19 Karsten Laux <klaux@rhrk.uni-kl.de>
	Version 0.3.34 rc
	* added direct SMPEG access to Music
          (will only be used if SMPEG 0.4.2 or above is found)
	  With this we do not rely upon SDL_mixer to support mpeg playback and
	  are able to use alternative mpeg playback libs as well.
		
2000-12-16 Karsten Laux <klaux@rhrk.uni-kl.de>
	* fixed widget to correctly show backgrounds which contain alpha
	  (see demos/alpha)
	
2000-12-10 Karsten Laux <klaux@rhrk.uni-kl.de>
	* added trigon methods to Painter including gourand shaded and textured trigons 
	  (calls sge_TexturedTrigon, sge_ShadedTrigon)
	* added copyright note about parts taken from sge
	* fixed install-lib target
	  ("make install-lib" will install only the library. This is usefull if you
	    want to install just a newly build library without any unchanged
        headerfiles. "make install" always installs the header files which
	    causes unwanted rebuilds of applications using libuta)	 

2000-12-05 Karsten Laux <klaux@rhrk.uni-kl.de>
	* removed SDL_ASYNCBLIT ... need to think about its use more
	  carefully; it should be only enabled if really needed
	* added ListBox::setSelectedColor(const Color)
	* changed childs of listbox from PushButton to Button which get
	  inverted if active
	* font colors now get set from Resources text_color, text_background
	  if available
	* fix in DirectSurface(), the pixel offset had been calculated wrong,
	* adapted PNG loader to inverted alpha for SDL > 1.1.5
	* first experimental RPM release ("make rpm")
	
2000-12-04 Karsten Laux <klaux@rhrk.uni-kl.de>
	* fixed DirectSurface to work with SDL-1.1.5 and above
	  - now all demos work again and the windows port is complete ! -
	
2000-12-01 Karsten Laux <klaux@rhrk.uni-kl.de>
	Version 0.3.33 - no yet to be released
	* fixes to enable crosscompiling with Xmingw32 (see README.mingw32)
	  The demos which use DirectSurface segfault :( everything else works !
	  (though W2K rejects to run apps with linked SDL_mixer)
	* fixed sge_draw,cc to allow compilation with SDL-1.1.5 and above
	* fixes for inverted alpha (when using SDL > 1.1.5)
	* added uta.m4 for detecting the required version of libuta
	
2000-11-20 Karsten Laux <klaux@rhrk.uni-kl.de>
	Version 0.3.32
	* uta-config script gets created and installed
	* demos do not get installed any longer
        * changed static init code for Resources
	* changed #define uapp to correctly respect namespace
	* changed method names: 
		bool Application::startup() -> startingUp
		bool Application::shutdown() -> shuttingDown
	* made most of Application's methods static
	* removed legacy keyrepeat stuff (now using SDL's keyrepeat)
	* added uta.m4 libuta configure test
	* now runs in 8bit mode also 
	  (in order to get max. colors libuta installs its own colormap)
	* fixed libsigc++ check
	* using SDL_ASYNCBLIT for screen init 
	* added search for freetype in /usr/X11R6/include and /usr/X11R6/lib
      for Debian systems
	* now repeated calls to Application::init(...) are valid and can be used
	  to change the videomode
	  IMPORTANT: calling init() invalidates all existing widgets !
 	
2000-11-13 Karsten Laux <klaux@rhrk.uni-kl.de>
	Version 0.3.31
	* more correct checking for Mixer object in sample.cc and music.cc
	* changed code in sge_blib.cc:
	  	Sint32 yp=sge_CalcYPitch(dest,y);
	  	// check of we have got a valid y-pitch
	  	if(yp < 0) return;
          (thanks to Malcolm Walker <walker05@islandnet.com for his
           investigations on this)   
	* changed uta::Dialog behavior; on call of accept/reject uta::Dialog does
	  only hide() and not close() itself (as it had been before)
	* fixed bug in Resources which caused a segfault on creating a ColorResource
	  (REG_COLOR_RES(..))
	* error messages if a resource could not get loaded
	
2000-10-10 Karsten Laux <klaux@rhrk.uni-kl.de>
   Version 0.3.30
	* FreeBSD patches for configure by Yann Ramin <atrus@atrustrivalie.eu.org>
	* added configure check for libsigc++ > 0.8.5 (adapted the SDL test script)
	* fixed typo in sample.cc which broke compilation without SDL_mixer support
	  (thanks to Alistair Riddoch <ajr@ecs.soton.ac.uk> for this hint)
	
2000-10-04 Karsten Laux <klaux@rhrk.uni-kl.de>
   Version 0.3.29
	* fix bug in sgeGetPixel() which returned bad values on 24bit surfaces
          (which resulted in wrong colors when scaling/texturing such
	   surfaces)
	* added Surface::textureBlit() which blits the surface
	  to an arbitrary polygon inside the destination surface 
	- see demo "terrain"
	  (this exposes the full funtionality of the sge texture blitting code)
	* fixed Surface::writeToFile() to not segfault on unsupported
	   pixelformats
	* reimplemented MultiLineEdit and Terminal (faster, less memory)
	* added Slider widget
	* changed names of used resources to more obvious names
  	  (you probably need to change your app)
	* added use of Resources to any widget (see resources)
	  (the setting of resources obey the inheritence hierachy of 
	   the widgets !)
	* changed treatment of Widgets' background: if not tiled the 
	  background surface is scaled to fit into the widget
	
2000-09-18 Karsten Laux <klaux@rhrk.uni-kl.de>
	* added scaledBlit(...) methods to Surface
	  (these use the texture mapping code from SGE:
	   http://www.etek.chalmers.se/~e8cal1/sge/index.html)

	* RLEencoded surfaces were not locked which caused segfaults - fixed
	* added bool Resources::isAvailable(const string& resname) 	
	* added Color::operator==
	* added Color Surface::transparentColor() which returns the current
	  transparent color of the surface
	* Surface clears to this->transparentColor() instead of hardcoded 
	  uta::transparent
	* added Signal Resource* unknownResource(string) to class 
	  Resources which allows an application to provide "unknown" resources 
	  during runtime
	* added Resourcetype Color 
	* Font() may get constructed from a surface
	  (so you may compile in your default font using 
	   Surface::readFromHeader!)
	* added Font::blitString() which draws a string directly on a surface
	* added some safety checks to Music and Sample

2000-09-07 Robin de Vries <rincewind.@gmx.net>
    Version 0.3.28
    
        Adding experimental glide support

2000-07-14 Karsten Laux <klaux@rhrk.uni-kl.de>
    Version 0.3.27

	Advancements towards 32bit surfaces with alpha channel.
	See README.alpha.
	
	* changed code in Surface::readFromFile so that alpha and transparency
	  information are correctly treated.
	  Additionally I have borrowed some code from SDL_image in order
	  to set the transparency and palette for the loaded surface correctly
	
	* Surface resources are _not_ converted to displayformat anymore
	* if no pixelformat is provided any new surface is created as a 
	  32bit surface (containing an alpha channel)
	* Surface::readFromFile produces surfaces corresponding to the
	  actual pixelformat in the file
	* added bool Surface::hasAlphaChannel()
	
	* disabled triblebuffering in fullscreen mode
          ( may result in flickering when running fullscreen flipping , but
	    is much faster )
	* fixed debug- and resources-macros so that these will work outside
	  of namespace "uta" as well
	* fixed segfault when freeing resources
	* fixed clipping bug in Painter::vline and Painter::hline
    * new, less martial mousepointer ;)	

2000-06-25 Karsten
	Version 0.3.26
	* fixed Widget: Widget did not get the mousefocus, if the widget
	  got created under the mousepointer
	* added bool Sample::playing()
	* added Music::pause(), resume(), rewind(), and paused()
	* re-enabled software mousepointer - it now works with directsurfaces !
	  You need to enclose write accesses to any DirectSurface in the
	  calls to DirectSurface::beginModify() and DirectSurface::endModify()
	
2000-06-15 Karsten
	Version 0.3.25
	* added Surface::useRLEAcceleration(bool)
	  for fastest transparent blitting use this code snippet    
		  surface->useRLEAcceleration(true);	
		  surface->setTransparency(true);
	* fixed default value for uta::Sample::play() from "1" to "0", per
	  default a sample is played only once (and not twice as it had been
	  before)
	* added int Sound|Music::setVolume(int)
		it accepts values in the range 0..100 and returns the
		current setting
	
2000-05-25 Karsten
	Version 0.3.24
	* added SDL_RLEACCEL flag to surfaces which use
	  transparency (this mostly improves blitting speed, esp.
	  when blitting same surface several times)
	* corrected misspelled macro in progressdialog.h 
	  ("PDATE_PROGRESSBAR" -> "UPDATE_PROGRESSBAR")
	* added missing .exec() call to macro CREARE_PROGRESSBAR
	* corrected Dialog::exec() to call Rootwindow::sync() instead
	  of Application::keepAlive()
	
2000-05-16 Karsten <klaux@rhrk.uni-kl.de>
	Version 0.3.23
	* fixed bug in Pixelformat::mapToColor which caused false colors 
	  for 16bit surfaces
	* Widget::~Widget() now clears the focus list before deleting
	  the childs. ... this is more a workaround than a real fix.
	  Deleting all childs should not segfault inside nextFocus() as 
          it had done.
 	
2000-05-09 Karsten
	* converted new logo.png to uta/logo_data.h

2000-05-08 Karsten <klaux@rhrk.uni-kl.de>
	* fixed application.cc, so that libuta runs on systems without
	  a soundcard. (now it is also possible to run two
	  libuta-applications simultaniously on the same machine)

2000-04-26 Karsten
	Version 0.3.22
	* made widgets transparent per default and changed defaultcolor
	  back to black; transparency can be turned off be setTransparency().
	  This provides more backwards compatibility...

2000-04-22 Karsten
	Version 0.3.21
	* added setTransparency() to widget (which allows set transparency
	  for individual widgets)
	* changed default color to grey (black was cool, because it had been
	  identically to tranparent ... but things have changed.

2000-04-14 Karsten
	Version 0.3.20
	* configure now stops, if it cannot find the freetype include files
	* added keystroke, mousemove and mouseclick signals to Application
	  (these allow to filter out special events like the pressing a hotkey 
	   for example - see demos/simple.cc for an example)
	* fixed keysym.h to reflect changed keymapping since SDL-1.1 
          (we need to get rid of this keysym stuff somehow ...)
	* changed widget.cc: now widgets cannot be transparent anymore
          (it doesn't work anyways - we will have to implement a better
           z-sorting and backingstore before we can deal with transparent
	   widgets correctly)
	
2000-04-10 Karsten
	* corrected initial focus for childs

2000-04-04 Karsten
	Version 0.3.19
	* fixed redefinition in timer.cc

2000-03-31 Karsten
	Version 0.3.18
	* new logo by Uta herself !
	* fixed Timer class (was not correctly working)
	* added Focus class and focus handling to Widget class
	  NEW BEHAVIOR: by default a widget does not get focus.
	  Use setClickToFocus(true) or setPointToFocus(true)
	  to enable accepting of focus (all classes derived either from
	  Button or LineEdit have set ClickToFocus to true)
	* added a check for SMPEG so that the mpeg demos are only build 
	  when SMPEG (libsmpeg) is available
	* updated keysym.h
	
2000-03-18 Karsten
	Version 0.3.17

2000-03-14 Karsten
        * added tests for <freetype/freetype.h> v. <freetype.h> to configure,
	  configure creates font.h from font.h.in and inserts the appropriate
	  #include statement
	* fixed sound.h so that it includes SDL/SDL_types.h if no SDL_mixer 
	  headers are there
          (thanks to Al Riddoch <ajr@ecs.soton.ac.uk> for this patch)

2000-03-05 Karsten
   Version 0.3.16
	* removed smpeg and mixer
	* added configure tests for SDL_mixer (Version 1.0.5 needed)
	* added realtime wave display to ump3
	* added visualization hook/signal to Mixer
	* removed SMPEG code from Music
	* Application now unloads all Resources before going down, 
	  this avoid spurious segfaults on shutdown
	
2000-02-14 Karsten
	* fixed box drawing of class Painter
	* fixed "make doc", so source documentation works again

2000-02-09 Karsten
   Version 0.3.15
	* Painter additions.

2000-02-05 Karsten
   Version 0.3.14
   	* added DialogBox, MessageBox and QuestionBox
	* changed behavior of Dialog
	  Dialog() does not popup immediately, but creates a hidden Dialog.
	  The call to exec() opens the dialog. If the dialog is modal,
	  exec() will return when the dialog closes. When being nonmodal exec()
	  returns at once with Dialog::OK.
	* converted my X11 rgb.txt to color.h|.cc, now libuta comes with
	  a LARGE number of predefined colors.
	* reimplemented DirectSurface. It works now nicely and behaves
	  just like a normal Surface. Overlaying an DirectSurface with
          another widget does, however, not work.
        * changed (Push)Button in order that it detects empty surfaces

2000-01-29 Stefanus Du Toit <sdt@gmx.net>
   Version 0.3.13
        * made Listbox::setColor() change its kids' colours
        * added setDisabledColor() and setDisabledAlpha() to Widget
        * made Listboxx:setDisabled*() change its kids

2000-01-24 Karsten
   Version 0.3.12 
	* added void Application::keepAlive
	  Your application should call this, when it is very busy for a 
	  long time.

2000-01-22 Karsten <klaux@rhrk.uni-kl.de>
   Version 0.3.11
    	* added autoDelete_ flag and correspondend method
	setAutoDelete() to Widget. By default autoDelete_ is set,
	so if the close() method of a Widget is called, it gets deleted.
	This behavior is not always useful, as it turned out.

2000-01-14 Karsten Laux <klaux@rhrk.uni-kl.de>
   Version 0.3.10
	  * cleaned up signal/slots to make full use of libsigc++
  	  * new _flexible_ timer system

2000-01-09 Stefanus Du Toit <sdt@gmx.net>
   Version 0.3.9
       * encapsulated everything nicely in namespace uta
       * changed all class names from U* to just *
       * removed logo_data.h and mouse_data.h from uta.h
       * removed obsolete umetaobject.*

2000-01-08 Stefanus Du Toit <sdt@gmx.net>
   Version 0.3.8
       * renamed libu to libuta
       * replaced the UObject signal system with libsigc++
       * prepared for namespaces (renamed all files to not include leading "u")
       * added uta.h

99-11-18 Karsten
    Version 0.3.0
    * libu has matured to a real installable dynamic linkable libary :)
 	* the lib has been split up into three modules: libu, libmixer, libsmpeg
      (currently a programm needs to be linked against all, but a later
	   release may allow to use only one of them)
	* libsmpeg is included, because it needs to be compiled with support
	for the mixer library. (perhaps the name should be altered to not conflict
	with other smpeg installation)
	* updated to SMPEG 0.3.1
	* added uversion.h which allows checks for the correct library version

99-11-07 Karsten
	Version 0.2.2
	* libu now depends on SDL 0.10.2
	* added appropriate checks to configure.in
	  (these are first steps to make libu a real installable library)

99-09-17 Karsten
	Version 0.2.1
	* added mp3 playback to UMusic
	* added ump3 demo (mp3 player)
	* still audio/video sync bug in UMediaPlayer

99-09-04 Karsten
	Version 0.2.0
	* added UMediaPlayer to the demos (plays mpeg streams videop+audio)

99-08-30    Karsten
	Version 0.1.0
	* added smpeg-0.2.5

99-08-24	Karsten Laux <klaux@student.uni-kl.de>
	Version 0.0.1
	* initial version


