ErrorString() static private method

static private ErrorString ( AglError code ) : string
code AglError
return string
Exemplo n.º 1
0
        void Dispose(bool disposing)
        {
            if (IsDisposed || Handle.Handle == IntPtr.Zero)
            {
                return;
            }
            Debug.Print("Disposing of AGL context.");
            Agl.aglSetCurrentContext(IntPtr.Zero);
            //Debug.Print("Setting drawable to null for context {0}.", Handle.Handle);
            //Agl.aglSetDrawable(Handle.Handle, IntPtr.Zero);

            // I do not know MacOS allows us to destroy a context from a separate thread,
            // like the finalizer thread.  It's untested, but worst case is probably
            // an exception on application exit, which would be logged to the console.
            Debug.Print("Destroying context");
            if (Agl.aglDestroyContext(Handle.Handle) == true)
            {
                Debug.Print("Context destruction completed successfully.");
                Handle = ContextHandle.Zero;
                return;
            }

            // failed to destroy context.
            Debug.WriteLine("Failed to destroy context.");
            Debug.WriteLine(Agl.ErrorString(Agl.GetError()));
            // don't throw an exception from the finalizer thread.
            if (disposing)
            {
                throw new MacOSException((OSStatus)Agl.GetError(), Agl.ErrorString(Agl.GetError()));
            }

            IsDisposed = true;
        }
Exemplo n.º 2
0
 internal static void aglSetFullScreen(IntPtr ctx, int width, int height, int freq, int device)
 {
     if ((int)Agl._aglSetFullScreen(ctx, width, height, freq, device) != 0)
     {
         return;
     }
     Agl.AglError error = Agl.GetError();
     throw new MacOSException(error, Agl.ErrorString(error));
 }
Exemplo n.º 3
0
 internal static void aglSetDrawable(IntPtr ctx, IntPtr draw)
 {
     if ((int)Agl._aglSetDrawable(ctx, draw) != 0)
     {
         return;
     }
     Agl.AglError error = Agl.GetError();
     throw new MacOSException(error, Agl.ErrorString(error));
 }
Exemplo n.º 4
0
 void MyAGLReportError(string function)
 {
     Agl.AglError err = Agl.GetError();
     if (err != Agl.AglError.NoError)
     {
         throw new MacOSException((OSStatus)err, string.Format(
                                      "AGL Error from function {0}: {1}  {2}",
                                      function, err, Agl.ErrorString(err)));
     }
 }
Exemplo n.º 5
0
 private void Dispose(bool disposing)
 {
     if (this.IsDisposed || this.Handle.Handle == IntPtr.Zero)
     {
         return;
     }
     Agl.aglSetCurrentContext(IntPtr.Zero);
     if (Agl.aglDestroyContext(this.Handle.Handle))
     {
         this.Handle = ContextHandle.Zero;
     }
     else
     {
         if (disposing)
         {
             throw new MacOSException((OSStatus)Agl.GetError(), Agl.ErrorString(Agl.GetError()));
         }
         this.IsDisposed = true;
     }
 }
Exemplo n.º 6
0
        void Dispose(bool disposing)
        {
            if (IsDisposed || Handle.Handle == IntPtr.Zero)
            {
                return;
            }

            Debug.Print("Disposing of AGL context.");

            try
            {
                throw new Exception();
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.StackTrace);
            }

            Agl.aglSetCurrentContext(IntPtr.Zero);
            Agl.aglSetDrawable(Handle.Handle, IntPtr.Zero);

            Debug.Print("Set drawable to null for context {0}.", Handle.Handle);

            if (Agl.aglDestroyContext(Handle.Handle) == true)
            {
                Handle = ContextHandle.Zero;
                return;
            }

            // failed to destroy context.
            Debug.WriteLine("Failed to destroy context.");
            Debug.WriteLine(Agl.ErrorString(Agl.GetError()));

            // don't throw an exception from the finalizer thread.
            if (disposing)
            {
                throw new MacOSException((OSStatus)Agl.GetError(), Agl.ErrorString(Agl.GetError()));
            }

            IsDisposed = true;
        }