mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-27 21:15:36 +00:00
54 lines
1.7 KiB
C#
54 lines
1.7 KiB
C#
#region --- License ---
|
|
/* Licensed under the MIT/X11 license.
|
|
* Copyright (c) 2006-2008 the OpenTK Team.
|
|
* This notice may not be removed from any source distribution.
|
|
* See license.txt for licensing detailed licensing details.
|
|
*/
|
|
#endregion
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Drawing;
|
|
using System.Reflection;
|
|
|
|
namespace OpenTK.Platform.Windows
|
|
{
|
|
class WinGdiPlusInternals : IGdiPlusInternals
|
|
{
|
|
static readonly PropertyInfo native_graphics_property, native_font_property;
|
|
static readonly FieldInfo native_string_format_field;
|
|
|
|
static WinGdiPlusInternals()
|
|
{
|
|
native_graphics_property =
|
|
typeof(System.Drawing.Graphics).GetProperty("NativeGraphics", BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
native_font_property =
|
|
typeof(System.Drawing.Font).GetProperty("NativeFont", BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
native_string_format_field =
|
|
typeof(System.Drawing.StringFormat).GetField("nativeFormat", BindingFlags.Instance | BindingFlags.NonPublic);
|
|
}
|
|
|
|
#region --- IGdiPlusInternals Members ---
|
|
|
|
public IntPtr GetNativeGraphics(System.Drawing.Graphics graphics)
|
|
{
|
|
return (IntPtr)native_graphics_property.GetValue(graphics, null);
|
|
}
|
|
|
|
public IntPtr GetNativeFont(Font font)
|
|
{
|
|
return (IntPtr)native_font_property.GetValue(font, null);
|
|
}
|
|
|
|
public IntPtr GetNativeStringFormat(StringFormat format)
|
|
{
|
|
return (IntPtr)native_string_format_field.GetValue(format);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|