//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    [SmokeClass("QPicture")]
    public class QPicture : QPaintDevice, IDisposable {
        protected QPicture(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QPicture), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QPicture() {
            staticInterceptor = new SmokeInvocation(typeof(QPicture), null);
        }
        // QPicturePrivate*& data_ptr(); >>>> NOT CONVERTED
        // QPicture* QPicture(QPicturePrivate& arg1); >>>> NOT CONVERTED
        public QPicture(int formatVersion) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPicture$", "QPicture(int)", typeof(void), typeof(int), formatVersion);
        }
        public QPicture() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPicture", "QPicture()", typeof(void));
        }
        public QPicture(QPicture arg1) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPicture#", "QPicture(const QPicture&)", typeof(void), typeof(QPicture), arg1);
        }
        public bool IsNull() {
            return (bool) interceptor.Invoke("isNull", "isNull() const", typeof(bool));
        }
        [SmokeMethod("devType() const")]
        public override int DevType() {
            return (int) interceptor.Invoke("devType", "devType() const", typeof(int));
        }
        public uint Size() {
            return (uint) interceptor.Invoke("size", "size() const", typeof(uint));
        }
        public string Data() {
            return (string) interceptor.Invoke("data", "data() const", typeof(string));
        }
        [SmokeMethod("setData(const char*, uint)")]
        public virtual void SetData(string data, uint size) {
            interceptor.Invoke("setData$$", "setData(const char*, uint)", typeof(void), typeof(string), data, typeof(uint), size);
        }
        public bool Play(QPainter p) {
            return (bool) interceptor.Invoke("play#", "play(QPainter*)", typeof(bool), typeof(QPainter), p);
        }
        public bool Load(QIODevice dev, string format) {
            return (bool) interceptor.Invoke("load#$", "load(QIODevice*, const char*)", typeof(bool), typeof(QIODevice), dev, typeof(string), format);
        }
        public bool Load(QIODevice dev) {
            return (bool) interceptor.Invoke("load#", "load(QIODevice*)", typeof(bool), typeof(QIODevice), dev);
        }
        public bool Load(string fileName, string format) {
            return (bool) interceptor.Invoke("load$$", "load(const QString&, const char*)", typeof(bool), typeof(string), fileName, typeof(string), format);
        }
        public bool Load(string fileName) {
            return (bool) interceptor.Invoke("load$", "load(const QString&)", typeof(bool), typeof(string), fileName);
        }
        public bool Save(QIODevice dev, string format) {
            return (bool) interceptor.Invoke("save#$", "save(QIODevice*, const char*)", typeof(bool), typeof(QIODevice), dev, typeof(string), format);
        }
        public bool Save(QIODevice dev) {
            return (bool) interceptor.Invoke("save#", "save(QIODevice*)", typeof(bool), typeof(QIODevice), dev);
        }
        public bool Save(string fileName, string format) {
            return (bool) interceptor.Invoke("save$$", "save(const QString&, const char*)", typeof(bool), typeof(string), fileName, typeof(string), format);
        }
        public bool Save(string fileName) {
            return (bool) interceptor.Invoke("save$", "save(const QString&)", typeof(bool), typeof(string), fileName);
        }
        public QRect BoundingRect() {
            return (QRect) interceptor.Invoke("boundingRect", "boundingRect() const", typeof(QRect));
        }
        public void SetBoundingRect(QRect r) {
            interceptor.Invoke("setBoundingRect#", "setBoundingRect(const QRect&)", typeof(void), typeof(QRect), r);
        }
        public void Detach() {
            interceptor.Invoke("detach", "detach()", typeof(void));
        }
        public bool IsDetached() {
            return (bool) interceptor.Invoke("isDetached", "isDetached() const", typeof(bool));
        }
        [SmokeMethod("paintEngine() const")]
        public override QPaintEngine PaintEngine() {
            return (QPaintEngine) interceptor.Invoke("paintEngine", "paintEngine() const", typeof(QPaintEngine));
        }
        [SmokeMethod("metric(QPaintDevice::PaintDeviceMetric) const")]
        protected override int Metric(QPaintDevice.PaintDeviceMetric m) {
            return (int) interceptor.Invoke("metric$", "metric(QPaintDevice::PaintDeviceMetric) const", typeof(int), typeof(QPaintDevice.PaintDeviceMetric), m);
        }
        ~QPicture() {
            interceptor.Invoke("~QPicture", "~QPicture()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QPicture", "~QPicture()", typeof(void));
        }
        public static string PictureFormat(string fileName) {
            return (string) staticInterceptor.Invoke("pictureFormat$", "pictureFormat(const QString&)", typeof(string), typeof(string), fileName);
        }
        public static List<QByteArray> InputFormats() {
            return (List<QByteArray>) staticInterceptor.Invoke("inputFormats", "inputFormats()", typeof(List<QByteArray>));
        }
        public static List<QByteArray> OutputFormats() {
            return (List<QByteArray>) staticInterceptor.Invoke("outputFormats", "outputFormats()", typeof(List<QByteArray>));
        }
        public static List<string> InputFormatList() {
            return (List<string>) staticInterceptor.Invoke("inputFormatList", "inputFormatList()", typeof(List<string>));
        }
        public static List<string> OutputFormatList() {
            return (List<string>) staticInterceptor.Invoke("outputFormatList", "outputFormatList()", typeof(List<string>));
        }
    }
}
