/// <summary>Registers your implementation of visualization operators</summary> /// <param name="implementation"> /// An object implementing the IHDevOperators interface /// </param> public void SetHDevOperators(IHDevOperators implementation) { if (implementation == null) { HDevEngine.HCkE(EngineAPI.SetHDevOperatorImpl(this.engine, IntPtr.Zero)); GC.KeepAlive((object)this); this.operatorWrapper = (HDevOperatorWrapper)null; } else { this.operatorWrapper = new HDevOperatorWrapper(this, implementation); HDevEngine.HCkE(EngineAPI.SetHDevOperatorImpl(this.engine, this.operatorWrapper.ImplementationHandle)); GC.KeepAlive((object)this); } }
public HDevOperatorWrapper(HDevEngine engine, IHDevOperators implementation) { this.implementation = implementation; this.delegateDevOpenWindow = new DevOpenWindowDelegate(this.DevOpenWindow); this.delegateDevCloseWindow = new DevCloseWindowDelegate(this.DevCloseWindow); this.delegateDevSetWindow = new DevSetWindowDelegate(this.DevSetWindow); this.delegateDevGetWindow = new DevGetWindowDelegate(this.DevGetWindow); this.delegateDevSetWindowExtents = new DevSetWindowExtentsDelegate(this.DevSetWindowExtents); this.delegateDevSetPart = new DevSetPartDelegate(this.DevSetPart); this.delegateDevClearWindow = new DevClearWindowDelegate(this.DevClearWindow); this.delegateDevDisplay = new DevDisplayDelegate(this.DevDisplay); this.delegateDevDispText = new DevDispTextDelegate(this.DevDispText); this.delegateDevSetDraw = new DevSetDrawDelegate(this.DevSetDraw); this.delegateDevSetShape = new DevSetShapeDelegate(this.DevSetShape); this.delegateDevSetColored = new DevSetColoredDelegate(this.DevSetColored); this.delegateDevSetColor = new DevSetColorDelegate(this.DevSetColor); this.delegateDevSetLut = new DevSetLutDelegate(this.DevSetLut); this.delegateDevSetPaint = new DevSetPaintDelegate(this.DevSetPaint); this.delegateDevSetLineWidth = new DevSetLineWidthDelegate(this.DevSetLineWidth); EngineAPI.HCkE(EngineAPI.CreateImplementation(out this.implHandle, this.delegateDevOpenWindow, this.delegateDevCloseWindow, this.delegateDevSetWindow, this.delegateDevGetWindow, this.delegateDevSetWindowExtents, this.delegateDevSetPart, this.delegateDevClearWindow, this.delegateDevDisplay, this.delegateDevDispText, this.delegateDevSetDraw, this.delegateDevSetShape, this.delegateDevSetColored, this.delegateDevSetColor, this.delegateDevSetLut, this.delegateDevSetPaint, this.delegateDevSetLineWidth)); GC.KeepAlive((object)this); }