mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
ui/viewgfx.cpp: Fixed some cases where no tiles would appear with tall or wide aspect ratio windows.
This commit is contained in:
parent
92610fb3a3
commit
be781bb886
@ -1056,19 +1056,27 @@ uint32_t gfx_viewer::handle_gfxset(mame_ui_manager &mui, render_container &conta
|
||||
float pixelscale = 0.0f;
|
||||
while (xcells > 1)
|
||||
{
|
||||
pixelscale = (cellboxwidth / xcells) / cellxpix;
|
||||
pixelscale = cellboxwidth / (xcells * cellxpix);
|
||||
if (set.m_integer_scale)
|
||||
pixelscale = std::floor(pixelscale);
|
||||
if (0.25f <= pixelscale)
|
||||
break;
|
||||
xcells--;
|
||||
}
|
||||
set.m_columns = xcells;
|
||||
if (0.0f == pixelscale)
|
||||
pixelscale = cellboxwidth / (xcells * cellxpix);
|
||||
|
||||
// in the Y direction, we just display as many as we can
|
||||
int const ycells = int(cellboxheight / (pixelscale * cellypix));
|
||||
int ycells = int(cellboxheight / (pixelscale * cellypix));
|
||||
if (!ycells)
|
||||
{
|
||||
ycells = 1;
|
||||
pixelscale = cellboxheight / cellypix;
|
||||
xcells = int(cellboxwidth / (pixelscale * cellxpix));
|
||||
}
|
||||
|
||||
// now determine the actual cellbox size
|
||||
set.m_columns = xcells;
|
||||
cellboxwidth = std::min(cellboxwidth, xcells * pixelscale * cellxpix);
|
||||
cellboxheight = std::min(cellboxheight, ycells * pixelscale * cellypix);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user