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; 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> /// <summary>
/// Does the entire display process to an offscreen buffer, suitable for a 'client' screenshot. /// Does the entire display process to an offscreen buffer, suitable for a 'client' screenshot.
/// </summary> /// </summary>
@ -910,8 +889,7 @@ namespace BizHawk.Client.Common
} }
//POOPY. why are we delivering the GL context this way? such bad //POOPY. why are we delivering the GL context this way? such bad
ScreenControlNDS fNDS = filterProgram["CoreScreenControl"] as ScreenControlNDS; if (filterProgram["CoreScreenControl"] is ScreenControlNDS fNDS)
if (fNDS != null)
{ {
fNDS.GuiRenderer = _renderer; fNDS.GuiRenderer = _renderer;
fNDS.GL = _gl; fNDS.GL = _gl;
@ -1108,4 +1086,4 @@ namespace BizHawk.Client.Common
public Rectangle ClipBounds { get; set; } public Rectangle ClipBounds { get; set; }
} }
} }
} }

View File

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