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

Reply via email to