It would be nice to be able to control the size of the widget labels,
menu labels etc from a single place using eg some enumeration table. The
standard enumeration types (indicated ie by a negative size value)
would not work properly because sizes are often used with operators + -
= == != .... to calculate label position etc.
For that reason I would propose to introduce a simple class with
overloaded conversion operator like:
class Fl_Size{
int x;
public:
operator int (){ return x>0? x : fl_size_table[-x];}
Fl_Size(int a):x(a){};
Fl_Size(const Fl_Size &a):x(a.x){}
Fl_Size(){};
};
and we can change the widget size methods like
Fl_Size Fl_Widget::size() const;
void Fl_Widget::size(Fl_Size s);
The nice thing is that the conversion/assignment exist in both
directions thanks to the (int) constructor, so you can use ordinary
numbers or this pseudo-enumeration interchangeably, all operators work
properly and it is really easy to implement.
One thing more: if we want to change "int" sizes to "float" type, it
would be also good time to do that.
R.
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev