00001
00002
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00021
00030
00031
00032
00033
00034 #ifndef ANAPHE_AIDA_FILLSTYLE_H
00035 #define ANAPHE_AIDA_FILLSTYLE_H
00036
00037
00038
00039 #include "AIDA/IFillStyle.h"
00040
00041
00042
00043 namespace Anaphe {
00044
00045 class FillStyle;
00046 }
00047
00048
00049
00050 namespace Anaphe {
00051 namespace AIDA_Plotter_Grace {
00052
00053
00054
00055
00060 class AIDA_FillStyle : public AIDA::IFillStyle
00061 {
00062 public:
00063 AIDA_FillStyle();
00064 AIDA_FillStyle(FillStyle*, bool owner = true);
00065 virtual ~AIDA_FillStyle();
00066
00067 private:
00068 AIDA_FillStyle(const AIDA_FillStyle&);
00069 AIDA_FillStyle& operator=(const AIDA_FillStyle&);
00070
00071 public:
00072 virtual void reset();
00073 virtual bool setParameter(const std::string& paramName, const std::string& options);
00074 virtual std::vector<std::string> availableParameters() const;
00075 virtual std::string parameterValue(const std::string& paramName) const;
00076 virtual std::vector<std::string> availableParameterOptions(const std::string& paramName) const;
00077 virtual std::vector<std::string> availableColors() const;
00078 virtual std::string color() const;
00079 virtual double opacity() const;
00080 virtual bool setColor(const std::string & newColor);
00081 virtual bool setOpacity(double newOpacity);
00082 virtual std::vector<std::string> availablePatterns() const;
00083 virtual std::string pattern() const;
00084 virtual bool setPattern(const std::string& pattern);
00085
00086 void setRep(FillStyle&, bool ownership);
00087 FillStyle* theRep();
00088
00089 private:
00090 void crisis() const;
00091
00092 private:
00093 FillStyle* rep;
00094 bool ownRep;
00095
00096 };
00097
00098
00099
00100 }
00101 }
00102
00103
00104 #endif // ANAPHE_AIDA_FILLSTYLE_H
00105