1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef CHART_RENDERER_H
6#define CHART_RENDERER_H
7
8#include <Rect.h>
9
10
11class BView;
12class ChartDataRange;
13class ChartDataSource;
14
15
16class ChartRendererDataSourceConfig {
17public:
18	virtual						~ChartRendererDataSourceConfig();
19};
20
21
22class ChartRenderer {
23public:
24	virtual						~ChartRenderer();
25
26	virtual	bool				AddDataSource(
27									ChartDataSource* dataSource,
28									int32 index,
29									ChartRendererDataSourceConfig* config) = 0;
30	virtual	void				RemoveDataSource(
31									ChartDataSource* dataSource) = 0;
32
33	virtual	void				SetFrame(const BRect& frame) = 0;
34	virtual	void				SetDomain(const ChartDataRange& domain) = 0;
35	virtual	void				SetRange(const ChartDataRange& range) = 0;
36
37	virtual	void				Render(BView* view, BRect updateRect) = 0;
38};
39
40
41#endif	// CHART_RENDERER_H
42