#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
}
}