summaryrefslogtreecommitdiff
path: root/src/Fl_Group.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Fl_Group.cxx')
-rw-r--r--src/Fl_Group.cxx18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/Fl_Group.cxx b/src/Fl_Group.cxx
index a5ca1739b..8f02fcf46 100644
--- a/src/Fl_Group.cxx
+++ b/src/Fl_Group.cxx
@@ -745,7 +745,23 @@ void Fl_Group::draw_outside_label(const Fl_Widget& widget) const {
int Y = widget.y();
int W = widget.w();
int H = widget.h();
- if (a & FL_ALIGN_TOP) {
+ if ( (a & 0x0f) == FL_ALIGN_LEFT_TOP ) {
+ a = (a &~0x0f ) | FL_ALIGN_TOP_RIGHT;
+ X = x();
+ W = widget.x()-X-3;
+ } else if ( (a & 0x0f) == FL_ALIGN_LEFT_BOTTOM ) {
+ a = (a &~0x0f ) | FL_ALIGN_BOTTOM_RIGHT;
+ X = x();
+ W = widget.x()-X-3;
+ } else if ( (a & 0x0f) == FL_ALIGN_RIGHT_TOP ) {
+ a = (a &~0x0f ) | FL_ALIGN_TOP_LEFT;
+ X = X+W+3;
+ W = x()+this->w()-X;
+ } else if ( (a & 0x0f) == FL_ALIGN_RIGHT_BOTTOM ) {
+ a = (a &~0x0f ) | FL_ALIGN_BOTTOM_LEFT;
+ X = X+W+3;
+ W = x()+this->w()-X;
+ } else if (a & FL_ALIGN_TOP) {
a ^= (FL_ALIGN_BOTTOM|FL_ALIGN_TOP);
Y = y();
H = widget.y()-Y;