<Type Name="PixBuf" FullName="Art.PixBuf">
  <TypeSignature Language="C#" Maintainer="auto" Value="public struct PixBuf" />
  <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit PixBuf extends System.ValueType" />
  <AssemblyInfo>
    <AssemblyName>art-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>2.20.0.0</AssemblyVersion>
    <AssemblyVersion>2.24.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.ValueType</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>This structure encapsulates a buffer of pixels, that can be in several specific pixel buffer formats.</summary>
    <remarks>To be added</remarks>
  </Docs>
  <Members>
    <Member MemberName="BitsPerSample">
      <MemberSignature Language="C#" Value="public int BitsPerSample;" />
      <MemberSignature Language="ILAsm" Value=".field public int32 BitsPerSample" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Destroy">
      <MemberSignature Language="C#" Value="public Art.DestroyNotify Destroy { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Art.DestroyNotify Destroy" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.DestroyNotify</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Duplicate">
      <MemberSignature Language="C#" Value="public Art.PixBuf Duplicate ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Art.PixBuf Duplicate() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixBuf</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Creates a deep clone of the current instance.</summary>
        <returns>A fresh deep copy of the current instance.</returns>
        <remarks>Event the buffer that was given to create this buffer is copied, and its dealocation is then done by the new instance on its destruction, independently of who is responsible to free the curren buffer.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Format">
      <MemberSignature Language="C#" Value="public Art.PixFormat Format;" />
      <MemberSignature Language="ILAsm" Value=".field public valuetype Art.PixFormat Format" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixFormat</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Free">
      <MemberSignature Language="C#" Value="public void Free ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Free() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Frees any used resources.</summary>
        <remarks>If the destroy delegate was given its invoked, otherwise if it wasn't created with NewConstRGBx it will free the memory held by the buffer.</remarks>
      </Docs>
    </Member>
    <Member MemberName="FreeShallow">
      <MemberSignature Language="C#" Value="public void FreeShallow ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void FreeShallow() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Frees just the resources held by the PixBuf ignoring the given buffer.</summary>
        <remarks>Its deprecated.</remarks>
      </Docs>
    </Member>
    <Member MemberName="HasAlpha">
      <MemberSignature Language="C#" Value="public int HasAlpha;" />
      <MemberSignature Language="ILAsm" Value=".field public int32 HasAlpha" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Height">
      <MemberSignature Language="C#" Value="public int Height;" />
      <MemberSignature Language="ILAsm" Value=".field public int32 Height" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NChannels">
      <MemberSignature Language="C#" Value="public int NChannels;" />
      <MemberSignature Language="ILAsm" Value=".field public int32 NChannels" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="New">
      <MemberSignature Language="C#" Value="public static Art.PixBuf New (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Art.PixBuf New(native int raw) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixBuf</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">a <see cref="T:System.IntPtr" /></param>
        <summary>To be added</summary>
        <returns>a <see cref="T:Art.PixBuf" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NewConstRgb">
      <MemberSignature Language="C#" Value="public static Art.PixBuf NewConstRgb (out byte pixels, int width, int height, int rowstride);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Art.PixBuf NewConstRgb(unsigned int8 pixels, int32 width, int32 height, int32 rowstride) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixBuf</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pixels" Type="System.Byte&amp;" RefType="out" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="rowstride" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="pixels">The buffer containing the actual pixel data.</param>
        <param name="width">The width of the pixbuf.</param>
        <param name="height">The height of the pixbuf.</param>
        <param name="rowstride">The row stride of the pixbuf.</param>
        <summary>Creates a new RGB PixBuf.</summary>
        <returns>A newly created <see cref="T:Art.PixBuf" /> RGB.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="NewConstRgba">
      <MemberSignature Language="C#" Value="public static Art.PixBuf NewConstRgba (out byte pixels, int width, int height, int rowstride);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Art.PixBuf NewConstRgba(unsigned int8 pixels, int32 width, int32 height, int32 rowstride) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixBuf</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pixels" Type="System.Byte&amp;" RefType="out" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="rowstride" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="pixels">The buffer containing the actual pixel data.</param>
        <param name="width">The width of the pixbuf.</param>
        <param name="height">The height of the pixbuf.</param>
        <param name="rowstride">The row stride of the pixbuf.</param>
        <summary>Creates a new RGBA PixBuf.</summary>
        <returns>A newly created <see cref="T:Art.PixBuf" /> RGBA.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="NewRgb">
      <MemberSignature Language="C#" Value="public static Art.PixBuf NewRgb (out byte pixels, int width, int height, int rowstride);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Art.PixBuf NewRgb(unsigned int8 pixels, int32 width, int32 height, int32 rowstride) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixBuf</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pixels" Type="System.Byte&amp;" RefType="out" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="rowstride" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="pixels">The buffer containing the actual pixel data.</param>
        <param name="width">The width of the pixbuf.</param>
        <param name="height">The height of the pixbuf.</param>
        <param name="rowstride">The row stride of the pixbuf.</param>
        <summary>Creates a new RGB PixBuf.</summary>
        <returns>A newly created <see cref="T:Art.PixBuf" /> RGB.</returns>
        <remarks>On destruction, the created instance will free the memory used by given buffer in pixels.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NewRgba">
      <MemberSignature Language="C#" Value="public static Art.PixBuf NewRgba (out byte pixels, int width, int height, int rowstride);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Art.PixBuf NewRgba(unsigned int8 pixels, int32 width, int32 height, int32 rowstride) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixBuf</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pixels" Type="System.Byte&amp;" RefType="out" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="rowstride" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="pixels">The buffer containing the actual pixel data.</param>
        <param name="width">The width of the pixbuf.</param>
        <param name="height">The height of the pixbuf.</param>
        <param name="rowstride">The row stride of the pixbuf.</param>
        <summary>Creates a new RGBA PixBuf.</summary>
        <returns>A newly created <see cref="T:Art.PixBuf" /> RGB.</returns>
        <remarks>On destruction, the created instance will free the memory used by given buffer in pixels.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NewRgbaDnotify">
      <MemberSignature Language="C#" Value="public static Art.PixBuf NewRgbaDnotify (out byte pixels, int width, int height, int rowstride, IntPtr dfunc_data, Art.DestroyNotify dfunc);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Art.PixBuf NewRgbaDnotify(unsigned int8 pixels, int32 width, int32 height, int32 rowstride, native int dfunc_data, class Art.DestroyNotify dfunc) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixBuf</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pixels" Type="System.Byte&amp;" RefType="out" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="rowstride" Type="System.Int32" />
        <Parameter Name="dfunc_data" Type="System.IntPtr" />
        <Parameter Name="dfunc" Type="Art.DestroyNotify" />
      </Parameters>
      <Docs>
        <param name="pixels">The buffer containing the actual pixel data.</param>
        <param name="width">The width of the pixbuf.</param>
        <param name="height">The height of the pixbuf.</param>
        <param name="rowstride">The row stride of the pixbuf.</param>
        <param name="dfunc_data">The data that will be given to dfunc on its invocation.</param>
        <param name="dfunc">The delegate that is going to be invoked when the PixBuf gets destroyed.</param>
        <summary>Creates a new RGBA PixBuf that invokes the given delegate on destruction.</summary>
        <returns>A newly created <see cref="T:Art.PixBuf" /> RGBA that invokes a delegate on its destruction.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="NewRgbDnotify">
      <MemberSignature Language="C#" Value="public static Art.PixBuf NewRgbDnotify (out byte pixels, int width, int height, int rowstride, IntPtr dfunc_data, Art.DestroyNotify dfunc);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Art.PixBuf NewRgbDnotify(unsigned int8 pixels, int32 width, int32 height, int32 rowstride, native int dfunc_data, class Art.DestroyNotify dfunc) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixBuf</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pixels" Type="System.Byte&amp;" RefType="out" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="rowstride" Type="System.Int32" />
        <Parameter Name="dfunc_data" Type="System.IntPtr" />
        <Parameter Name="dfunc" Type="Art.DestroyNotify" />
      </Parameters>
      <Docs>
        <param name="pixels">The buffer containing the actual pixel data.</param>
        <param name="width">The width of the pixbuf.</param>
        <param name="height">The height of the pixbuf.</param>
        <param name="rowstride">The row stride of the pixbuf.</param>
        <param name="dfunc_data">The data that will be given to dfunc on its invocation.</param>
        <param name="dfunc">The delegate that is going to be invoked when the PixBuf gets destroyed.</param>
        <summary>Creates a new RGB PixBuf that invokes the given delegate on destruction.</summary>
        <returns>A newly created <see cref="T:Art.PixBuf" /> RGB that invokes a delegate on its destruction.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Rowstride">
      <MemberSignature Language="C#" Value="public int Rowstride;" />
      <MemberSignature Language="ILAsm" Value=".field public int32 Rowstride" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Width">
      <MemberSignature Language="C#" Value="public int Width;" />
      <MemberSignature Language="ILAsm" Value=".field public int32 Width" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Zero">
      <MemberSignature Language="C#" Value="public static Art.PixBuf Zero;" />
      <MemberSignature Language="ILAsm" Value=".field public static valuetype Art.PixBuf Zero" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.24.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Art.PixBuf</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
