Exemple #1
0
        private static SKImage FromPicture(SKPicture picture, SKSizeI dimensions, SKMatrix *matrix, SKPaint paint)
        {
            if (picture == null)
            {
                throw new ArgumentNullException(nameof(picture));
            }

            var p = paint?.Handle ?? IntPtr.Zero;

            return(GetObject(SkiaApi.sk_image_new_from_picture(picture.Handle, &dimensions, matrix, p)));
        }
        private SKShader ToShader(bool isOpaque, SKData uniforms, SKShader[] children, SKMatrix *localMatrix)
        {
            var uniformsHandle = uniforms?.Handle ?? IntPtr.Zero;

            using var childrenHandles = Utils.RentHandlesArray(children, true);

            fixed(IntPtr *ch = childrenHandles)
            {
                return(SKShader.GetObject(SkiaApi.sk_runtimeeffect_make_shader(Handle, uniformsHandle, ch, (IntPtr)childrenHandles.Length, localMatrix, isOpaque)));
            }
        }
Exemple #3
0
        private static void SKGlyphPathDelegateProxyImplementation(IntPtr pathOrNull, SKMatrix *matrix, void *context)
        {
            var del  = Get <SKGlyphPathDelegate> ((IntPtr)context, out _);
            var path = SKPath.GetObject(pathOrNull, false);

            del.Invoke(path, *matrix);
        }