diff --git a/src/preferences.h b/src/preferences.h
index a7be080094ae91f9267f9587e0a90ece8c462e38..5e1ccf9d6f7a451f48fd3d97b328e618035cc1a3 100644 (file)
--- a/src/preferences.h
+++ b/src/preferences.h
*/
inline Glib::ustring getString() const;
+ /**
+ * @brief Interpret the preference as an RGBA color value.
+ */
+ inline guint32 getColor(guint32 def) const;
+
/**
* @brief Interpret the preference as a CSS style.
* @return A CSS style that has to be unrefed when no longer necessary. Never NULL.
return getEntry(pref_path).getString();
}
+ guint32 getColor(Glib::ustring const &pref_path, guint32 def=0x000000ff) {
+ return getEntry(pref_path).getColor(def);
+ }
+
/**
* @brief Retrieve a CSS style
* @param pref_path Path to the retrieved preference
*/
void setString(Glib::ustring const &pref_path, Glib::ustring const &value);
+ /**
+ * @brief Set an RGBA color value
+ */
+ void setColor(Glib::ustring const &pref_path, guint32 value);
+
/**
* @brief Set a CSS style
*/
int _extractInt(Entry const &v);
double _extractDouble(Entry const &v);
Glib::ustring _extractString(Entry const &v);
+ guint32 _extractColor(Entry const &v);
SPCSSAttr *_extractStyle(Entry const &v);
SPCSSAttr *_extractInheritedStyle(Entry const &v);
}
}
+inline guint32 Preferences::Entry::getColor(guint32 def) const
+{
+ if (!this->isValid()) {
+ return def;
+ } else {
+ return Inkscape::Preferences::get()->_extractColor(*this);
+ }
+}
+
inline SPCSSAttr *Preferences::Entry::getStyle() const
{
if (!this->isValid()) {