public CVReturn SetOutputCallback(DisplayLinkOutputCallback callback) { callbackHandle = GCHandle.Alloc(callback); CVReturn ret = CVDisplayLinkSetOutputCallback(this.Handle, static_OutputCallback, GCHandle.ToIntPtr(callbackHandle)); return(ret); }
static CVReturn OutputCallback(IntPtr displayLink, ref CVTimeStamp inNow, ref CVTimeStamp inOutputTime, CVOptionFlags flagsIn, ref CVOptionFlags flagsOut, IntPtr displayLinkContext) { GCHandle callbackHandle = GCHandle.FromIntPtr(displayLinkContext); DisplayLinkOutputCallback func = (DisplayLinkOutputCallback)callbackHandle.Target !; CVDisplayLink delegateDisplayLink = new CVDisplayLink(displayLink, false); return(func(delegateDisplayLink, ref inNow, ref inOutputTime, flagsIn, ref flagsOut)); }
public CVReturn SetOutputCallback (DisplayLinkOutputCallback callback) { callbackHandle = GCHandle.Alloc (callback); CVReturn ret = CVDisplayLinkSetOutputCallback (this.Handle, static_OutputCallback, GCHandle.ToIntPtr (callbackHandle)); return ret; }