//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QGLFormat")]
    public class QGLFormat : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QGLFormat(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QGLFormat), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QGLFormat() {
            staticInterceptor = new SmokeInvocation(typeof(QGLFormat), null);
        }
        public enum OpenGLVersionFlag {
            OpenGL_Version_None = 0x00000000,
            OpenGL_Version_1_1 = 0x00000001,
            OpenGL_Version_1_2 = 0x00000002,
            OpenGL_Version_1_3 = 0x00000004,
            OpenGL_Version_1_4 = 0x00000008,
            OpenGL_Version_1_5 = 0x00000010,
            OpenGL_Version_2_0 = 0x00000020,
            OpenGL_Version_2_1 = 0x00000040,
            OpenGL_ES_Common_Version_1_0 = 0x00000080,
            OpenGL_ES_CommonLite_Version_1_0 = 0x00000100,
            OpenGL_ES_Common_Version_1_1 = 0x00000200,
            OpenGL_ES_CommonLite_Version_1_1 = 0x00000400,
            OpenGL_ES_Version_2_0 = 0x00000800,
        }
        public QGLFormat() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QGLFormat", "QGLFormat()", typeof(void));
        }
        public QGLFormat(uint options, int plane) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QGLFormat$$", "QGLFormat(QGL::FormatOptions, int)", typeof(void), typeof(uint), options, typeof(int), plane);
        }
        public QGLFormat(uint options) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QGLFormat$", "QGLFormat(QGL::FormatOptions)", typeof(void), typeof(uint), options);
        }
        public QGLFormat(QGLFormat other) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QGLFormat#", "QGLFormat(const QGLFormat&)", typeof(void), typeof(QGLFormat), other);
        }
        public void SetDepthBufferSize(int size) {
            interceptor.Invoke("setDepthBufferSize$", "setDepthBufferSize(int)", typeof(void), typeof(int), size);
        }
        public int DepthBufferSize() {
            return (int) interceptor.Invoke("depthBufferSize", "depthBufferSize() const", typeof(int));
        }
        public void SetAccumBufferSize(int size) {
            interceptor.Invoke("setAccumBufferSize$", "setAccumBufferSize(int)", typeof(void), typeof(int), size);
        }
        public int AccumBufferSize() {
            return (int) interceptor.Invoke("accumBufferSize", "accumBufferSize() const", typeof(int));
        }
        public void SetRedBufferSize(int size) {
            interceptor.Invoke("setRedBufferSize$", "setRedBufferSize(int)", typeof(void), typeof(int), size);
        }
        public int RedBufferSize() {
            return (int) interceptor.Invoke("redBufferSize", "redBufferSize() const", typeof(int));
        }
        public void SetGreenBufferSize(int size) {
            interceptor.Invoke("setGreenBufferSize$", "setGreenBufferSize(int)", typeof(void), typeof(int), size);
        }
        public int GreenBufferSize() {
            return (int) interceptor.Invoke("greenBufferSize", "greenBufferSize() const", typeof(int));
        }
        public void SetBlueBufferSize(int size) {
            interceptor.Invoke("setBlueBufferSize$", "setBlueBufferSize(int)", typeof(void), typeof(int), size);
        }
        public int BlueBufferSize() {
            return (int) interceptor.Invoke("blueBufferSize", "blueBufferSize() const", typeof(int));
        }
        public void SetAlphaBufferSize(int size) {
            interceptor.Invoke("setAlphaBufferSize$", "setAlphaBufferSize(int)", typeof(void), typeof(int), size);
        }
        public int AlphaBufferSize() {
            return (int) interceptor.Invoke("alphaBufferSize", "alphaBufferSize() const", typeof(int));
        }
        public void SetStencilBufferSize(int size) {
            interceptor.Invoke("setStencilBufferSize$", "setStencilBufferSize(int)", typeof(void), typeof(int), size);
        }
        public int StencilBufferSize() {
            return (int) interceptor.Invoke("stencilBufferSize", "stencilBufferSize() const", typeof(int));
        }
        public void SetSampleBuffers(bool enable) {
            interceptor.Invoke("setSampleBuffers$", "setSampleBuffers(bool)", typeof(void), typeof(bool), enable);
        }
        public bool SampleBuffers() {
            return (bool) interceptor.Invoke("sampleBuffers", "sampleBuffers() const", typeof(bool));
        }
        public void SetSamples(int numSamples) {
            interceptor.Invoke("setSamples$", "setSamples(int)", typeof(void), typeof(int), numSamples);
        }
        public int Samples() {
            return (int) interceptor.Invoke("samples", "samples() const", typeof(int));
        }
        public void SetSwapInterval(int interval) {
            interceptor.Invoke("setSwapInterval$", "setSwapInterval(int)", typeof(void), typeof(int), interval);
        }
        public int SwapInterval() {
            return (int) interceptor.Invoke("swapInterval", "swapInterval() const", typeof(int));
        }
        public bool DoubleBuffer() {
            return (bool) interceptor.Invoke("doubleBuffer", "doubleBuffer() const", typeof(bool));
        }
        public void SetDoubleBuffer(bool enable) {
            interceptor.Invoke("setDoubleBuffer$", "setDoubleBuffer(bool)", typeof(void), typeof(bool), enable);
        }
        public bool Depth() {
            return (bool) interceptor.Invoke("depth", "depth() const", typeof(bool));
        }
        public void SetDepth(bool enable) {
            interceptor.Invoke("setDepth$", "setDepth(bool)", typeof(void), typeof(bool), enable);
        }
        public bool Rgba() {
            return (bool) interceptor.Invoke("rgba", "rgba() const", typeof(bool));
        }
        public void SetRgba(bool enable) {
            interceptor.Invoke("setRgba$", "setRgba(bool)", typeof(void), typeof(bool), enable);
        }
        public bool Alpha() {
            return (bool) interceptor.Invoke("alpha", "alpha() const", typeof(bool));
        }
        public void SetAlpha(bool enable) {
            interceptor.Invoke("setAlpha$", "setAlpha(bool)", typeof(void), typeof(bool), enable);
        }
        public bool Accum() {
            return (bool) interceptor.Invoke("accum", "accum() const", typeof(bool));
        }
        public void SetAccum(bool enable) {
            interceptor.Invoke("setAccum$", "setAccum(bool)", typeof(void), typeof(bool), enable);
        }
        public bool Stencil() {
            return (bool) interceptor.Invoke("stencil", "stencil() const", typeof(bool));
        }
        public void SetStencil(bool enable) {
            interceptor.Invoke("setStencil$", "setStencil(bool)", typeof(void), typeof(bool), enable);
        }
        public bool Stereo() {
            return (bool) interceptor.Invoke("stereo", "stereo() const", typeof(bool));
        }
        public void SetStereo(bool enable) {
            interceptor.Invoke("setStereo$", "setStereo(bool)", typeof(void), typeof(bool), enable);
        }
        public bool DirectRendering() {
            return (bool) interceptor.Invoke("directRendering", "directRendering() const", typeof(bool));
        }
        public void SetDirectRendering(bool enable) {
            interceptor.Invoke("setDirectRendering$", "setDirectRendering(bool)", typeof(void), typeof(bool), enable);
        }
        public bool HasOverlay() {
            return (bool) interceptor.Invoke("hasOverlay", "hasOverlay() const", typeof(bool));
        }
        public void SetOverlay(bool enable) {
            interceptor.Invoke("setOverlay$", "setOverlay(bool)", typeof(void), typeof(bool), enable);
        }
        public int Plane() {
            return (int) interceptor.Invoke("plane", "plane() const", typeof(int));
        }
        public void SetPlane(int plane) {
            interceptor.Invoke("setPlane$", "setPlane(int)", typeof(void), typeof(int), plane);
        }
        public void SetOption(uint opt) {
            interceptor.Invoke("setOption$", "setOption(QGL::FormatOptions)", typeof(void), typeof(uint), opt);
        }
        public bool TestOption(uint opt) {
            return (bool) interceptor.Invoke("testOption$", "testOption(QGL::FormatOptions) const", typeof(bool), typeof(uint), opt);
        }
        ~QGLFormat() {
            interceptor.Invoke("~QGLFormat", "~QGLFormat()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QGLFormat", "~QGLFormat()", typeof(void));
        }
        public override bool Equals(object o) {
            if (!(o is QGLFormat)) { return false; }
            return this == (QGLFormat) o;
        }
        public override int GetHashCode() {
            return interceptor.GetHashCode();
        }
        public static QGLFormat DefaultFormat() {
            return (QGLFormat) staticInterceptor.Invoke("defaultFormat", "defaultFormat()", typeof(QGLFormat));
        }
        public static void SetDefaultFormat(QGLFormat f) {
            staticInterceptor.Invoke("setDefaultFormat#", "setDefaultFormat(const QGLFormat&)", typeof(void), typeof(QGLFormat), f);
        }
        public static QGLFormat DefaultOverlayFormat() {
            return (QGLFormat) staticInterceptor.Invoke("defaultOverlayFormat", "defaultOverlayFormat()", typeof(QGLFormat));
        }
        public static void SetDefaultOverlayFormat(QGLFormat f) {
            staticInterceptor.Invoke("setDefaultOverlayFormat#", "setDefaultOverlayFormat(const QGLFormat&)", typeof(void), typeof(QGLFormat), f);
        }
        public static bool HasOpenGL() {
            return (bool) staticInterceptor.Invoke("hasOpenGL", "hasOpenGL()", typeof(bool));
        }
        public static bool HasOpenGLOverlays() {
            return (bool) staticInterceptor.Invoke("hasOpenGLOverlays", "hasOpenGLOverlays()", typeof(bool));
        }
        public static uint OpenGLVersionFlags() {
            return (uint) staticInterceptor.Invoke("openGLVersionFlags", "openGLVersionFlags()", typeof(uint));
        }
        public static bool operator==(QGLFormat arg1, QGLFormat arg2) {
            return (bool) staticInterceptor.Invoke("operator==##", "operator==(const QGLFormat&, const QGLFormat&)", typeof(bool), typeof(QGLFormat), arg1, typeof(QGLFormat), arg2);
        }
        public static bool operator!=(QGLFormat arg1, QGLFormat arg2) {
            return !(bool) staticInterceptor.Invoke("operator==##", "operator==(const QGLFormat&, const QGLFormat&)", typeof(bool), typeof(QGLFormat), arg1, typeof(QGLFormat), arg2);
        }
    }
}
