//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QPointF")]
    public partial class QPointF : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QPointF(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QPointF), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QPointF() {
            staticInterceptor = new SmokeInvocation(typeof(QPointF), null);
        }
        public QPointF() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPointF", "QPointF()", typeof(void));
        }
        public QPointF(QPoint p) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPointF#", "QPointF(const QPoint&)", typeof(void), typeof(QPoint), p);
        }
        public QPointF(double xpos, double ypos) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPointF$$", "QPointF(qreal, qreal)", typeof(void), typeof(double), xpos, typeof(double), ypos);
        }
        public bool IsNull() {
            return (bool) interceptor.Invoke("isNull", "isNull() const", typeof(bool));
        }
        public double X() {
            return (double) interceptor.Invoke("x", "x() const", typeof(double));
        }
        public double Y() {
            return (double) interceptor.Invoke("y", "y() const", typeof(double));
        }
        public void SetX(double x) {
            interceptor.Invoke("setX$", "setX(qreal)", typeof(void), typeof(double), x);
        }
        public void SetY(double y) {
            interceptor.Invoke("setY$", "setY(qreal)", typeof(void), typeof(double), y);
        }
        public double Rx() {
            return (double) interceptor.Invoke("rx", "rx()", typeof(double));
        }
        public double Ry() {
            return (double) interceptor.Invoke("ry", "ry()", typeof(double));
        }
        public QPoint ToPoint() {
            return (QPoint) interceptor.Invoke("toPoint", "toPoint() const", typeof(QPoint));
        }
        ~QPointF() {
            interceptor.Invoke("~QPointF", "~QPointF()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QPointF", "~QPointF()", typeof(void));
        }
        public override bool Equals(object o) {
            if (!(o is QPointF)) { return false; }
            return this == (QPointF) o;
        }
        public override int GetHashCode() {
            return interceptor.GetHashCode();
        }
        public static QPointF operator*(QPointF lhs, double c) {
            return (QPointF) staticInterceptor.Invoke("operator*=$", "operator*=(qreal)", typeof(QPointF), typeof(QPointF), lhs, typeof(double), c);
        }
        public static QPointF operator/(QPointF lhs, double c) {
            return (QPointF) staticInterceptor.Invoke("operator/=$", "operator/=(qreal)", typeof(QPointF), typeof(QPointF), lhs, typeof(double), c);
        }
        public static bool operator==(QPointF p1, QPointF p2) {
            return (bool) staticInterceptor.Invoke("operator==##", "operator==(const QPointF&, const QPointF&)", typeof(bool), typeof(QPointF), p1, typeof(QPointF), p2);
        }
        public static bool operator!=(QPointF p1, QPointF p2) {
            return !(bool) staticInterceptor.Invoke("operator==##", "operator==(const QPointF&, const QPointF&)", typeof(bool), typeof(QPointF), p1, typeof(QPointF), p2);
        }
        public static QPointF operator+(QPointF p1, QPointF p2) {
            return (QPointF) staticInterceptor.Invoke("operator+##", "operator+(const QPointF&, const QPointF&)", typeof(QPointF), typeof(QPointF), p1, typeof(QPointF), p2);
        }
        public static QPointF operator-(QPointF p1, QPointF p2) {
            return (QPointF) staticInterceptor.Invoke("operator-##", "operator-(const QPointF&, const QPointF&)", typeof(QPointF), typeof(QPointF), p1, typeof(QPointF), p2);
        }
        public static QPointF operator*(double c, QPointF p) {
            return (QPointF) staticInterceptor.Invoke("operator*$#", "operator*(qreal, const QPointF&)", typeof(QPointF), typeof(double), c, typeof(QPointF), p);
        }
        public static QPointF operator-(QPointF p) {
            return (QPointF) staticInterceptor.Invoke("operator-#", "operator-(const QPointF&)", typeof(QPointF), typeof(QPointF), p);
        }
        public static QPointF operator*(QPointF p, QMatrix m) {
            return (QPointF) staticInterceptor.Invoke("operator*##", "operator*(const QPointF&, const QMatrix&)", typeof(QPointF), typeof(QPointF), p, typeof(QMatrix), m);
        }
        public static QPointF operator*(QPointF p, QTransform m) {
            return (QPointF) staticInterceptor.Invoke("operator*##", "operator*(const QPointF&, const QTransform&)", typeof(QPointF), typeof(QPointF), p, typeof(QTransform), m);
        }
    }
}
