Example #1
0
        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);
        }
Example #2
0
 public DrawBase()
 {
     OnDrawCallBack   = new HDrawingObject.HDrawingObjectCallback(DrawingItemActioning);
     OnResizeCallBack = new HDrawingObject.HDrawingObjectCallback(DrawingItemActioning);
     OnSelectCallBack = new HDrawingObject.HDrawingObjectCallback(DrawingItemActioning);
     lockObj          = new object();
     drawingObj       = new HDrawingObject();
 }
Example #3
0
 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();
 }
Example #4
0
        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));
        }
Example #5
0
 /// <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));
 }
Example #6
0
 /// <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));
 }
Example #7
0
 /// <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));
 }
Example #8
0
 protected IntPtr DelegateToCallbackPointer(HDrawingObject.HDrawingObjectCallback c)
 {
     return(Marshal.GetFunctionPointerForDelegate(c));
 }