//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QStylePainter")]
    public class QStylePainter : QPainter, IDisposable {
        protected QStylePainter(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QStylePainter), this);
        }
        public QStylePainter() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStylePainter", "QStylePainter()", typeof(void));
        }
        public QStylePainter(QWidget w) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStylePainter#", "QStylePainter(QWidget*)", typeof(void), typeof(QWidget), w);
        }
        public QStylePainter(IQPaintDevice pd, QWidget w) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStylePainter##", "QStylePainter(QPaintDevice*, QWidget*)", typeof(void), typeof(IQPaintDevice), pd, typeof(QWidget), w);
        }
        public bool Begin(QWidget w) {
            return (bool) interceptor.Invoke("begin#", "begin(QWidget*)", typeof(bool), typeof(QWidget), w);
        }
        public bool Begin(IQPaintDevice pd, QWidget w) {
            return (bool) interceptor.Invoke("begin##", "begin(QPaintDevice*, QWidget*)", typeof(bool), typeof(IQPaintDevice), pd, typeof(QWidget), w);
        }
        public void DrawPrimitive(QStyle.PrimitiveElement pe, QStyleOption opt) {
            interceptor.Invoke("drawPrimitive$#", "drawPrimitive(QStyle::PrimitiveElement, const QStyleOption&)", typeof(void), typeof(QStyle.PrimitiveElement), pe, typeof(QStyleOption), opt);
        }
        public void DrawControl(QStyle.ControlElement ce, QStyleOption opt) {
            interceptor.Invoke("drawControl$#", "drawControl(QStyle::ControlElement, const QStyleOption&)", typeof(void), typeof(QStyle.ControlElement), ce, typeof(QStyleOption), opt);
        }
        public void DrawComplexControl(QStyle.ComplexControl cc, QStyleOptionComplex opt) {
            interceptor.Invoke("drawComplexControl$#", "drawComplexControl(QStyle::ComplexControl, const QStyleOptionComplex&)", typeof(void), typeof(QStyle.ComplexControl), cc, typeof(QStyleOptionComplex), opt);
        }
        public void DrawItemText(QRect r, int flags, QPalette pal, bool enabled, string text, QPalette.ColorRole textRole) {
            interceptor.Invoke("drawItemText#$#$$$", "drawItemText(const QRect&, int, const QPalette&, bool, const QString&, QPalette::ColorRole)", typeof(void), typeof(QRect), r, typeof(int), flags, typeof(QPalette), pal, typeof(bool), enabled, typeof(string), text, typeof(QPalette.ColorRole), textRole);
        }
        public void DrawItemText(QRect r, int flags, QPalette pal, bool enabled, string text) {
            interceptor.Invoke("drawItemText#$#$$", "drawItemText(const QRect&, int, const QPalette&, bool, const QString&)", typeof(void), typeof(QRect), r, typeof(int), flags, typeof(QPalette), pal, typeof(bool), enabled, typeof(string), text);
        }
        public void DrawItemPixmap(QRect r, int flags, QPixmap pixmap) {
            interceptor.Invoke("drawItemPixmap#$#", "drawItemPixmap(const QRect&, int, const QPixmap&)", typeof(void), typeof(QRect), r, typeof(int), flags, typeof(QPixmap), pixmap);
        }
        public QStyle Style() {
            return (QStyle) interceptor.Invoke("style", "style() const", typeof(QStyle));
        }
        ~QStylePainter() {
            interceptor.Invoke("~QStylePainter", "~QStylePainter()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QStylePainter", "~QStylePainter()", typeof(void));
        }
    }
}
