public bool TryTranslateTime(CVTimeStamp inTime, ref CVTimeStamp outTime) { if (CVDisplayLinkTranslateTime(this.Handle, inTime, ref outTime) == 0) { return(true); } return(false); }
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)); }
static extern int CVDisplayLinkTranslateTime(IntPtr displayLink, CVTimeStamp inTime, ref CVTimeStamp outTime);
public CVReturn GetCurrentTime(out CVTimeStamp outTime) { CVReturn ret = CVDisplayLinkGetCurrentTime(this.Handle, out outTime); return(ret); }
extern static CVReturn CVDisplayLinkGetCurrentTime(IntPtr displayLink, out CVTimeStamp outTime);