-- This file is generated by SWIG. Please do *not* modify by hand.
--
with Interfaces.C;
with Interfaces.C.Strings;
with osmesa_c.Pointers;
with Swig;
with Swig.Pointers;
with Interfaces.C;

package osmesa_c.Binding is

   function OSMesaCreateContext
     (format    : in osmesa_c.GLenum;
      sharelist : in osmesa_c.OSMesaContext) return osmesa_c.OSMesaContext;

   function OSMesaCreateContextExt
     (format      : in osmesa_c.GLenum;
      depthBits   : in osmesa_c.GLint;
      stencilBits : in osmesa_c.GLint;
      accumBits   : in osmesa_c.GLint;
      sharelist   : in osmesa_c.OSMesaContext) return osmesa_c.OSMesaContext;

   procedure OSMesaDestroyContext (ctx : in osmesa_c.OSMesaContext);

   function OSMesaMakeCurrent
     (ctx      : in osmesa_c.OSMesaContext;
      buffer   : in Swig.void_ptr;
      the_type : in osmesa_c.GLenum;
      width    : in osmesa_c.GLsizei;
      height   : in osmesa_c.GLsizei) return osmesa_c.GLboolean;

   function OSMesaGetCurrentContext return osmesa_c.OSMesaContext;

   procedure OSMesaPixelStore
     (pname : in osmesa_c.GLint;
      value : in osmesa_c.GLint);

   procedure OSMesaGetIntegerv
     (pname : in osmesa_c.GLint;
      value : in osmesa_c.Pointers.GLint_Pointer);

   function OSMesaGetDepthBuffer
     (c             : in osmesa_c.OSMesaContext;
      width         : in osmesa_c.Pointers.GLint_Pointer;
      height        : in osmesa_c.Pointers.GLint_Pointer;
      bytesPerValue : in osmesa_c.Pointers.GLint_Pointer;
      buffer : in Swig.Pointers.void_ptr_Pointer) return osmesa_c.GLboolean;

   function OSMesaGetColorBuffer
     (c      : in osmesa_c.OSMesaContext;
      width  : in osmesa_c.Pointers.GLint_Pointer;
      height : in osmesa_c.Pointers.GLint_Pointer;
      format : in osmesa_c.Pointers.GLint_Pointer;
      buffer : in Swig.Pointers.void_ptr_Pointer) return osmesa_c.GLboolean;

   function OSMesaGetProcAddress
     (funcName : in Interfaces.C.Strings.chars_ptr) return osmesa_c.OSMESAproc;

   procedure OSMesaColorClamp (enable : in osmesa_c.GLboolean);

   procedure OSMesaPostprocess
     (osmesa       : in osmesa_c.OSMesaContext;
      filter       : in Interfaces.C.Strings.chars_ptr;
      enable_value : in Interfaces.C.unsigned);

private

   pragma Import (C, OSMesaCreateContext, "Ada_OSMesaCreateContext");
   pragma Import (C, OSMesaCreateContextExt, "Ada_OSMesaCreateContextExt");
   pragma Import (C, OSMesaDestroyContext, "Ada_OSMesaDestroyContext");
   pragma Import (C, OSMesaMakeCurrent, "Ada_OSMesaMakeCurrent");
   pragma Import (C, OSMesaGetCurrentContext, "Ada_OSMesaGetCurrentContext");
   pragma Import (C, OSMesaPixelStore, "Ada_OSMesaPixelStore");
   pragma Import (C, OSMesaGetIntegerv, "Ada_OSMesaGetIntegerv");
   pragma Import (C, OSMesaGetDepthBuffer, "Ada_OSMesaGetDepthBuffer");
   pragma Import (C, OSMesaGetColorBuffer, "Ada_OSMesaGetColorBuffer");
   pragma Import (C, OSMesaGetProcAddress, "Ada_OSMesaGetProcAddress");
   pragma Import (C, OSMesaColorClamp, "Ada_OSMesaColorClamp");
   pragma Import (C, OSMesaPostprocess, "Ada_OSMesaPostprocess");

end osmesa_c.Binding;
