Okay, now I'm totally confused.
Posted: Sun Sep 04, 2005 05:18
Okay, I've been having a problem with the last item in a 'ComboDropList' getting clipped and I used the two following snippets to try and determine why:
and this one:
The thing is, 'CEGUI.log' reports exactly the same thing both times, but the item still gets clipped unless I use the second snippet. I am completely dumbfounded. Any help would be greatly appreciated.
P.S. - I hope you guys aren't getting annoyed by the plethora of topics I've been posting lately.
EDIT: Okay, now I noticed that with the first snippet, the scrollbars are initially returning that they are not visible, but later that they are. Wouldn't the later calls that report them as visible cause the render area to be altered to accommodate? It seems like it should anyways...
Also, in the 'performChildWindowLayout' method the srollbars report that they are not visible ( even though this method appears to be called after 'configureScrollbars' ) so they are not getting resized when both are present and overlap.
Code: Select all
if ( d_vertScrollbar->isVisible() )
{
rectArea.d_right -= d_vertScrollbar->getAbsoluteWidth();
Logger::getSingleton().logEvent ( "getListRenderArea() : d_vertScrollbar is visible", Informative );
}
else
{
rectArea.d_right -= m_flFrameRightSize;
Logger::getSingleton().logEvent ( "getListRenderArea() : d_vertScrollbar is NOT visible", Informative );
}
if ( d_horzScrollbar->isVisible() )
{
rectArea.d_bottom -= d_horzScrollbar->getAbsoluteHeight();
Logger::getSingleton().logEvent ( "getListRenderArea() : d_horzScrollbar is visible", Informative );
}
else
{
rectArea.d_bottom -= m_flFrameBottomSize;
Logger::getSingleton().logEvent ( "getListRenderArea() : d_horzScrollbar is NOT visible", Informative );
}
and this one:
Code: Select all
if ( true )
{
rectArea.d_right -= d_vertScrollbar->getAbsoluteWidth();
Logger::getSingleton().logEvent ( "getListRenderArea() : d_vertScrollbar is visible", Informative );
}
else
{
rectArea.d_right -= m_flFrameRightSize;
Logger::getSingleton().logEvent ( "getListRenderArea() : d_vertScrollbar is NOT visible", Informative );
}
if ( true )
{
rectArea.d_bottom -= d_horzScrollbar->getAbsoluteHeight();
Logger::getSingleton().logEvent ( "getListRenderArea() : d_horzScrollbar is visible", Informative );
}
else
{
rectArea.d_bottom -= m_flFrameBottomSize;
Logger::getSingleton().logEvent ( "getListRenderArea() : d_horzScrollbar is NOT visible", Informative );
}
The thing is, 'CEGUI.log' reports exactly the same thing both times, but the item still gets clipped unless I use the second snippet. I am completely dumbfounded. Any help would be greatly appreciated.
P.S. - I hope you guys aren't getting annoyed by the plethora of topics I've been posting lately.
EDIT: Okay, now I noticed that with the first snippet, the scrollbars are initially returning that they are not visible, but later that they are. Wouldn't the later calls that report them as visible cause the render area to be altered to accommodate? It seems like it should anyways...
Also, in the 'performChildWindowLayout' method the srollbars report that they are not visible ( even though this method appears to be called after 'configureScrollbars' ) so they are not getting resized when both are present and overlap.