Пример #1
0
            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);
            }
Пример #2
0
            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;
            }
Пример #3
0
 /// <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);
 }