00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef OST_COLOR_OPS_GRADIENT_LEVEL_COLOR_OP_HH
00020 #define OST_COLOR_OPS_GRADIENT_LEVEL_COLOR_OP_HH
00021
00022 #include <ost/mol/property_id.hh>
00023
00024
00025
00026 #include <ost/info/info.hh>
00027 #include <ost/info/info_fw.hh>
00028
00029 #include <ost/gfx/gradient.hh>
00030 #include <ost/gfx/color_ops/gradient_color_op.hh>
00031
00032
00033
00034
00035
00036 namespace ost { namespace gfx {
00037
00038 class DLLEXPORT_OST_GFX GradientLevelColorOp: public GradientColorOp {
00039 public:
00040 GradientLevelColorOp();
00041 GradientLevelColorOp(const String& selection, const String& property, const gfx::Gradient& gradient,
00042 float minv, float maxv,
00043 mol::Prop::Level level=mol::Prop::UNSPECIFIED);
00044
00045 GradientLevelColorOp(const String& selection, int mask, const String& property, const gfx::Gradient& gradient,
00046 float minv, float maxv,
00047 mol::Prop::Level level=mol::Prop::UNSPECIFIED);
00048
00049 GradientLevelColorOp(const String& selection, const String& property, const gfx::Gradient& gradient,
00050 mol::Prop::Level level=mol::Prop::UNSPECIFIED);
00051
00052 GradientLevelColorOp(const String& selection, int mask, const String& property, const gfx::Gradient& gradient,
00053 mol::Prop::Level level=mol::Prop::UNSPECIFIED);
00054
00055 GradientLevelColorOp(const mol::QueryViewWrapper& query_view, const String& property, const gfx::Gradient& gradient,
00056 float minv, float maxv,
00057 mol::Prop::Level level=mol::Prop::UNSPECIFIED);
00058
00059 GradientLevelColorOp(const mol::QueryViewWrapper& query_view, int mask, const String& property, const gfx::Gradient& gradient,
00060 float minv, float maxv,
00061 mol::Prop::Level level=mol::Prop::UNSPECIFIED);
00062
00063 GradientLevelColorOp(const mol::QueryViewWrapper& query_view, const String& property, const gfx::Gradient& gradient,
00064 mol::Prop::Level level=mol::Prop::UNSPECIFIED);
00065
00066 GradientLevelColorOp(const mol::QueryViewWrapper& query_view, int mask, const String& property, const gfx::Gradient& gradient,
00067 mol::Prop::Level level=mol::Prop::UNSPECIFIED);
00068
00069 virtual bool CanApplyTo(const GfxObjP& obj) const;
00070 virtual void ApplyTo(GfxObjP& obj) const;
00071
00072 virtual void SetLevel(mol::Prop::Level level);
00073 virtual mol::Prop::Level GetLevel() const;
00074
00075 virtual void ToInfo(info::InfoGroup& group) const;
00076 static gfx::GradientLevelColorOp FromInfo(info::InfoGroup& group);
00077
00078 private:
00079 void Init();
00080 mol::Prop::Level level_;
00081 };
00082
00083 }}
00084
00085 #endif
00086