/// <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; }
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; }
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(); }
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; }