//package org.zkoss.zss.model.impl.html;
//
//import org.zkoss.poi.hssf.usermodel.HSSFSheet;
//import org.zkoss.poi.ss.usermodel.ChartInfo;
//import org.zkoss.poi.ss.usermodel.ZssChartX;
//import org.zkoss.zss.model.sys.XSheet;
//import org.zkoss.zssex.util.ChartHelper;
//import org.zkoss.zul.Chart;
//import org.zkoss.zul.ChartModel;
//import org.zkoss.zssex.model.impl.ChartDrawer;
//
//public class ChartPainter implements ChartDrawer {
//	private int _outcol1;
//	private int _outcol2;
//	private int _outrow1;
//	private int _outrow2;
//
//	public byte[] paint(XSheet sheet,ZssChartX chart){
//		org.zkoss.zul.Chart zchart = sheet instanceof HSSFSheet ? 
//				ChartHelper.createChart(chart.getChartInfo()) :
//				ChartHelper.createChart(chart.getChart());
//		initChart(zchart, sheet, chart);
//		return zchart.getEngine().drawChart(zchart);
//	}
//	
//	private void initChart(org.zkoss.zul.Chart zchart, XSheet sheet, ZssChartX chartX) {
//		ChartHelper.drawChart(this, zchart, sheet, chartX);
//	}
//
//	@Override
//	public void prepareUpdateAreaReference(int col1, int row1, int col2, int row2) {
//		if (_outcol1 > col1) {
//			_outcol1 = col1;
//		}
//		if (_outcol2 < col2) {
//			_outcol2 = col2;
//		}
//		if (_outrow1 > row1) {
//			_outrow1 = row1;
//		}
//		if (_outrow2 < row2) {
//			_outrow2 = row2;
//		}
//	}
//
//	@Override
//	public boolean prepareChart(Chart chart, ChartModel model,
//			ChartInfo chartInfo) {
//		return false;
//	}
//
//	@Override
//	public boolean prepareChart(Chart chart, ChartModel model,
//			org.zkoss.poi.ss.usermodel.Chart poiChart) {
//		return false;
//	}
//}
