On Fri, 2011-08-19 at 15:31 +0200, Daniel Cámpora wrote: > Hi, > > I had the same problem and ended up overriding the _calculateSize method as > you are doing. > > However, I don't think this is an error of the bounding box. What happens > internally is that the text has a width and height according to the first > text that we fit in, and it's only updated IF the text occupies more space, > shall it be width or heigth. > > On the other hand, I think it's not a good approach to remove completely the > if statement, because that would imply the size of the box is always going to > be that one of the text's. Eg. suppose you want a bigger container with a > background color specified by user's width and height. > > I went for two booleans, "_userWidth" and "_userHeight" which are set > whenever the user wants to define a custom width or height (in the setters > and adders). With this, the _calculateSize looks like this: > > > Code: > void EnhancedWidgetText::_calculateSize(const osgWidget::XYCoord& size){ > if(!_userWidth || getWidth() < size.x()) > inherited::setWidth(size.x()); > > if(!_userHeight || getHeight() < size.y()) > inherited::setHeight(size.y()); > } > > > > If someone is interested I can provide the implementation. > > Btw, among other things, you'll find out the padding is not supported in > canvas widgets. An addition could be added in this direction, maybe.
Honoring Widget sizing hints is the job of each Window (and could mean different things). Canvas is truly free-form, so it doesn't even look at any of that. :) > Cheers, > > Daniel > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=42132#42132 > > > > > > _______________________________________________ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org