mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-12 12:09:15 +00:00
Bugfix: Strange behaviour in rounded square corners.
svn-id: r33039
This commit is contained in:
parent
9a4992cc37
commit
a95c6fc76d
@ -339,7 +339,7 @@ template<typename PixelType, typename PixelFormat>
|
||||
void VectorRendererSpec<PixelType, PixelFormat>::
|
||||
drawRoundedSquare(int x, int y, int r, int w, int h) {
|
||||
if (x + w > Base::_activeSurface->w || y + h > Base::_activeSurface->h ||
|
||||
w <= 0 || h <= 0 || x < 0 || y < 0 || r <= 0 || r > 128)
|
||||
w <= 0 || h <= 0 || x < 0 || y < 0 || r <= 0 || r > 128 || (r << 1) > w || (r << 1) > h)
|
||||
return;
|
||||
|
||||
if (Base::_fillMode != kFillDisabled && Base::_shadowOffset
|
||||
@ -712,6 +712,8 @@ drawRoundedSquareAlg(int x1, int y1, int r, int w, int h, PixelType color, Vecto
|
||||
|
||||
colorFill(ptr_bl - x + py, ptr_br + x + py, calcGradient(long_h - r + y, long_h));
|
||||
colorFill(ptr_bl - y + px, ptr_br + y + px, calcGradient(long_h - r + x, long_h));
|
||||
|
||||
// __BE_DRAWCIRCLE(ptr_tr, ptr_tl, ptr_bl, ptr_br, x, y, px, py);
|
||||
}
|
||||
} else {
|
||||
while (x++ < y) {
|
||||
@ -724,7 +726,7 @@ drawRoundedSquareAlg(int x1, int y1, int r, int w, int h, PixelType color, Vecto
|
||||
colorFill(ptr_bl - y + px, ptr_br + y + px, color);
|
||||
|
||||
// FIXME: maybe not needed at all?
|
||||
__BE_DRAWCIRCLE(ptr_tr, ptr_tl, ptr_bl, ptr_br, x, y, px, py);
|
||||
// __BE_DRAWCIRCLE(ptr_tr, ptr_tl, ptr_bl, ptr_br, x, y, px, py);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -60,13 +60,13 @@ bool ThemeRenderer::loadDefaultXML() {
|
||||
"</drawdata>"
|
||||
|
||||
"<drawdata id = 'button_idle' cache = false>"
|
||||
"<text vertical_align = 'center' horizontal_align = 'center' color = '255, 255, 255' />"
|
||||
"<drawstep func = 'roundedsq' radius = '8' stroke = 0 fill = 'gradient' gradient_start = '206, 121, 99' gradient_end = '173, 40, 8' shadow = 3 />"
|
||||
"<text vertical_align = 'center' horizontal_align = 'center' color = '128, 128, 128' />"
|
||||
"<drawstep func = 'roundedsq' radius = '8' stroke = 0 fill = 'foreground' gradient_start = '206, 121, 99' gradient_end = '173, 40, 8' shadow = 3 />"
|
||||
"</drawdata>"
|
||||
|
||||
"<drawdata id = 'button_hover' cache = false>"
|
||||
"<text vertical_align = 'center' horizontal_align = 'center' color = '255, 255, 255' />"
|
||||
"<drawstep func = 'roundedsq' radius = '8' fill = 'gradient' gradient_start = '206, 121, 99' gradient_end = '173, 40, 8' shadow = 3 />"
|
||||
"<drawstep func = 'roundedsq' radius = '8' stroke = '1' fill = 'gradient' gradient_start = '206, 121, 99' gradient_end = '173, 40, 8' shadow = 3 />"
|
||||
"</drawdata>"
|
||||
|
||||
"<drawdata id = 'checkbox_disabled' cache = false>"
|
||||
|
@ -103,7 +103,7 @@ Graphics::DrawStep *ThemeParser::defaultDrawStep() {
|
||||
step->fillMode = Graphics::VectorRenderer::kFillDisabled;
|
||||
step->scale = (1 << 16);
|
||||
step->shadow = 0;
|
||||
step->stroke = 1;
|
||||
step->stroke = 0;
|
||||
step->radius = 0xFF;
|
||||
|
||||
return step;
|
||||
|
Loading…
Reference in New Issue
Block a user