Browse Source

Naming

pull/9639/head
Nikita Tsukanov 4 years ago
parent
commit
124e055ffc
  1. 6
      src/Windows/Avalonia.Win32/OpenGl/WglContext.cs
  2. 12
      src/Windows/Avalonia.Win32/OpenGl/WglDisplay.cs
  3. 12
      src/Windows/Avalonia.Win32/OpenGl/WglGdiResourceManager.cs
  4. 2
      src/Windows/Avalonia.Win32/OpenGl/WglGlPlatformSurface.cs

6
src/Windows/Avalonia.Win32/OpenGl/WglContext.cs

@ -47,8 +47,8 @@ namespace Avalonia.Win32.OpenGl
public void Dispose()
{
wglDeleteContext(_context);
WglDCManager.ReleaseDC(_hWnd, _dc);
WglDCManager.DestroyWindow(_hWnd);
WglGdiResourceManager.ReleaseDC(_hWnd, _dc);
WglGdiResourceManager.DestroyWindow(_hWnd);
IsLost = true;
}
@ -79,7 +79,7 @@ namespace Avalonia.Win32.OpenGl
public IntPtr CreateConfiguredDeviceContext(IntPtr hWnd)
{
var dc = WglDCManager.GetDC(hWnd);
var dc = WglGdiResourceManager.GetDC(hWnd);
var fmt = _formatDescriptor;
SetPixelFormat(dc, _pixelFormat, ref fmt);
return dc;

12
src/Windows/Avalonia.Win32/OpenGl/WglDisplay.cs

@ -44,8 +44,8 @@ namespace Avalonia.Win32.OpenGl
static bool InitializeCore()
{
Dispatcher.UIThread.VerifyAccess();
_bootstrapWindow = WglDCManager.CreateOffscreenWindow();
_bootstrapDc = WglDCManager.GetDC(_bootstrapWindow);
_bootstrapWindow = WglGdiResourceManager.CreateOffscreenWindow();
_bootstrapDc = WglGdiResourceManager.GetDC(_bootstrapWindow);
_defaultPfd = new PixelFormatDescriptor
{
Size = (ushort)Marshal.SizeOf<PixelFormatDescriptor>(),
@ -115,8 +115,8 @@ namespace Avalonia.Win32.OpenGl
using (new WglRestoreContext(_bootstrapDc, _bootstrapContext, null))
{
var window = WglDCManager.CreateOffscreenWindow();
var dc = WglDCManager.GetDC(window);
var window = WglGdiResourceManager.CreateOffscreenWindow();
var dc = WglGdiResourceManager.GetDC(window);
SetPixelFormat(dc, _defaultPixelFormat, ref _defaultPfd);
foreach (var version in versions)
{
@ -148,8 +148,8 @@ namespace Avalonia.Win32.OpenGl
_defaultPixelFormat, _defaultPfd);
}
WglDCManager.ReleaseDC(window, dc);
WglDCManager.DestroyWindow(window);
WglGdiResourceManager.ReleaseDC(window, dc);
WglGdiResourceManager.DestroyWindow(window);
return null;
}
}

12
src/Windows/Avalonia.Win32/OpenGl/WglDCManager.cs → src/Windows/Avalonia.Win32/OpenGl/WglGdiResourceManager.cs

@ -8,14 +8,14 @@ using Avalonia.Win32.Interop;
namespace Avalonia.Win32.OpenGl;
/// <summary>
/// 1) ReleaseDC can only happen from the same thread that has called GetDC
/// 2) When thread exits all of its HDCs are getting destroyed
/// 3) We need to create OpenGL render targets from thread pool threads
/// - ReleaseDC can only happen from the same thread that has called GetDC
/// - When thread exits all of its windows and HDCs are getting destroyed
/// - We need to create OpenGL context (require a window and an HDC) and render targets (require an HDC) from thread pool threads
///
/// So this class hosts a dedicated thread for managing HDCs for OpenGL
/// So this class hosts a dedicated thread for managing offscreen windows and HDCs for OpenGL
/// </summary>
internal class WglDCManager
internal class WglGdiResourceManager
{
class GetDCOp
{
@ -86,7 +86,7 @@ internal class WglDCManager
}
}
static WglDCManager()
static WglGdiResourceManager()
{
var wndClassEx = new UnmanagedMethods.WNDCLASSEX
{

2
src/Windows/Avalonia.Win32/OpenGl/WglGlPlatformSurface.cs

@ -37,7 +37,7 @@ namespace Avalonia.Win32.OpenGl
public void Dispose()
{
WglDCManager.ReleaseDC(_info.Handle, _hdc);
WglGdiResourceManager.ReleaseDC(_info.Handle, _hdc);
}
public IGlPlatformSurfaceRenderingSession BeginDraw()

Loading…
Cancel
Save