17 #ifndef HURRICANE_GRAPHICS_H
18 #define HURRICANE_GRAPHICS_H
24 #include "hurricane/Observer.h"
25 #include "hurricane/Breakpoint.h"
26 #include "hurricane/TextTranslator.h"
27 #include "hurricane/viewer/DisplayStyle.h"
28 #include "hurricane/viewer/ColorScale.h"
29 #include "hurricane/viewer/BreakpointWidget.h"
46 enum NotifyFlags { ChangedDisplayStyles = (1<<0) };
50 static void addObserver ( BaseObserver* );
51 static void removeObserver ( BaseObserver* );
52 static void notify (
unsigned int flags );
54 static bool isHighDpi ();
55 static const QFont
getFixedFont (
int weight=QFont::Normal,
bool italic=
false,
bool underline=
false,
int scale=0 );
56 static const QFont getNormalFont (
bool bold=
false,
bool italic=
false,
bool underline=
false );
58 static QColor
getColor (
const Name& key,
const DisplayStyle::HSVr& darkening=DisplayStyle::HSVr() );
59 static QPen
getPen (
const Name& key,
const DisplayStyle::HSVr& darkening=DisplayStyle::HSVr() );
60 static QBrush
getBrush (
const Name& key,
const DisplayStyle::HSVr& darkening=DisplayStyle::HSVr() );
65 static QColor
darken (
const QColor& );
67 static string toHtml (
const string& );
68 static int toHighDpi (
int );
69 static bool breakpointStopCb (
const string& message );
77 static const vector<DisplayStyle*>& getStyles ();
79 static void disable ();
80 void toJson ( JsonWriter* )
const;
84 Observable _observers;
85 TextTranslator _htmlTranslator;
86 vector<DisplayStyle*> _styles;
88 FireColorScale _fireColorScale;
89 RainbowColorScale _rainbowColorScale;
90 TemperatureColorScale _temperatureColorScale;
100 size_t _findStyle (
const Name& key )
const;
102 void _setStyle (
const Name& key );
103 void _setStyle (
size_t id );
106 inline const vector<DisplayStyle*>& _getStyles ()
const;
107 inline const Name& _getGroup (
const Name& key )
const;
108 inline QColor _getColor (
const Name& key,
const DisplayStyle::HSVr& darkening )
const;
109 inline QPen _getPen (
const Name& key,
const DisplayStyle::HSVr& darkening )
const;
110 inline QBrush _getBrush (
const Name& key,
const DisplayStyle::HSVr& darkening )
const;
111 inline const string& _getPattern (
const Name& key )
const;
112 inline float _getThreshold (
const Name& key )
const;
113 inline const DisplayStyle::HSVr& _getDarkening ()
const;
114 inline const ColorScale& _getColorScale ( ColorScale::ScaleType )
const;
117 inline const TextTranslator& _getHtmlTranslator ()
const;
122 inline const Name& Graphics::_getGroup (
const Name& name )
const
125 inline QColor Graphics::_getColor (
const Name& name,
const DisplayStyle::HSVr& darkening )
const
126 {
return _active->
getColor(name,darkening); }
128 inline QPen Graphics::_getPen (
const Name& name,
const DisplayStyle::HSVr& darkening )
const
129 {
return _active->
getPen(name,darkening); }
131 inline QBrush Graphics::_getBrush (
const Name& name,
const DisplayStyle::HSVr& darkening )
const
132 {
return _active->
getBrush(name,darkening); }
134 inline const string& Graphics::_getPattern (
const Name& name )
const
137 inline float Graphics::_getThreshold (
const Name& name )
const
140 inline const DisplayStyle::HSVr& Graphics::_getDarkening ()
const
143 inline const ColorScale& Graphics::_getColorScale ( ColorScale::ScaleType
id )
const
146 case ColorScale::Grey:
147 case ColorScale::Fire:
148 return _fireColorScale;
150 case ColorScale::Rainbow:
151 return _rainbowColorScale;
153 case ColorScale::Temperature:
154 return _temperatureColorScale;
157 return _fireColorScale;
160 inline DisplayStyle* Graphics::_getStyle ()
const
163 inline const vector<DisplayStyle*>& Graphics::_getStyles ()
const
166 inline const TextTranslator& Graphics::_getHtmlTranslator ()
const
167 {
return _htmlTranslator; }
173 class JsonGraphics :
public JsonObject {
175 static void initialize ();
176 JsonGraphics (
unsigned long flags );
178 virtual string getTypeName ()
const;
179 virtual JsonGraphics* clone (
unsigned long )
const;
180 virtual void toData ( JsonStack& );
A complete set of DrawinStyles to uses with the CellWidget.
Definition: DisplayStyle.h:91
QColor getColor(const Name &key, const HSVr &) const
QPen getPen(const Name &key, const HSVr &) const
const std::string & getPattern(const Name &key) const
const HSVr & getDarkening() const
Definition: DisplayStyle.h:299
float getThreshold(const Name &key) const
QBrush getBrush(const Name &key, const HSVr &) const
const Name & getGroup(const Name &key) const
Manage basic graphical configuration (API)
Definition: Graphics.h:44
static QPen getPen(const Name &key, const DisplayStyle::HSVr &darkening=DisplayStyle::HSVr())
static const string & getPattern(const Name &key)
static const Name & getGroup(const Name &key)
static float getThreshold(const Name &key)
static DisplayStyle * getStyle(const Name &key)
static const TextTranslator & getHtmlTranslator()
static const QFont getFixedFont(int weight=QFont::Normal, bool italic=false, bool underline=false, int scale=0)
static Graphics * getGraphics()
static string toHtml(const string &)
static const ColorScale & getColorScale(ColorScale::ScaleType)
static QColor darken(const QColor &)
static QColor getColor(const Name &key, const DisplayStyle::HSVr &darkening=DisplayStyle::HSVr())
static void addStyle(DisplayStyle *displayStyle)
static void setStyle(const Name &key)
static QBrush getBrush(const Name &key, const DisplayStyle::HSVr &darkening=DisplayStyle::HSVr())
static DisplayStyle * getStyle()
static const DisplayStyle::HSVr & getDarkening()