//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QAbstractGraphicsShapeItem")]
    public abstract class QAbstractGraphicsShapeItem : QGraphicsItem {
        protected QAbstractGraphicsShapeItem(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QAbstractGraphicsShapeItem), this);
        }
        // QAbstractGraphicsShapeItem* QAbstractGraphicsShapeItem(QAbstractGraphicsShapeItemPrivate& arg1,QGraphicsItem* arg2,QGraphicsScene* arg3); >>>> NOT CONVERTED
        public QAbstractGraphicsShapeItem(IQGraphicsItem parent, QGraphicsScene scene) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QAbstractGraphicsShapeItem##", "QAbstractGraphicsShapeItem(QGraphicsItem*, QGraphicsScene*)", typeof(void), typeof(IQGraphicsItem), parent, typeof(QGraphicsScene), scene);
        }
        public QAbstractGraphicsShapeItem(IQGraphicsItem parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QAbstractGraphicsShapeItem#", "QAbstractGraphicsShapeItem(QGraphicsItem*)", typeof(void), typeof(IQGraphicsItem), parent);
        }
        public QAbstractGraphicsShapeItem() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QAbstractGraphicsShapeItem", "QAbstractGraphicsShapeItem()", typeof(void));
        }
        public QPen Pen() {
            return (QPen) interceptor.Invoke("pen", "pen() const", typeof(QPen));
        }
        public void SetPen(QPen pen) {
            interceptor.Invoke("setPen#", "setPen(const QPen&)", typeof(void), typeof(QPen), pen);
        }
        public QBrush Brush() {
            return (QBrush) interceptor.Invoke("brush", "brush() const", typeof(QBrush));
        }
        public void SetBrush(QBrush brush) {
            interceptor.Invoke("setBrush#", "setBrush(const QBrush&)", typeof(void), typeof(QBrush), brush);
        }
        [SmokeMethod("isObscuredBy(const QGraphicsItem*) const")]
        public override bool IsObscuredBy(IQGraphicsItem item) {
            return (bool) interceptor.Invoke("isObscuredBy#", "isObscuredBy(const QGraphicsItem*) const", typeof(bool), typeof(IQGraphicsItem), item);
        }
        [SmokeMethod("opaqueArea() const")]
        public override QPainterPath OpaqueArea() {
            return (QPainterPath) interceptor.Invoke("opaqueArea", "opaqueArea() const", typeof(QPainterPath));
        }
    }
}
