==================
VDKChart COMPONENT
==================
VDKChart is a component that allows to plot 2D data in various formats.
VDKChart is a base class that implements common functionalities to all
subclasses actually supported:
VDKLineChart		plots data as line graph
VDKScatteredChart	plots data as scattered points
VDKBarChart		plots data as bar graph

===============
COMPONENT USAGE
===============
Use of a VDKChart is straigthforward, normally user adds 2D points to a Series,
eventually sets some Series property like color and fonts. After that adds Series to
a VDKChart that is responsible to plot data and to take care of scaling/resizing stuff.
See tchart.cc for further informations.

================
VDKChart Classes
================

============
Coord class
============
DESCRIPTION
Coord is a 2D point object

PUBLIC MEMBERS

double x,y

METHODS

Coord(double x = 0.0, double y = 0.0)
Constructor.


============
Series class
============

DESCRIPTION
Series is mainly a list of 2D points with some properties and behaviours added.

PROPERTIES
==========
VDKRgb		Color;
GdkLineStyle 	LineStyle;
int		LineWidth;
GdkCapStyle	LineCapStyle;
GdkJoinStyle	LineJoinStyle;

METHODS
=======
Series(char* title);
Contructor, makes a series with title <title>.

~Series()
Destructor

void Add(double x, double y);
Add a 2D point to series.

void Add(double* x, double* y, int n);
Add an <n> length array of 2D points to series.

char* Title()
Returns series title

bool operator==(Series& s)
Returns true if this as the same title of <s>

===============
VDKChart class
===============
inherits from VDKCanvas

DESCRIPTION
===========
VDKChart is base class of various subclasses. This class implements common 
functionalities for all chart types.

PROPERTIES
int 		ChartBorder;
	Sets/gets chart border. This area is left to draw axis, title and axis labels.
	Default is 20, but larger border is advisable.
	
VDKString 	Title;
	Sets/gets chart title, title is draw in the middle of char upper border.
	
VDKString 	LabelX;
	Sets/gets x axis label.
	
VDKString 	LabelY;
	Sets/gets y axis label.
	
METHODS
=======
VDKChart(VDKForm* owner, int w = 100, int h = 100)
	Constructor

virtual ~VDKChart()
	Destructor

virtual int isA()
	Return chart_class

void AddSeries(Series* s)
	Add series <s> to chart. Series title is checked for unicity.

void Clear()
	Clears chart destroying all series

void SetChartBorder(int b)
int  GetChartBorder()
	Self explanatory

PLOTTING/DRAWING FUNCTIONS
==========================
virtual void Plot(VDKPoint& p, int t, Series* s)
	Actually plots data into chart. Plots <t>-th item of series <s>.
	Items has <p> coordinates ready to be plotted, scaled and/or resized accordling
	to chart size and data domain. At VDKChart level does nothing subclasses 
	should override this to draw data in various formats.See VDKLineChart::Draw(),
	VDKScatteredChart::Draw() and VDKBarChart::Draw() for further informations.

GdkGC* GC()
	Returns chart graphic context

void SetColor(VDKRgb rgb);
	Set drawing color, this affects plotting area only, to change axis, title and labels color
	use Foreground property.
	
void SetLineAttributes(gint lineWidth,  GdkLineStyle lineStyle, GdkCapStyle capStyle,
			 GdkJoinStyle joinStyle);
	Sets plotting line attributes. Args follows Gdk enums.

SUBCLASSING VDKCHART
====================
Subclassing is straigthforward, user normally need only to override Plot() 
functions in order to draw data in desired format. All others functionalities
such as scaling/resizing and redrawing are accomplished by VDKChart class functions.
See tchart.cc and chart.cc sources for further informations.







