21#include "hurricane/Observer.h"
22#include "hurricane/Breakpoint.h"
23#include "hurricane/TextTranslator.h"
24#include "hurricane/viewer/DisplayStyle.h"
25#include "hurricane/viewer/ColorScale.h"
26#include "hurricane/viewer/BreakpointWidget.h"
43 enum NotifyFlags { ChangedDisplayStyles = (1<<0) };
47 static void addObserver ( BaseObserver* );
48 static void removeObserver ( BaseObserver* );
49 static void notify (
unsigned int flags );
51 static bool isHighDpi ();
52 static const QFont
getFixedFont (
int weight=QFont::Normal,
bool italic=
false,
bool underline=
false,
int scale=0 );
53 static const QFont getNormalFont (
bool bold=
false,
bool italic=
false,
bool underline=
false );
54 static const QFont getLayoutFont (
bool bold=
false,
bool italic=
false,
bool underline=
false );
56 static QColor
getColor (
const Name& key,
const DisplayStyle::HSVr& darkening=DisplayStyle::HSVr() );
57 static QPen
getPen (
const Name& key,
const DisplayStyle::HSVr& darkening=DisplayStyle::HSVr() );
58 static QBrush
getBrush (
const Name& key,
const DisplayStyle::HSVr& darkening=DisplayStyle::HSVr() );
63 static QColor
darken (
const QColor& );
65 static string toHtml (
const string& );
66 static int toHighDpi (
int );
67 static bool breakpointStopCb (
const string& message );
75 static const vector<DisplayStyle*>& getStyles ();
77 static void disable ();
78 void toJson ( JsonWriter* )
const;
81 static Graphics* _singleton;
82 Observable _observers;
83 TextTranslator _htmlTranslator;
84 vector<DisplayStyle*> _styles;
86 FireColorScale _fireColorScale;
87 RainbowColorScale _rainbowColorScale;
88 TemperatureColorScale _temperatureColorScale;
94 Graphics (
const Graphics& );
95 Graphics& operator= (
const Graphics& );
98 size_t _findStyle (
const Name& key )
const;
100 void _setStyle (
const Name& key );
101 void _setStyle (
size_t id );
104 inline const vector<DisplayStyle*>& _getStyles ()
const;
105 inline const Name& _getGroup (
const Name& key )
const;
106 inline QColor _getColor (
const Name& key,
const DisplayStyle::HSVr& darkening )
const;
107 inline QPen _getPen (
const Name& key,
const DisplayStyle::HSVr& darkening )
const;
108 inline QBrush _getBrush (
const Name& key,
const DisplayStyle::HSVr& darkening )
const;
109 inline const string& _getPattern (
const Name& key )
const;
110 inline float _getThreshold (
const Name& key )
const;
111 inline const DisplayStyle::HSVr& _getDarkening ()
const;
112 inline const ColorScale& _getColorScale ( ColorScale::ScaleType )
const;
115 inline const TextTranslator& _getHtmlTranslator ()
const;
120 inline const Name& Graphics::_getGroup (
const Name& name )
const
123 inline QColor Graphics::_getColor (
const Name& name,
const DisplayStyle::HSVr& darkening )
const
124 {
return _active->
getColor(name,darkening); }
126 inline QPen Graphics::_getPen (
const Name& name,
const DisplayStyle::HSVr& darkening )
const
127 {
return _active->getPen(name,darkening); }
129 inline QBrush Graphics::_getBrush (
const Name& name,
const DisplayStyle::HSVr& darkening )
const
130 {
return _active->getBrush(name,darkening); }
132 inline const string& Graphics::_getPattern (
const Name& name )
const
133 {
return _active->getPattern(name); }
135 inline float Graphics::_getThreshold (
const Name& name )
const
136 {
return _active->getThreshold(name); }
138 inline const DisplayStyle::HSVr& Graphics::_getDarkening ()
const
139 {
return _active->getDarkening(); }
141 inline const ColorScale& Graphics::_getColorScale ( ColorScale::ScaleType
id )
const
144 case ColorScale::Grey:
145 case ColorScale::Fire:
146 return _fireColorScale;
148 case ColorScale::Rainbow:
149 return _rainbowColorScale;
151 case ColorScale::Temperature:
152 return _temperatureColorScale;
155 return _fireColorScale;
161 inline const vector<DisplayStyle*>& Graphics::_getStyles ()
const
164 inline const TextTranslator& Graphics::_getHtmlTranslator ()
const
165 {
return _htmlTranslator; }
173 static void initialize ();
174 JsonGraphics (
unsigned long flags );
177 virtual JsonGraphics* clone (
unsigned long )
const;
178 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
const Name & getGroup(const Name &key) const
static QBrush getBrush(const Name &key, const DisplayStyle::HSVr &darkening=DisplayStyle::HSVr())
static const string & getPattern(const Name &key)
static void addStyle(DisplayStyle *displayStyle)
static QPen getPen(const Name &key, const DisplayStyle::HSVr &darkening=DisplayStyle::HSVr())
static const TextTranslator & getHtmlTranslator()
static const ColorScale & getColorScale(ColorScale::ScaleType)
static const DisplayStyle::HSVr & getDarkening()
static const QFont getFixedFont(int weight=QFont::Normal, bool italic=false, bool underline=false, int scale=0)
static const Name & getGroup(const Name &key)
static QColor darken(const QColor &)
static QColor getColor(const Name &key, const DisplayStyle::HSVr &darkening=DisplayStyle::HSVr())
static DisplayStyle * getStyle()
static string toHtml(const string &)
static void setStyle(const Name &key)
static DisplayStyle * getStyle(const Name &key)
static float getThreshold(const Name &key)
static Graphics * getGraphics()
virtual std::string getTypeName() const=0