Go to the documentation of this file.00001
00002
00014 #ifndef _ViewFactory_H_
00015 #define _ViewFactory_H_
00016
00017 #include "pattern/libhippo.h"
00018
00019 namespace hippodraw {
00020
00021 class FontBase;
00022 class PlotterBase;
00023 class ViewBase;
00024
00035 class MDL_HIPPOPLOT_API ViewFactory
00036 {
00037 protected:
00038
00042 static ViewFactory * m_instance;
00043
00045 ViewFactory();
00046
00047 private:
00049 ViewFactory( const ViewFactory & );
00050
00051 public:
00052
00057 virtual ~ViewFactory () {};
00058
00060 static ViewFactory * instance();
00061
00063 virtual ViewBase * createView ( PlotterBase * plotter ) const = 0;
00064
00067 virtual FontBase * createFont ( ) const = 0;
00068
00069 };
00070
00071 }
00072
00073 #endif // _ViewFactory_H_