Ok, understood. There is no API to the label box within the Widget class. You can use
fl_measure to get the label size. For example (untested code). I
// Assumes alignment is on the left and only adjusts the left side and width.
// After call, widget *and* label will fit within the box.
void resize_w_label(Fl_Widget *wgt, int xa, int ya, int wa, int ha) {
int label_wdt = 0, label_hgt = 0;
fl_font(wgt->labelfont(), wgt->labelsize());
fl_measure(wgt->label(), label_wdt, label_hgt);
wgt->resize(xa + label_wdt, ya, wa - label_wdt, ha);
}