private static unsafe int MapOutputRectToInputRects(IntPtr thisObject, RawRect *outputRect, RawRect *pInputRects, int inputRectsCount)
            {
                try
                {
                    var inputRects = new RawRect[inputRectsCount];
                    fixed(void *rectsPtr = &inputRects[0])
                    {
                        Unsafe.CopyBlock(
                            rectsPtr,
                            pInputRects,
                            (uint)(sizeof(RawRect) * inputRectsCount));


                        ID2D1Transform @this = (ID2D1Transform)ToShadow <ID2D1TransformShadow>(thisObject).Callback;

                        @this.MapOutputRectToInputRects(*outputRect, inputRects);

                        Unsafe.CopyBlock(
                            pInputRects,
                            rectsPtr,
                            (uint)(sizeof(RawRect) * inputRectsCount));

                        return(Result.Ok.Code);
                    }
                }
                catch (Exception __exception__)
                {
                    return(Result.GetResultFromException(__exception__).Code);
                }
            }
 private static unsafe int MapInvalidRect(IntPtr thisObject, int inputIndex, RawRect *invalidInputRect, RawRect *invalidOutputRect)
 {
     try
     {
         ID2D1Transform @this = (ID2D1Transform)ToShadow <ID2D1TransformShadow>(thisObject).Callback;
         @this.MapInvalidRect(inputIndex, *invalidInputRect, out *invalidOutputRect);
         return(Result.Ok.Code);
     }
     catch (Exception __exception__)
     {
         return(Result.GetResultFromException(__exception__).Code);
     }
 }
示例#3
0
 public static extern int AdjustWindowRectEx(RawRect *lpRect, uint dwStyle, int bMenu, uint dwExStyle);
            private static unsafe int MapInputRectsToOutputRect(IntPtr thisObject, void *pInputRects, void *pInputOpaqueSubRects, int inputRectCount, RawRect *outputRect, RawRect *outputOpaqueSubRect)
            {
                try
                {
                    var inputRects = new RawRect[inputRectCount];
                    Unsafe.CopyBlock(
                        Unsafe.AsPointer(ref inputRects[0]),
                        pInputRects,
                        (uint)(sizeof(RawRect) * inputRectCount));

                    var inputOpaqueSubRects = new RawRect[inputRectCount];
                    Unsafe.CopyBlock(
                        Unsafe.AsPointer(ref inputOpaqueSubRects[0]),
                        pInputOpaqueSubRects,
                        (uint)(sizeof(RawRect) * inputRectCount));

                    ID2D1Transform @this = (ID2D1Transform)ToShadow <ID2D1TransformShadow>(thisObject).Callback;
                    @this.MapInputRectsToOutputRect(inputRects, inputOpaqueSubRects, out *outputRect, out *outputOpaqueSubRect);

                    return(Result.Ok.Code);
                }
                catch (Exception __exception__)
                {
                    return(Result.GetResultFromException(__exception__).Code);
                }
            }