Fix #1513 hopefully properly

This commit is contained in:
Morilli 2022-02-08 19:46:27 +01:00
parent a2fab196e3
commit a858282a8d
2 changed files with 3 additions and 25 deletions

View File

@ -498,27 +498,6 @@ namespace BizHawk.Client.Common
return null;
}
public BitmapBuffer RenderVideoProvider(IVideoProvider videoProvider)
{
// TODO - we might need to gather more Config.DispXXX properties here, so they can be overridden
var targetSize = new Size(videoProvider.BufferWidth, videoProvider.BufferHeight);
var padding = CalculateCompleteContentPaddingSum(true,true);
targetSize.Width += padding.Horizontal;
targetSize.Height += padding.Vertical;
var job = new JobInfo
{
VideoProvider = videoProvider,
Simulate = false,
ChainOutsize = targetSize,
Offscreen = true,
IncludeOSD = false,
IncludeUserFilters = false
};
UpdateSourceInternal(job);
return job.OffscreenBb;
}
/// <summary>
/// Does the entire display process to an offscreen buffer, suitable for a 'client' screenshot.
/// </summary>
@ -910,8 +889,7 @@ namespace BizHawk.Client.Common
}
//POOPY. why are we delivering the GL context this way? such bad
ScreenControlNDS fNDS = filterProgram["CoreScreenControl"] as ScreenControlNDS;
if (fNDS != null)
if (filterProgram["CoreScreenControl"] is ScreenControlNDS fNDS)
{
fNDS.GuiRenderer = _renderer;
fNDS.GL = _gl;
@ -1108,4 +1086,4 @@ namespace BizHawk.Client.Common
public Rectangle ClipBounds { get; set; }
}
}
}
}

View File

@ -2287,7 +2287,7 @@ namespace BizHawk.Client.EmuHawk
public BitmapBuffer MakeScreenshotImage()
{
return DisplayManager.RenderVideoProvider(_currentVideoProvider);
return new BitmapBuffer(_currentVideoProvider.BufferWidth, _currentVideoProvider.BufferHeight, _currentVideoProvider.GetVideoBuffer().ToArray());
}
private void SaveSlotSelectedMessage()