예제 #1
0
        internal static int LoadNew(IntPtr proc, int parIndex, int err, out HDrawingObject[] obj)
        {
            HTuple tuple;

            err = HTuple.LoadNew(proc, parIndex, err, out tuple);
            obj = new HDrawingObject[tuple.Length];
            for (int index = 0; index < tuple.Length; ++index)
            {
                obj[index] = new HDrawingObject(tuple[index].IP);
            }
            return(err);
        }
예제 #2
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));
        }
예제 #3
0
 internal static int LoadNew(IntPtr proc, int parIndex, int err, out HDrawingObject obj)
 {
     obj = new HDrawingObject(HTool.UNDEF);
     return(obj.Load(proc, parIndex, err));
 }