Esempio n. 1
0
        /// <summary>
        /// XmCreateXXの呼び出し
        /// </summary>
        public static IntPtr CallCreate2P(Native.Motif.CreateSymbol sym, Widgets.IWidget parent,string name, Native.Xt.XtArg[] args)
        {
            if (null ==args || 0 == args.Length) {
                return Instance.xmCreateFuncs[(int)sym](parent.NativeHandle.Widget, name, null, 0);
            }

            Native.Xt.NativeXtArg[] au = new Native.Xt.NativeXtArg[args.Length];
            int argc = ExtremeSports.TnkConvertResourceEx(args, au, true);
            foreach(Native.Xt.NativeXtArg k in au) {
                System.Diagnostics.Debug.WriteLine($"NA<A>: {k.Name} : {k.Value}");
            }
            System.Diagnostics.Debug.WriteLine($"XM_CVT {au.Length} -> {argc}");
            IntPtr wgt = Instance.xmCreateFuncs[(int)sym](parent.NativeHandle.Widget, name, au, argc);
            ExtremeSports.TnkFreeDeepCopyArg(au);

            return wgt;
        }
Esempio n. 2
0
        public static IntPtr XtAppCreateShell(ref TnkAppContext context,string title, ref string[] argv, Native.Xt.XtArg[] res)
        {
            if (null == res || 0 == res.Length) {
                return NativeMethods.TNK_XtAppCreateShell(ref context, title, ref argv, argv.Length, null, 0);
            }

            Native.Xt.NativeXtArg[] au = new Native.Xt.NativeXtArg[res.Length];
            int argc = ExtremeSports.TnkConvertResourceEx(res, au, true);
            System.Diagnostics.Debug.WriteLine($"XM_CVT {au.Length} -> {argc}");

            var result = NativeMethods.TNK_XtAppCreateShell(ref context, title, ref argv, argv.Length, au, argc);

            ExtremeSports.TnkFreeDeepCopyArg(au);

            return result;
        }
Esempio n. 3
0
        internal void ApplyResource()
        {
            if (IntPtr.Zero == handle || (0 != Resource.Count)) {
                return;
            }
            var args =  Resource.ToXtArg();
            Native.Xt.NativeXtArg[] au = new Native.Xt.NativeXtArg[args.Length];
            int argc = Native.ExtremeSports.TnkConvertResourceEx(args, au, true);

            NativeMethods.XmRenditionUpdate(handle, au, argc);

            Native.ExtremeSports.TnkFreeDeepCopyArg(au);

            Resource.Clear();
        }
Esempio n. 4
0
        public bool Create(Widgets.IWidget widget, string tag = Native.Motif.StringConstant.XmFONTLIST_DEFAULT_TAG)
        {
            var args =  Resource.ToXtArg();
            Native.Xt.NativeXtArg[] au = new Native.Xt.NativeXtArg[args.Length];
            int argc = args.Length;
            if (argc != 0) {
                argc = Native.ExtremeSports.TnkConvertResourceEx(args, au, true);
            }
            handle = NativeMethods.XmRenditionCreate(widget.NativeHandle.Widget, tag, au, argc);
            Native.ExtremeSports.TnkFreeDeepCopyArg(au);

            Resource.Clear();
            return true;
        }