mirror of
https://github.com/BluestormDNA/ProjectPSX.git
synced 2025-04-02 10:52:34 -04:00
* Push Interop * GDI Render: UI * Gdi: Add BltMode * Winform GDI: Handle y ranges This is badly handled and X still left
28 lines
593 B
C#
28 lines
593 B
C#
using System;
|
|
|
|
using User32 = ProjectPSX.Interop.User32.NativeMethods;
|
|
|
|
namespace ProjectPSX
|
|
{
|
|
internal readonly ref struct GdiDeviceContext
|
|
{
|
|
private readonly IntPtr _handle;
|
|
private readonly IntPtr _hdc;
|
|
|
|
public GdiDeviceContext(IntPtr handle)
|
|
{
|
|
_handle = handle;
|
|
_hdc = User32.GetDC(handle);
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
User32.ReleaseDC(_handle, _hdc);
|
|
}
|
|
|
|
public static implicit operator IntPtr(GdiDeviceContext dc)
|
|
{
|
|
return dc._hdc;
|
|
}
|
|
}
|
|
}
|