コード例 #1
0
        public void Marshall(out IntPtr return_vals, out int n_return_vals)
        {
            n_return_vals = _set.Count;
            int size = GimpParam.Size;

            return_vals = Marshal.AllocCoTaskMem(n_return_vals * size);

            var seq = new IntPtrSeq(return_vals, n_return_vals, size);

            seq.ForEach((i, ptr) => this[i].GetGimpParam().Fill(ptr));
        }
コード例 #2
0
        GimpParamDef[] GetParamDef(int num_args, IntPtr argsPtr)
        {
            var paramDef = new GimpParamDef[num_args];
            var type     = typeof(GimpParamDef);
            var seq      = new IntPtrSeq(argsPtr, num_args, Marshal.SizeOf(type));

            seq.ForEach((i, ptr) =>
            {
                paramDef[i] = (GimpParamDef)Marshal.PtrToStructure(ptr, type);
            });

            return(paramDef);
        }
コード例 #3
0
        public GimpParamSet(IntPtr ptr, int n)
        {
            var seq = new IntPtrSeq(ptr, n, GimpParam.Size);

            seq.ForEach(x => Add(new GimpParam(x)));
        }
コード例 #4
0
ファイル: Procedure.cs プロジェクト: unhammer/gimp-sharp
        GimpParamDef[] GetParamDef(int num_args, IntPtr argsPtr)
        {
            var paramDef = new GimpParamDef[num_args];
              var type = typeof(GimpParamDef);
              var seq = new IntPtrSeq(argsPtr, num_args, Marshal.SizeOf(type));

              seq.ForEach((i, ptr) =>
              {
            paramDef[i] = (GimpParamDef) Marshal.PtrToStructure(ptr, type);
              });

              return paramDef;
        }