[..]
>
> Is this maybe a parent-redrawing-child thing?
>
> By which I mean, if the label is part of "Outer" it does not get redrawn
> because it is outside the area that Outer thinks it has to deal with
> damage for.
>
> But if/when Outer gets damaged, it tells its children to redraw fully
> (?does it?) - and so if the label is part of Inner, then it gets redrawn
> because Inner gets told to redraw.
>
> Maybe something like that?
I pretty sure it's something like that. For instance, this
change makes it work, but leaves me with a poor mental
picture of what's going on.
class Outer : public Fl_Group {
public:
Outer(int x, int y, int w, int h, char const* label = 0)
: Fl_Group(x, y, w, h)
// don't make inner_ a member of Outer
//, inner_(new Inner(x, y, w, h, label))
{
end();
// Instead, make inner & outer siblings
inner_ = new Inner(x, y, w, h, label);
}
private:
Inner* inner_;
};
Could it be that the location of the label outside the group
boundary has little to do with it after all?
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk