private unsafe static int DrawGlyphRunImpl(IntPtr thisPtr, RawVector2 baselineOrigin, IntPtr glyphRunNative, IntPtr glyphRunDescriptionPtr, IntPtr foregroundBrush, SharpDX.Direct2D1.MeasuringMode measuringMode) { var glyphRun = new DirectWrite.GlyphRun(); try { var glyphRunDescription = new SharpDX.DirectWrite.GlyphRunDescription(); glyphRunDescription.__MarshalFrom(ref *(SharpDX.DirectWrite.GlyphRunDescription.__Native *)glyphRunDescriptionPtr); glyphRun.__MarshalFrom(ref *(DirectWrite.GlyphRun.__Native *)glyphRunNative); var shadow = ToShadow <CommandSinkShadow>(thisPtr); var callback = (CommandSink)shadow.Callback; callback.DrawGlyphRun(baselineOrigin, glyphRun, glyphRunDescription, new Brush(foregroundBrush), measuringMode); } catch (Exception exception) { return((int)SharpDX.Result.GetResultFromException(exception)); } finally { glyphRun.__MarshalFree(ref *(DirectWrite.GlyphRun.__Native *)glyphRunNative); } return(Result.Ok.Code); }
private unsafe static int DrawGlyphRunImpl(IntPtr thisPtr, SharpDX.Vector2 baselineOrigin, IntPtr glyphRunNative, IntPtr glyphRunDescriptionPtr, IntPtr foregroundBrush, SharpDX.Direct2D1.MeasuringMode measuringMode) { var glyphRun = new DirectWrite.GlyphRun(); try { var glyphRunDescription = new SharpDX.DirectWrite.GlyphRunDescription(); glyphRunDescription.__MarshalFrom(ref *(SharpDX.DirectWrite.GlyphRunDescription.__Native*)glyphRunDescriptionPtr); glyphRun.__MarshalFrom(ref *(DirectWrite.GlyphRun.__Native*)glyphRunNative); var shadow = ToShadow<CommandSinkShadow>(thisPtr); var callback = (CommandSink)shadow.Callback; callback.DrawGlyphRun(baselineOrigin, glyphRun, glyphRunDescription, new Brush(foregroundBrush), measuringMode); } catch (Exception exception) { return (int)SharpDX.Result.GetResultFromException(exception); } finally { glyphRun.__MarshalFree(ref *(DirectWrite.GlyphRun.__Native*)glyphRunNative); } return Result.Ok.Code; }
/// <unmanaged>HRESULT ID2D1CommandSink::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode)</unmanaged> public void DrawGlyphRun(RawVector2 baselineOrigin, DirectWrite.GlyphRun glyphRun, DirectWrite.GlyphRunDescription glyphRunDescription, Brush foregroundBrush, MeasuringMode measuringMode) { DrawGlyphRun_(baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); }