Fixed issue with beveled shapes being drawn outside their shapes. Possible regressions.

svn-id: r42529
This commit is contained in:
Vicent Marti 2009-07-16 11:37:36 +00:00
parent 19e8b39249
commit 40d8209bca
2 changed files with 20 additions and 13 deletions

View File

@ -596,12 +596,15 @@ drawSquare(int x, int y, int w, int h) {
template<typename PixelType>
void VectorRendererSpec<PixelType>::
drawRoundedSquare(int x, int y, int r, int w, int h) {
x++; y++; w--; h--;
if (x + w > Base::_activeSurface->w || y + h > Base::_activeSurface->h ||
w <= 0 || h <= 0 || x < 0 || y < 0 || r <= 0)
return;
if ((r << 1) > w || (r << 1) > h)
r = MIN(w >> 1, h >> 1);
if ((r * 2) > w || (r * 2) > h)
r = MIN(w /2, h / 2);
if (Base::_fillMode != kFillDisabled && Base::_shadowOffset
&& x + w + Base::_shadowOffset < Base::_activeSurface->w
@ -919,10 +922,14 @@ drawBevelSquareAlg(int x, int y, int w, int h, int bevel, PixelType top_color, P
}
int i, j;
#if 0
x = MAX(x - bevel, 0);
y = MAX(y - bevel, 0);
h += bevel << 1;
w += bevel << 1;
w = w + (bevel * 2);
h = h + (bevel * 2);
#endif
PixelType *ptr_left = (PixelType *)_activeSurface->getBasePtr(x, y);

View File

@ -54,7 +54,7 @@
/>
<widget name = 'Button'
size = '108, 24'
size = '112, 28'
/>
<widget name = 'Slider'
size = '128, 18'
@ -115,31 +115,31 @@
<widget name = 'GameList'/>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'>
<widget name = 'LoadGameButton'
height = '20'
height = '24'
/>
<widget name = 'AddGameButton'
height = '20'
height = '24'
/>
<widget name = 'EditGameButton'
height = '20'
height = '24'
/>
<widget name = 'RemoveGameButton'
height = '20'
height = '24'
/>
</layout>
<space size = '4'/>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'>
<widget name = 'QuitButton'
height = '20'
height = '24'
/>
<widget name = 'AboutButton'
height = '20'
height = '24'
/>
<widget name = 'OptionsButton'
height = '20'
height = '24'
/>
<widget name = 'StartButton'
height = '20'
height = '24'
/>
</layout>
</layout>