void set_proportional (float p) {
_proportional = p;
}
-
+
void set_points (int p) {
_points = p;
}
boost::optional<float> proportional () const {
return _proportional;
}
-
+
boost::optional<int> points () const {
return _points;
}
-
+
+ bool specified () const;
+
float proportional (int screen_height_in_points) const;
int points (int screen_height_in_points) const;
-
-private:
+
+ static FontSize from_points (int p);
+ static FontSize from_proportional (float p);
+
+private:
/** as a proportion of screen height */
boost::optional<float> _proportional;
/** in points */
boost::optional<int> _points;
-
+
};
+extern bool operator== (FontSize const & a, FontSize const & b);
+
}
#endif