private void hSmartWindowControlWPF1_HInitWindow(object sender, EventArgs e) { // Initialize window // - Read and attach background image // - Initialize display results delegate function // - Initialize callbacks HTuple width, height; hdev_export.hv_ExpDefaultWinHandle = hSmartWindowControlWPF1.HalconID; HOperatorSet.ReadImage(out background_image, "fabrik"); HOperatorSet.GetImageSize(background_image, out width, out height); hSmartWindowControlWPF1.HalconWindow.SetPart(0.0, 0.0, height - 1, width - 1); hSmartWindowControlWPF1.HalconWindow.AttachBackgroundToWindow(new HImage(background_image)); display_results_delegate = new DisplayResultsDelegate(() => { lock (image_lock) { if (ho_EdgeAmplitude != null) { hdev_export.display_results(ho_EdgeAmplitude); } } }); cb = new HDrawingObject.HDrawingObjectCallback(DisplayCallback); }
public DrawBase() { OnDrawCallBack = new HDrawingObject.HDrawingObjectCallback(DrawingItemActioning); OnResizeCallBack = new HDrawingObject.HDrawingObjectCallback(DrawingItemActioning); OnSelectCallBack = new HDrawingObject.HDrawingObjectCallback(DrawingItemActioning); lockObj = new object(); drawingObj = new HDrawingObject(); }
public DrawBase(HWindow window, HImage image) { OnDrawCallBack = new HDrawingObject.HDrawingObjectCallback(DrawingItemActioning); OnResizeCallBack = new HDrawingObject.HDrawingObjectCallback(DrawingItemActioning); OnSelectCallBack = new HDrawingObject.HDrawingObjectCallback(DrawingItemActioning); this.Window = window; this.Image = image; lockObj = new object(); drawingObj = new HDrawingObject(); }
protected IntPtr DelegateToCallbackPointer( HDrawingObject.HDrawingObjectCallbackClass c, string evt) { HDrawingObject.HDrawingObjectCallback hdrawingObjectCallback = (HDrawingObject.HDrawingObjectCallback)((drawid, window, type) => { HDrawingObject drawid1 = new HDrawingObject(drawid); HWindow window1 = new HWindow(window); drawid1.Detach(); window1.Detach(); c(drawid1, window1, type); }); GC.KeepAlive((object)hdrawingObjectCallback); GC.SuppressFinalize((object)hdrawingObjectCallback); switch (evt) { case "on_resize": this.onresize = hdrawingObjectCallback; break; case "on_attach": this.onattach = hdrawingObjectCallback; break; case "on_detach": this.ondetach = hdrawingObjectCallback; break; case "on_drag": this.ondrag = hdrawingObjectCallback; break; case "on_select": this.onselect = hdrawingObjectCallback; break; } return(Marshal.GetFunctionPointerForDelegate(hdrawingObjectCallback)); }
/// <summary>Adds a callback for the resize event, that is, this callback is /// executed whenever the drawing object is selected.</summary> /// <param name="f">Callback function with the signature defined by /// HDrawingObjectCallback</param> public void OnSelect(HDrawingObject.HDrawingObjectCallback f) { this.SetDrawingObjectCallback("on_select", Marshal.GetFunctionPointerForDelegate(f)); }
/// <summary>Adds a callback for the detach event, that is, this callback is /// executed when a drawing object is detached from the window.</summary> /// <param name="f">Callback function with the signature defined by /// HDrawingObjectCallback</param> public void OnDetach(HDrawingObject.HDrawingObjectCallback f) { this.SetDrawingObjectCallback("on_detach", Marshal.GetFunctionPointerForDelegate(f)); }
/// <summary>Adds a callback for the resize event, that is, this callback is /// executed whenever the user changes any of the dimensions of the draw /// object.</summary> /// <param name="f">Callback function with the signature defined by /// HDrawingObjectCallback</param> public void OnResize(HDrawingObject.HDrawingObjectCallback f) { this.SetDrawingObjectCallback("on_resize", Marshal.GetFunctionPointerForDelegate(f)); }
protected IntPtr DelegateToCallbackPointer(HDrawingObject.HDrawingObjectCallback c) { return(Marshal.GetFunctionPointerForDelegate(c)); }