mirror of https://github.com/stella-emu/stella.git
fixed zoom when switching bezel paths
This commit is contained in:
parent
c2460b7c17
commit
deea1e37ea
|
@ -77,7 +77,7 @@ uInt32 Bezel::borderSize(uInt32 x, uInt32 y, uInt32 size, Int32 step) const
|
||||||
uInt8 r, g, b, a;
|
uInt8 r, g, b, a;
|
||||||
|
|
||||||
myFB.getRGBA(*pixels, &r, &g, &b, &a);
|
myFB.getRGBA(*pixels, &r, &g, &b, &a);
|
||||||
if(a < 255)
|
if(a < 255) // transparent pixel?
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
return size - 1;
|
return size - 1;
|
||||||
|
@ -86,13 +86,14 @@ uInt32 Bezel::borderSize(uInt32 x, uInt32 y, uInt32 size, Int32 step) const
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
bool Bezel::load()
|
bool Bezel::load()
|
||||||
{
|
{
|
||||||
|
const Settings& settings = myOSystem.settings();
|
||||||
bool isValid = false;
|
bool isValid = false;
|
||||||
|
|
||||||
#ifdef IMAGE_SUPPORT
|
#ifdef IMAGE_SUPPORT
|
||||||
const bool show = myOSystem.eventHandler().inTIAMode() &&
|
const bool show = myOSystem.eventHandler().inTIAMode() &&
|
||||||
myOSystem.settings().getBool("bezel.show") &&
|
settings.getBool("bezel.show") &&
|
||||||
(myOSystem.settings().getBool("fullscreen") ||
|
(settings.getBool("fullscreen") ||
|
||||||
myOSystem.settings().getBool("bezel.windowed"));
|
settings.getBool("bezel.windowed"));
|
||||||
|
|
||||||
if(show)
|
if(show)
|
||||||
{
|
{
|
||||||
|
@ -122,15 +123,11 @@ bool Bezel::load()
|
||||||
}
|
}
|
||||||
} while(index != -1);
|
} while(index != -1);
|
||||||
}
|
}
|
||||||
catch(const runtime_error&)
|
catch(const runtime_error&) { }
|
||||||
{
|
|
||||||
isValid = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if(isValid)
|
if(isValid)
|
||||||
{
|
{
|
||||||
const Settings& settings = myOSystem.settings();
|
|
||||||
const Int32 w = mySurface->width();
|
const Int32 w = mySurface->width();
|
||||||
const Int32 h = mySurface->height();
|
const Int32 h = mySurface->height();
|
||||||
uInt32 top, bottom, left, right;
|
uInt32 top, bottom, left, right;
|
||||||
|
|
|
@ -281,7 +281,7 @@ FBInitStatus FrameBuffer::createDisplay(string_view title, BufferType type,
|
||||||
|
|
||||||
if(myBufferType == BufferType::Emulator)
|
if(myBufferType == BufferType::Emulator)
|
||||||
{
|
{
|
||||||
// myBezel->load();
|
myBezel->load(); // make sure we have the correct bezel size
|
||||||
|
|
||||||
// Determine possible TIA windowed zoom levels
|
// Determine possible TIA windowed zoom levels
|
||||||
const double currentTIAZoom =
|
const double currentTIAZoom =
|
||||||
|
@ -1239,7 +1239,7 @@ void FrameBuffer::switchVideoMode(int direction)
|
||||||
else if(direction == -1) zoom -= ZOOM_STEPS;
|
else if(direction == -1) zoom -= ZOOM_STEPS;
|
||||||
|
|
||||||
// Make sure the level is within the allowable desktop size
|
// Make sure the level is within the allowable desktop size
|
||||||
zoom = BSPF::clamp(zoom, supportedTIAMinZoom(), supportedTIAMaxZoom());
|
zoom = BSPF::clampw(zoom, supportedTIAMinZoom(), supportedTIAMaxZoom());
|
||||||
myOSystem.settings().setValue("tia.zoom", zoom);
|
myOSystem.settings().setValue("tia.zoom", zoom);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue