25 #include <tulip/Observable.h>
26 #include <tulip/Color.h>
58 class TLP_SCOPE ColorScale :
public Observable {
66 ColorScale(
const bool gradient =
true);
73 ColorScale(
const std::vector<Color> &colors,
const bool gradient =
true);
76 ColorScale(
const ColorScale& scale);
77 ColorScale& operator=(
const ColorScale& scale);
78 virtual ~ColorScale();
83 unsigned int getStopsCount() {
84 return colorMap.size();
94 virtual void setColorScale(
const std::vector<Color> colors,
const bool gradient =
true);
102 virtual void setColorAtPos(
const float pos,
const Color &color);
110 virtual Color getColorAtPos(
const float pos)
const;
115 bool colorScaleInitialized()
const {
116 return !colorMap.empty();
122 std::map<float, Color> getColorMap()
const {
130 void setColorMap(
const std::map<float, Color>& colorMap);
134 bool isGradient()
const {
141 void setColorMapTransparency(
unsigned char transparency);
146 bool operator==(
const ColorScale& cs)
const {
147 return (gradient == cs.gradient) && (colorMap == cs.colorMap);
153 bool operator==(
const std::vector<Color> &colors)
const;
156 std::map<float, Color> colorMap;