static SKManagedWStream()
        {
            fWrite        = new write_delegate(WriteInternal);
            fFlush        = new flush_delegate(FlushInternal);
            fBytesWritten = new bytesWritten_delegate(BytesWrittenInternal);
            fDestroy      = new destroy_delegate(DestroyInternal);

            SkiaApi.sk_managedwstream_set_delegates(
                Marshal.GetFunctionPointerForDelegate(fWrite),
                Marshal.GetFunctionPointerForDelegate(fFlush),
                Marshal.GetFunctionPointerForDelegate(fBytesWritten),
                Marshal.GetFunctionPointerForDelegate(fDestroy));
        }
Exemplo n.º 2
0
        public static UIntPtr write(cef_stream_writer_t *self, void *ptr, UIntPtr size, UIntPtr n)
        {
            write_delegate d;
            var            p = self->_write;

            if (p == _p3)
            {
                d = _d3;
            }
            else
            {
                d = (write_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(write_delegate));
                if (_p3 == IntPtr.Zero)
                {
                    _d3 = d; _p3 = p;
                }
            }
            return(d(self, ptr, size, n));
        }
 public static UIntPtr write(cef_stream_writer_t* self, void* ptr, UIntPtr size, UIntPtr n)
 {
     write_delegate d;
     var p = self->_write;
     if (p == _p3) { d = _d3; }
     else
     {
         d = (write_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(write_delegate));
         if (_p3 == IntPtr.Zero) { _d3 = d; _p3 = p; }
     }
     return d(self, ptr, size, n);
 }