Delphi Visual Shapes 1.0
========================


Introduction
------------
Thank you for using the Delphi Visual Shapes 1.0 Component Collection!
It provides you with a set of 14 different shape components. Some of the
shapes included can already be displayed by Delphi's TShape component, but
there are many other new shapes as well.



Properties
==========
All components have the same properties in addition to the properties inherited
by TGraphicControl.

    property Brush: TBrush
			 Allows you to access the brush used to draw the shape

    property Pen: TPen
			 Allows you to access the pen used to draw the shape

    property Shadow: Boolean
			 If TRUE, the shadow of the shape is painted as well

    property ShadowOffset: Cardinal
			 Offset of the shadow compared to the shape

    property ShadowColor: TColor
			 Color of the shadow



Deriving new shapes
===================
You can easily derive you own special shapes from one of the basic shape types.
The basic shape types are:

	TCustomShape	  This basic type offers you the basic properties and the
					  PaintShadow/PaintShape methods

	TCustomPolyShape  This basic type is derived from TCustomShape and offers you
					  basic Polygon functionality



Deriving from TCustomPolyShape
==============================
If you want to create a shape that is based on polygon drawing, you should choose
TCustomPolyShape as its ancestor.
TCustomPolyShape offers you two additional methods to work with polygons:

	CalcPoly	This method maps the coordinates of a TPoint array to a given Width
				and Height
	OffsetPoly  This method offsets all coordinates of a TPoint array by an X/Y value

There is a simple thought behind those two methods. All coordinates of a shape are
specified in relation to a shape-specific coordinate system. The more complex the shape is,
the more detailed the coordinate system needs to be.

You may - for example - specify a rectangle using 5 points (0/0,1/0,1/1,0/1,0/0). Thus,
all you need to do in the CalcPoly method is to multiply each coordinated with the width/height.
However, if you want to paint a rectangle (which requires 4 points), you can't work with the
coordinate system above. You need a coordinate system that can represent "1/2 points" as well.
Thus, you would specify the 4 points as 1/0,2/2,0/2,1/0, multiply those values with the
width/height and divide it by 2.

The CalcPoly method can do anything to map the coordinates. The algorithm used in the shapes
included in this collection is:

	PointX = (SourceX * Width) / MaxCoordinate
	PointY = (SourceY * Height) / MaxCoordinate

NOTE: ALL SHAPES MUST BE CLOSED SPECIFYING THE FIRST POINT AGAIN AT THE END!



Changes
-------
	- none currently



Disclaimer
----------
The component files are freeware. You may copy those files AS LONG AS YOU COPY ALL OF
THEM. If you want to change the source code in order to improve the components features,
performance, etc. please send me the new source code so that I can have a look at it.
The changed source code should contain descriptions what you have changed, and of course
your name. The only thing you MAY NOT CHANGE is the ORIGINAL COPYRIGHT INFORMATION. The
author is NOT liable for any DAMAGES resulting from the use and misuse of the component,
especially he is NOT liable for DAMAGES that were caused BY ANY VERSION WHICH HAS NOT BEEN
PROGRAMMED BY THE AUTHOR HIMSELF.



Contents of the archive
-----------------------
    SHAPES.DCR	 - component resource file
	SHAPES.PAS	 - component source code
	README.TXT	 - This file.



Installation
------------
Copy the all files into the Delphi "LIB" folder or a new folder youve created. Make
sure that this folder is included in the Delphi Library search path!!
In Delphi select "Components/Install component..." to install the component. If you
dont want the component to be installed to the "Shapes" page modify the Register
procedure as needed.



Contact DithoSoft Software Solutions
------------------------------------
For questions, suggestions or comments, please send an E-Mail to

	thorsten.dittmar@debitel.net

For other products, please visit or WEB site at

	http://dithosoft.cjb.net
