//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    [SmokeClass("QGraphicsItemAnimation")]
    public class QGraphicsItemAnimation : QObject, IDisposable {
        protected QGraphicsItemAnimation(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QGraphicsItemAnimation), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QGraphicsItemAnimation() {
            staticInterceptor = new SmokeInvocation(typeof(QGraphicsItemAnimation), null);
        }
        public QGraphicsItemAnimation(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QGraphicsItemAnimation#", "QGraphicsItemAnimation(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public QGraphicsItemAnimation() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QGraphicsItemAnimation", "QGraphicsItemAnimation()", typeof(void));
        }
        public IQGraphicsItem Item() {
            return (IQGraphicsItem) interceptor.Invoke("item", "item() const", typeof(IQGraphicsItem));
        }
        public void SetItem(IQGraphicsItem item) {
            interceptor.Invoke("setItem#", "setItem(QGraphicsItem*)", typeof(void), typeof(IQGraphicsItem), item);
        }
        public QTimeLine TimeLine() {
            return (QTimeLine) interceptor.Invoke("timeLine", "timeLine() const", typeof(QTimeLine));
        }
        public void SetTimeLine(QTimeLine timeLine) {
            interceptor.Invoke("setTimeLine#", "setTimeLine(QTimeLine*)", typeof(void), typeof(QTimeLine), timeLine);
        }
        public QPointF PosAt(double step) {
            return (QPointF) interceptor.Invoke("posAt$", "posAt(qreal) const", typeof(QPointF), typeof(double), step);
        }
        public List<QPair<double, QPointF>> PosList() {
            return (List<QPair<double, QPointF>>) interceptor.Invoke("posList", "posList() const", typeof(List<QPair<double, QPointF>>));
        }
        public void SetPosAt(double step, QPointF pos) {
            interceptor.Invoke("setPosAt$#", "setPosAt(qreal, const QPointF&)", typeof(void), typeof(double), step, typeof(QPointF), pos);
        }
        public QMatrix MatrixAt(double step) {
            return (QMatrix) interceptor.Invoke("matrixAt$", "matrixAt(qreal) const", typeof(QMatrix), typeof(double), step);
        }
        public double RotationAt(double step) {
            return (double) interceptor.Invoke("rotationAt$", "rotationAt(qreal) const", typeof(double), typeof(double), step);
        }
        public List<QPair<double, double>> RotationList() {
            return (List<QPair<double, double>>) interceptor.Invoke("rotationList", "rotationList() const", typeof(List<QPair<double, double>>));
        }
        public void SetRotationAt(double step, double angle) {
            interceptor.Invoke("setRotationAt$$", "setRotationAt(qreal, qreal)", typeof(void), typeof(double), step, typeof(double), angle);
        }
        public double XTranslationAt(double step) {
            return (double) interceptor.Invoke("xTranslationAt$", "xTranslationAt(qreal) const", typeof(double), typeof(double), step);
        }
        public double YTranslationAt(double step) {
            return (double) interceptor.Invoke("yTranslationAt$", "yTranslationAt(qreal) const", typeof(double), typeof(double), step);
        }
        public List<QPair<double, QPointF>> TranslationList() {
            return (List<QPair<double, QPointF>>) interceptor.Invoke("translationList", "translationList() const", typeof(List<QPair<double, QPointF>>));
        }
        public void SetTranslationAt(double step, double dx, double dy) {
            interceptor.Invoke("setTranslationAt$$$", "setTranslationAt(qreal, qreal, qreal)", typeof(void), typeof(double), step, typeof(double), dx, typeof(double), dy);
        }
        public double VerticalScaleAt(double step) {
            return (double) interceptor.Invoke("verticalScaleAt$", "verticalScaleAt(qreal) const", typeof(double), typeof(double), step);
        }
        public double HorizontalScaleAt(double step) {
            return (double) interceptor.Invoke("horizontalScaleAt$", "horizontalScaleAt(qreal) const", typeof(double), typeof(double), step);
        }
        public List<QPair<double, QPointF>> ScaleList() {
            return (List<QPair<double, QPointF>>) interceptor.Invoke("scaleList", "scaleList() const", typeof(List<QPair<double, QPointF>>));
        }
        public void SetScaleAt(double step, double sx, double sy) {
            interceptor.Invoke("setScaleAt$$$", "setScaleAt(qreal, qreal, qreal)", typeof(void), typeof(double), step, typeof(double), sx, typeof(double), sy);
        }
        public double VerticalShearAt(double step) {
            return (double) interceptor.Invoke("verticalShearAt$", "verticalShearAt(qreal) const", typeof(double), typeof(double), step);
        }
        public double HorizontalShearAt(double step) {
            return (double) interceptor.Invoke("horizontalShearAt$", "horizontalShearAt(qreal) const", typeof(double), typeof(double), step);
        }
        public List<QPair<double, QPointF>> ShearList() {
            return (List<QPair<double, QPointF>>) interceptor.Invoke("shearList", "shearList() const", typeof(List<QPair<double, QPointF>>));
        }
        public void SetShearAt(double step, double sh, double sv) {
            interceptor.Invoke("setShearAt$$$", "setShearAt(qreal, qreal, qreal)", typeof(void), typeof(double), step, typeof(double), sh, typeof(double), sv);
        }
        public void Clear() {
            interceptor.Invoke("clear", "clear()", typeof(void));
        }
        [Q_SLOT("void setStep(qreal)")]
        public void SetStep(double x) {
            interceptor.Invoke("setStep$", "setStep(qreal)", typeof(void), typeof(double), x);
        }
        [Q_SLOT("void reset()")]
        public void Reset() {
            interceptor.Invoke("reset", "reset()", typeof(void));
        }
        [SmokeMethod("beforeAnimationStep(qreal)")]
        protected virtual void BeforeAnimationStep(double step) {
            interceptor.Invoke("beforeAnimationStep$", "beforeAnimationStep(qreal)", typeof(void), typeof(double), step);
        }
        [SmokeMethod("afterAnimationStep(qreal)")]
        protected virtual void AfterAnimationStep(double step) {
            interceptor.Invoke("afterAnimationStep$", "afterAnimationStep(qreal)", typeof(void), typeof(double), step);
        }
        ~QGraphicsItemAnimation() {
            interceptor.Invoke("~QGraphicsItemAnimation", "~QGraphicsItemAnimation()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QGraphicsItemAnimation", "~QGraphicsItemAnimation()", typeof(void));
        }
        public static new string Tr(string s, string c) {
            return (string) staticInterceptor.Invoke("tr$$", "tr(const char*, const char*)", typeof(string), typeof(string), s, typeof(string), c);
        }
        public static new string Tr(string s) {
            return (string) staticInterceptor.Invoke("tr$", "tr(const char*)", typeof(string), typeof(string), s);
        }
        protected new IQGraphicsItemAnimationSignals Emit {
            get { return (IQGraphicsItemAnimationSignals) Q_EMIT; }
        }
    }

    public interface IQGraphicsItemAnimationSignals : IQObjectSignals {
    }
}
