00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_IPLOTTERFACTORY_H
00008 #define AIDA_IPLOTTERFACTORY_H 1
00009
00010
00011
00012
00013
00014
00015 #include <string>
00016
00017 namespace AIDA {
00018
00019 class IAxisStyle;
00020 class IDataStyle;
00021 class IFillStyle;
00022 class ILineStyle;
00023 class IMarkerStyle;
00024 class IPlotter;
00025 class IPlotterStyle;
00026 class ITextStyle;
00027 class ITitleStyle;
00028
00035 class IPlotterFactory {
00036
00037 public:
00039 virtual ~IPlotterFactory() { ; }
00040
00049 virtual IPlotter * create(const std::string & name = "") = 0;
00050
00056 virtual IMarkerStyle * createMarkerStyle() = 0;
00057
00058 virtual ITextStyle * createTextStyle() = 0;
00059
00060 virtual ILineStyle * createLineStyle() = 0;
00061
00062 virtual IFillStyle * createFillStyle() = 0;
00063
00068 virtual IDataStyle * createDataStyle() = 0;
00069
00070 virtual IAxisStyle * createAxisStyle() = 0;
00071
00072 virtual ITitleStyle * createTitleStyle() = 0;
00073
00078 virtual IPlotterStyle * createPlotterStyle() = 0;
00079
00080
00081
00082
00083 };
00084 };
00085 #endif