All pastes #36517 Raw Edit

Something

public text v1 · immutable
#36517 ·published 2006-01-11 20:43 UTC
rendered paste body
 using System;
using System.Runtime.InteropServices;

namespace Gimp
  {
  [StructLayout(LayoutKind.Explicit)]
    public struct ParamData
    {
      [FieldOffset(0)]
      public Int32	d_int32;
      [FieldOffset(0)]
      public Int16	d_int16;
      [FieldOffset(0)]
      public byte	d_int8;
      [FieldOffset(0)]
      public double 	d_float;
      [FieldOffset(0)]
      public IntPtr	d_string;
      [FieldOffset(0)]
      public GimpRGB  	d_color;
#if _FIXME_
      [FieldOffset(0)]
      public ParamRegion d_region;
#endif
      [FieldOffset(0)]
      public Int32    	d_image;
      [FieldOffset(0)]
      public Int32    	d_drawable;
#if _FIXME_
      [FieldOffset(0)]
      GimpParasite    	d_parasite;
#endif
      [FieldOffset(0)]
      public PDBStatusType	d_status;
    };

  [StructLayout(LayoutKind.Sequential)]
    public struct GimpParamDef
    {
      public PDBArgType type;
      public string name;
      public string description;
    };
  

  [StructLayout(LayoutKind.Sequential)]
    public struct GimpParam
    {
      public PDBArgType type;
      public ParamData  data;
    };
  
  [Serializable]
  [StructLayout(LayoutKind.Sequential)]
    public struct GimpRGB
    {
      public double r, g, b, a;
    }

  [StructLayout(LayoutKind.Sequential)]
    public struct ParamRegion
    {
      public Int32 x;
      public Int32 y;
      public Int32 width;
      public Int32 height;
    };

  [StructLayout(LayoutKind.Sequential)]
    public struct GimpParasite
    {
      string  name;  
      Int32   flags; 
      Int32   size;  
      IntPtr  data;  
    };
  }