summaryrefslogtreecommitdiff
path: root/FL/Fl_Input_Choice.H
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2022-01-13 07:28:00 -0800
committerGreg Ercolano <erco@seriss.com>2022-01-13 07:28:00 -0800
commit47cd9a11a0d68fa511cb6c593b62b25af1550e19 (patch)
tree5cd037a2849aa96bd4c8b435f2dddce4b31cfcb9 /FL/Fl_Input_Choice.H
parent879da686b6aeafe227398e1a1cd2ce546d8dd659 (diff)
Fixes issue #361.
Diffstat (limited to 'FL/Fl_Input_Choice.H')
-rw-r--r--FL/Fl_Input_Choice.H36
1 files changed, 27 insertions, 9 deletions
diff --git a/FL/Fl_Input_Choice.H b/FL/Fl_Input_Choice.H
index 71bc76ee0..56fdd103a 100644
--- a/FL/Fl_Input_Choice.H
+++ b/FL/Fl_Input_Choice.H
@@ -58,16 +58,34 @@ class FL_EXPORT Fl_Input_Choice : public Fl_Group {
// note: this is used by the Fl_Input_Choice ctor.
static void inp_cb(Fl_Widget*, void *data);
+protected:
// Custom resize behavior -- input stretches, menu button doesn't
- inline int inp_x() { return(x() + Fl::box_dx(box())); }
- inline int inp_y() { return(y() + Fl::box_dy(box())); }
- inline int inp_w() { return(w() - Fl::box_dw(box()) - 20); }
- inline int inp_h() { return(h() - Fl::box_dh(box())); }
-
- inline int menu_x() { return(x() + w() - 20 - Fl::box_dx(box())); }
- inline int menu_y() { return(y() + Fl::box_dy(box())); }
- inline int menu_w() { return(20); }
- inline int menu_h() { return(h() - Fl::box_dh(box())); }
+
+ /** The methods inp_x(), inp_y(), inp_w() and inp_h() return the
+ desired position and size of the internal Fl_Input widget.
+ These can be overridden by a subclass to redefine positioning.
+ See code example in the Description for subclassing details.
+ */
+ virtual int inp_x() const { return(x() + Fl::box_dx(box())); }
+ /** See inp_x() for info. */
+ virtual int inp_y() const { return(y() + Fl::box_dy(box())); }
+ /** See inp_x() for info. */
+ virtual int inp_w() const { return(w() - Fl::box_dw(box()) - 20); }
+ /** See inp_x() for info. */
+ virtual int inp_h() const { return(h() - Fl::box_dh(box())); }
+
+ /** The methods menu_x(), menu_y(), menu_w() and menu_h() return the
+ desired position and size of the internal Fl_Menu_Button widget.
+ These can be overridden by a subclass to redefine positioning.
+ See code example in the Description for subclassing details.
+ */
+ virtual int menu_x() const { return(x() + w() - 20 - Fl::box_dx(box())); }
+ /** See menu_x() for info. */
+ virtual int menu_y() const { return(y() + Fl::box_dy(box())); }
+ /** See menu_x() for info. */
+ virtual int menu_w() const { return(20); }
+ /** See menu_x() for info. */
+ virtual int menu_h() const { return(h() - Fl::box_dh(box())); }
public: