Bug 180249 BPS39 - Centralized Chart Engine API
Centralized and clearer Engine API -Create one single entry point class ChartEngine in an api package so it's easy to find (with access to IGenerator, Serializer, Device Renderers) -Create a new IGenerator interface instead of exposing the Generator class.
chart/org.eclipse.birt.chart.engine/src/org/eclipse/birt/chart/factory/Generator.java
ScriptHandler.callFunction( sh, ScriptHandler.BEFORE_LAYOUT, cmRunTime );
		lm.doLayout( ids, cmRunTime, bo, rtc );
		ScriptHandler.callFunction( sh, ScriptHandler.AFTER_LAYOUT, cmRunTime );
		
		Bounds boPlot = cmRunTime.getPlot( ).getBounds( );
		Insets insPlot = cmRunTime.getPlot( ).getInsets( );
		boPlot = boPlot.adjustedInstance( insPlot );
		ScriptHandler.callFunction( sh,
				ScriptHandler.BEFORE_COMPUTATIONS,
				cmRunTime,
				oComputations );
		long lTimer = System.currentTimeMillis( );
		if ( iChartType == WITH_AXES )
		{
			PlotWithAxes pwa = (PlotWithAxes) oComputations;
			try
			{
				pwa.compute( boPlot );
			}
			catch ( Exception ex )
			{
				throw new ChartException( ChartEnginePlugin.ID,
						ChartException.GENERATION,
						ex );
			}
		}
		else if ( iChartType == WITHOUT_AXES )
		{
			PlotWithoutAxes pwoa = (PlotWithoutAxes) oComputations;
			try