Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __gr_Abi_AreaFactory_h__
00021 #define __gr_Abi_AreaFactory_h__
00022
00023 #include "mathview_proxy.h"
00024
00025 #include "gr_Abi_ColorArea.h"
00026
00027 #include "gr_Abi_InkArea.h"
00028 #include "gr_Abi_CharArea.h"
00029
00030 class GR_Abi_AreaFactory : public AreaFactory
00031 {
00032 protected:
00033 GR_Abi_AreaFactory(void) { }
00034 virtual ~GR_Abi_AreaFactory() { }
00035
00036 public:
00037 static SmartPtr<GR_Abi_AreaFactory> create(void)
00038 { return new GR_Abi_AreaFactory(); }
00039
00040
00041
00042 virtual SmartPtr<ColorArea> color(const AreaRef& area, const RGBColor& _color) const
00043 { return GR_Abi_ColorArea::create(area, _color); }
00044 virtual SmartPtr<InkArea> ink(const AreaRef& area) const
00045 { return GR_Abi_InkArea::create(area); }
00046 #if 0
00047 virtual AreaRef background(const AreaRef& area, const RGBColor& _color) const
00048 { return GR_Abi_BackgroundArea::create(area, _color); }
00049 #endif
00050
00051
00052
00053 virtual SmartPtr<GR_Abi_CharArea> charArea(class GR_Graphics* g, class GR_Font* f, const scaled& size, UT_UCS4Char ch) const
00054 { return GR_Abi_CharArea::create(g, f, size, ch); }
00055 };
00056
00057 #endif // __gr_Abi_AreaFactory_h__