2000-04-22 John Hebert <hebertjo@az.rmci.net>
	***** New in CDX v3.0 *****

	* Added DrawBlkRotoZoom() and DrawTransRotoZoom() to CDXSurface.  This 
	  allows you to rotate and zoom a bitmap.
	  
	* m_SrcRect and m_DestRect were removed from CDXSurface.  All the Draw
	  function handle this functionality in the arguments passed in.
	  
	* CDXSurface Functions: Draw(), DrawFast(), DrawTrans(), DrawClipped(), 
	  DrawWindowed(), DrawScaled(), DrawHFlip(), and DrawVFlip() have been
	  replaced by the other DrawXXXX functions.
	  
	* CDXScreen has two new functions SaveAllSurfaces() and ReloadAllSurfaces().
	  SaveAllSurfaces saves each surface to the file system by calling the
	  CDXSurface::SaveAsBMP() and ReloadAllSurfaces() restores all surfaces
	  from the previously saved BMP.  This allows you to avoid having your
	  App go belly up when you lose the focus.
	  
	* Added CDXMusic.  This is a new class that handles loading and playing
	  Midi files.

	* The CDXSound and CDXSoundBuffer classes have been rewritten to provide
      more reliable and additional features.

    * The CDXImage class and subclasses have been added to the library.  This
      classes are used to normalize the process of loading grphics files of
      different types. CDX currently supports BMP, PSD, PCX, and TGA.

    * CDXSurface has been changed to use CDXImage for loading graphics files.

    * The library is now DirectX 7.0a compatible.  You must use the DX7.0a
      libraries and header files when compiling CDX v3.0 (or DX3.0 for use with
      NT4.0).

    * CDXScreen now tracks all CDXSurfaces that you create.

    * CDXScreen::ChangeVideoMode() function has been added to switch between
      video modes.  It will restore all CDXSurfaces that were created as well as
      attempt to restore the graphics on those surfaces.

    * The CDXBLT_XXXXX functions in CDXSurface have all been renamed to
      DrawXXXXX.  This was done to be more user friendly.

    * CDXSurface no longer uses the m_SrcRect and m_DestRect.  The functions
      SetSrc() and SetDest() have been removed.These are obsolete because all the
      DrawXXXX function require this information.

    * For simple BLK and TRANS blitting there are two functions each.  Make sure
      you choose the correct function.
          DrawBlk      - Uses DX to perform the blt
          DrawBlkSW    - Software only implementation
          DrawTrans    - Uses DX to perform the blt
          DrawTransSW  - Software only implementation

    * A locking reference counter has been added to CDXSurface.  This allows you
      to Lock() a surface once call any number of primitive drawing function
      (point, line, circle, etc.), DrawText(), TextXY(), or any of the alpha
      functions that do not use DX functions.  Then UnLock the surface.  This
      helps to minimize the number of Lock/UnLock pairs increasing performance.

    * In CDXSurface, you can call any of the functions that need to have the
      surface locked directly without having to lock it yourself.  The exceptions
      are PutPixel, PutAAPixel, GetPixel, VLine, HLine.  These are exceptions for
      speed reasons.  AN Example:

      CDX v2.4:
      Surface->Lock();
      Surface->TextXY(X, Y, color, str);
      Surface->UnLock();

      CDX v3.0:
      Surface->TextXY(X, Y, color, str);

    * Added a new function to CDXSurface, SaveAsBMP().  This fuction will save
      the contents of the surface in a BMP file by the name of the passed in
      argument.  If the surface is 8bpp so will the resulting BMP, otherwise it
      will be a 24bpp BMP.

    * CDXSurface now uses function pointers for functions; PutPixel, PutAAPixel,
      GetPixel, VLine, HLine.  This avoids the need for the switch/case statement
      to select pixel depth.  Done for performance.

    * CDXMap has been rewritten by Michael Rich.

    * CDXTile has been rewritten by Michael Rich.

    * Almost all CDX classes have had their member data privatized.  You must
      now use accessor functions to get or set the data.

    * CDXSprite::AddSprite(<lots of variables>) has been removed.  This class
      was never any good.  It is now little more then a wrapper for a Linked List.
      It is too difficult to make this class everything to everyone.  If you want
      to use it, subclass it and add your specific functionality.

    * CDXSurface::DrawXXXXXX functions now default the srcRect parameter to the
      entire surface.  For Example:

      Both these calls are valid.....
      Surface->DrawTrans(DestSurf, 0, 0);
      Surface->DrawTrans(DestSurf, 0, 0, DestRect);

    * You may run across other changes that I cannot remember.  If you do please
      update this file so that others can take advantage of your work.


1999-12-22 Bil Simser <bsimser@home.com>

        * README: added direct download information
        * lib/bcb/cdx.bpr: updated C++ Builder project file to include
        cdx3d path
        * src/cdxdll/cdxdll.dsp: removed reference to .rc file (not used)

1999-12-12  Bil Simser <bsimser@home.com>

        * 2.4.0 release to SourceForge and CDX site

