示例#1
0
 public Blob(IntPtr data, uint length, MemoryMode mode, object userData, BlobReleaseDelegate releaseDelegate)
     : this(data, (int)length, mode, userData, releaseDelegate)
 {
 }
示例#2
0
文件: Blob.cs 项目: zschong/SkiaSharp
 private static IntPtr Create(IntPtr data, int length, MemoryMode mode, object context, BlobReleaseDelegate releaseProc)
 {
     if (releaseProc == null)
     {
         return(HarfBuzzApi.hb_blob_create(data, length, mode, IntPtr.Zero, IntPtr.Zero));
     }
     else
     {
         var ctx = new NativeDelegateContext(context, releaseProc);
         return(HarfBuzzApi.hb_blob_create(data, length, mode, ctx.NativeContext, destroy_func));
     }
 }
示例#3
0
 public Blob(IntPtr data, int length, MemoryMode mode, object userData, BlobReleaseDelegate releaseDelegate)
     : this(Create(data, length, mode, userData, new ReleaseDelegate(releaseDelegate)))
 {
 }
示例#4
0
 public Blob(IntPtr data, uint length, MemoryMode mode, object userData, BlobReleaseDelegate releaseDelegate)
     : this(data, (int)length, mode, () => releaseDelegate?.Invoke(userData))
 {
 }