Mercurial > projects > dstep
diff dstep/quartzcore/CAAnimation.d @ 16:19885b43130e
Huge update, the bridge actually works now
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 03 Jan 2010 22:06:11 +0100 |
parents | |
children | f8a3b67adfcb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/quartzcore/CAAnimation.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,841 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Sep 24, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.quartzcore.CAAnimation; + +import dstep.applicationservices.coregraphics.CGAffineTransform; +import dstep.applicationservices.coregraphics.CGBase; +import dstep.applicationservices.coregraphics.CGColor; +import dstep.applicationservices.coregraphics.CGContext; +import dstep.applicationservices.coregraphics.CGGeometry; +import dstep.foundation.NSArray; +import dstep.foundation.NSCoder; +import dstep.foundation.NSObject; +import dstep.foundation.NSDictionary; +import dstep.foundation.NSString; +import dstep.foundation.NSZone; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc; +import dstep.quartzcore.CALayer; +import dstep.quartzcore.CAMediaTiming; +import dstep.quartzcore.CAMediaTimingFunction; +import dstep.quartzcore.CATransform3D; + +import bindings = dstep.quartzcore.CAAnimation_bindings; + +private +{ + NSString kCAAnimationLinear_; + NSString kCAAnimationDiscrete_; + NSString kCAAnimationPaced_; + NSString kCAAnimationRotateAuto_; + NSString kCAAnimationRotateAutoReverse_; + NSString kCATransitionFade_; + NSString kCATransitionMoveIn_; + NSString kCATransitionPush_; + NSString kCATransitionReveal_; + NSString kCATransitionFromRight_; + NSString kCATransitionFromLeft_; + NSString kCATransitionFromTop_; + NSString kCATransitionFromBottom_; +} + +NSString kCAAnimationLinear () +{ + if (kCAAnimationLinear_) + return kCAAnimationLinear_; + + return kCAAnimationLinear_ = new NSString(bindings.kCAAnimationLinear); +} + +NSString kCAAnimationDiscrete () +{ + if (kCAAnimationDiscrete_) + return kCAAnimationDiscrete_; + + return kCAAnimationDiscrete_ = new NSString(bindings.kCAAnimationDiscrete); +} + +NSString kCAAnimationPaced () +{ + if (kCAAnimationPaced_) + return kCAAnimationPaced_; + + return kCAAnimationPaced_ = new NSString(bindings.kCAAnimationPaced); +} + +NSString kCAAnimationRotateAuto () +{ + if (kCAAnimationRotateAuto_) + return kCAAnimationRotateAuto_; + + return kCAAnimationRotateAuto_ = new NSString(bindings.kCAAnimationRotateAuto); +} + +NSString kCAAnimationRotateAutoReverse () +{ + if (kCAAnimationRotateAutoReverse_) + return kCAAnimationRotateAutoReverse_; + + return kCAAnimationRotateAutoReverse_ = new NSString(bindings.kCAAnimationRotateAutoReverse); +} + +NSString kCATransitionFade () +{ + if (kCATransitionFade_) + return kCATransitionFade_; + + return kCATransitionFade_ = new NSString(bindings.kCATransitionFade); +} + +NSString kCATransitionMoveIn () +{ + if (kCATransitionMoveIn_) + return kCATransitionMoveIn_; + + return kCATransitionMoveIn_ = new NSString(bindings.kCATransitionMoveIn); +} + +NSString kCATransitionPush () +{ + if (kCATransitionPush_) + return kCATransitionPush_; + + return kCATransitionPush_ = new NSString(bindings.kCATransitionPush); +} + +NSString kCATransitionReveal () +{ + if (kCATransitionReveal_) + return kCATransitionReveal_; + + return kCATransitionReveal_ = new NSString(bindings.kCATransitionReveal); +} + +NSString kCATransitionFromRight () +{ + if (kCATransitionFromRight_) + return kCATransitionFromRight_; + + return kCATransitionFromRight_ = new NSString(bindings.kCATransitionFromRight); +} + +NSString kCATransitionFromLeft () +{ + if (kCATransitionFromLeft_) + return kCATransitionFromLeft_; + + return kCATransitionFromLeft_ = new NSString(bindings.kCATransitionFromLeft); +} + +NSString kCATransitionFromTop () +{ + if (kCATransitionFromTop_) + return kCATransitionFromTop_; + + return kCATransitionFromTop_ = new NSString(bindings.kCATransitionFromTop); +} + +NSString kCATransitionFromBottom () +{ + if (kCATransitionFromBottom_) + return kCATransitionFromBottom_; + + return kCATransitionFromBottom_ = new NSString(bindings.kCATransitionFromBottom); +} + +class CAAnimation : NSObject, INSCoding, INSCopying, ICAMediaTiming, ICAAction +{ + mixin (ObjcWrap); + + static Object animation () + { + return invokeObjcSelfClass!(Object, "animation"); + } + + static Object defaultValueForKey (NSString key) + { + return invokeObjcSelfClass!(Object, "defaultValueForKey:", NSString)(key); + } + + bool shouldArchiveValueForKey (NSString key) + { + return invokeObjcSelf!(bool, "shouldArchiveValueForKey:", NSString)(key); + } + + Object delegate_ () + { + return invokeObjcSelf!(Object, "delegate"); + } + + void setDelegate (Object arg0) + { + return invokeObjcSelf!(void, "setDelegate:", Object)(arg0); + } + + bool isRemovedOnCompletion () + { + return invokeObjcSelf!(bool, "isRemovedOnCompletion"); + } + + void setRemovedOnCompletion (bool arg0) + { + return invokeObjcSelf!(void, "setRemovedOnCompletion:", bool)(arg0); + } + + double beginTime () + { + return invokeObjcSelf!(double, "beginTime"); + } + + void beginTime (double arg0) + { + return invokeObjcSelf!(void, "setBeginTime:", double)(arg0); + } + + alias beginTime setBeginTime; + + double duration () + { + return invokeObjcSelf!(double, "duration"); + } + + void duration (double arg0) + { + return invokeObjcSelf!(void, "setDuration:", double)(arg0); + } + + alias duration setDuration; + + float speed () + { + return invokeObjcSelf!(float, "speed"); + } + + void speed (float arg0) + { + return invokeObjcSelf!(void, "setSpeed:", float)(arg0); + } + + alias speed setSpeed; + + double timeOffset () + { + return invokeObjcSelf!(double, "timeOffset"); + } + + void timeOffset (double arg0) + { + return invokeObjcSelf!(void, "setTimeOffset:", double)(arg0); + } + + alias timeOffset setTimeOffset; + + float repeatCount () + { + return invokeObjcSelf!(float, "repeatCount"); + } + + void repeatCount (float arg0) + { + return invokeObjcSelf!(void, "setRepeatCount:", float)(arg0); + } + + alias repeatCount setRepeatCount; + + double repeatDuration () + { + return invokeObjcSelf!(double, "repeatDuration"); + } + + void repeatDuration (double arg0) + { + return invokeObjcSelf!(void, "setRepeatDuration:", double)(arg0); + } + + alias repeatDuration setRepeatDuration; + + NSString fillMode () + { + return invokeObjcSelf!(NSString, "fillMode"); + } + + void fillMode (NSString mode) + { + return invokeObjcSelf!(void, "setFillMode:", NSString)(mode); + } + + alias fillMode setFillMode; + + bool autoreverses () + { + return invokeObjcSelf!(bool, "autoreverses"); + } + + void autoreverses (bool arg0) + { + return invokeObjcSelf!(void, "setAutoreverses:", bool)(arg0); + } + + alias autoreverses setAutoreverses; + + static Object layer () + { + return invokeObjcSelfClass!(Object, "layer"); + } + + CAAnimation init () + { + id result = invokeObjcSelf!(id, "init"); + return result is this.objcObject ? this : (result !is null ? new CAAnimation(result) : null); + } + + this () + { + super(CAAnimation.alloc.init.objcObject); + } + + CAAnimation initWithLayer (Object layer) + { + id result = invokeObjcSelf!(id, "initWithLayer:", Object)(layer); + return result is this.objcObject ? this : (result !is null ? new CAAnimation(result) : null); + } + + this (Object layer) + { + super(CAAnimation.alloc.initWithLayer(layer).objcObject); + } + + Object presentationLayer () + { + return invokeObjcSelf!(Object, "presentationLayer"); + } + + Object modelLayer () + { + return invokeObjcSelf!(Object, "modelLayer"); + } + + static Object defaultValueForKey (NSString key) + { + return invokeObjcSelfClass!(Object, "defaultValueForKey:", NSString)(key); + } + + bool shouldArchiveValueForKey (NSString key) + { + return invokeObjcSelf!(bool, "shouldArchiveValueForKey:", NSString)(key); + } + + CGRect bounds () + { + return invokeObjcSelf!(CGRect, "bounds"); + } + + void setBounds (CGRect arg0) + { + return invokeObjcSelf!(void, "setBounds:", CGRect)(arg0); + } + + CGPoint position () + { + return invokeObjcSelf!(CGPoint, "position"); + } + + void setPosition (CGPoint arg0) + { + return invokeObjcSelf!(void, "setPosition:", CGPoint)(arg0); + } + + CGFloat zPosition () + { + return invokeObjcSelf!(CGFloat, "zPosition"); + } + + void setZPosition (CGFloat arg0) + { + return invokeObjcSelf!(void, "setZPosition:", CGFloat)(arg0); + } + + CGPoint anchorPoint () + { + return invokeObjcSelf!(CGPoint, "anchorPoint"); + } + + void setAnchorPoint (CGPoint arg0) + { + return invokeObjcSelf!(void, "setAnchorPoint:", CGPoint)(arg0); + } + + CATransform3D transform () + { + return invokeObjcSelf!(CATransform3D, "transform"); + } + + void setTransform (CATransform3D arg0) + { + return invokeObjcSelf!(void, "setTransform:", CATransform3D)(arg0); + } + + CGAffineTransform affineTransform () + { + return invokeObjcSelf!(CGAffineTransform, "affineTransform"); + } + + void setAffineTransform (CGAffineTransform m) + { + return invokeObjcSelf!(void, "setAffineTransform:", CGAffineTransform)(m); + } + + CGRect frame () + { + return invokeObjcSelf!(CGRect, "frame"); + } + + void setFrame (CGRect arg0) + { + return invokeObjcSelf!(void, "setFrame:", CGRect)(arg0); + } + + bool isHidden () + { + return invokeObjcSelf!(bool, "isHidden"); + } + + void setHidden (bool arg0) + { + return invokeObjcSelf!(void, "setHidden:", bool)(arg0); + } + + bool isDoubleSided () + { + return invokeObjcSelf!(bool, "isDoubleSided"); + } + + void setDoubleSided (bool arg0) + { + return invokeObjcSelf!(void, "setDoubleSided:", bool)(arg0); + } + + void removeFromSuperlayer () + { + return invokeObjcSelf!(void, "removeFromSuperlayer"); + } + + void addSublayer (dstep.quartzcore.CALayer.CALayer layer) + { + return invokeObjcSelf!(void, "addSublayer:", dstep.quartzcore.CALayer.CALayer)(layer); + } + + void insertSublayer (dstep.quartzcore.CALayer.CALayer layer, uint idx) + { + return invokeObjcSelf!(void, "insertSublayer:atIndex:", dstep.quartzcore.CALayer.CALayer, uint)(layer, idx); + } + + void insertSublayer (dstep.quartzcore.CALayer.CALayer layer, dstep.quartzcore.CALayer.CALayer sibling) + { + return invokeObjcSelf!(void, "insertSublayer:below:", dstep.quartzcore.CALayer.CALayer, dstep.quartzcore.CALayer.CALayer)(layer, sibling); + } + + void insertSublayer (dstep.quartzcore.CALayer.CALayer layer, dstep.quartzcore.CALayer.CALayer sibling) + { + return invokeObjcSelf!(void, "insertSublayer:above:", dstep.quartzcore.CALayer.CALayer, dstep.quartzcore.CALayer.CALayer)(layer, sibling); + } + + void replaceSublayer (dstep.quartzcore.CALayer.CALayer layer, dstep.quartzcore.CALayer.CALayer layer2) + { + return invokeObjcSelf!(void, "replaceSublayer:with:", dstep.quartzcore.CALayer.CALayer, dstep.quartzcore.CALayer.CALayer)(layer, layer2); + } + + CATransform3D sublayerTransform () + { + return invokeObjcSelf!(CATransform3D, "sublayerTransform"); + } + + void setSublayerTransform (CATransform3D arg0) + { + return invokeObjcSelf!(void, "setSublayerTransform:", CATransform3D)(arg0); + } + + bool masksToBounds () + { + return invokeObjcSelf!(bool, "masksToBounds"); + } + + void setMasksToBounds (bool arg0) + { + return invokeObjcSelf!(void, "setMasksToBounds:", bool)(arg0); + } + + CGPoint convertPoint (CGPoint p, dstep.quartzcore.CALayer.CALayer l) + { + return invokeObjcSelf!(CGPoint, "convertPoint:fromLayer:", CGPoint, dstep.quartzcore.CALayer.CALayer)(p, l); + } + + CGPoint convertPoint (CGPoint p, dstep.quartzcore.CALayer.CALayer l) + { + return invokeObjcSelf!(CGPoint, "convertPoint:toLayer:", CGPoint, dstep.quartzcore.CALayer.CALayer)(p, l); + } + + CGRect convertRect (CGRect r, dstep.quartzcore.CALayer.CALayer l) + { + return invokeObjcSelf!(CGRect, "convertRect:fromLayer:", CGRect, dstep.quartzcore.CALayer.CALayer)(r, l); + } + + CGRect convertRect (CGRect r, dstep.quartzcore.CALayer.CALayer l) + { + return invokeObjcSelf!(CGRect, "convertRect:toLayer:", CGRect, dstep.quartzcore.CALayer.CALayer)(r, l); + } + + double convertTime (double t, dstep.quartzcore.CALayer.CALayer l) + { + return invokeObjcSelf!(double, "convertTime:fromLayer:", double, dstep.quartzcore.CALayer.CALayer)(t, l); + } + + double convertTime (double t, dstep.quartzcore.CALayer.CALayer l) + { + return invokeObjcSelf!(double, "convertTime:toLayer:", double, dstep.quartzcore.CALayer.CALayer)(t, l); + } + + dstep.quartzcore.CALayer.CALayer hitTest (CGPoint p) + { + return invokeObjcSelf!(dstep.quartzcore.CALayer.CALayer, "hitTest:", CGPoint)(p); + } + + bool containsPoint (CGPoint p) + { + return invokeObjcSelf!(bool, "containsPoint:", CGPoint)(p); + } + + Object contents () + { + return invokeObjcSelf!(Object, "contents"); + } + + void setContents (Object arg0) + { + return invokeObjcSelf!(void, "setContents:", Object)(arg0); + } + + CGRect contentsRect () + { + return invokeObjcSelf!(CGRect, "contentsRect"); + } + + void setContentsRect (CGRect arg0) + { + return invokeObjcSelf!(void, "setContentsRect:", CGRect)(arg0); + } + + bool isOpaque () + { + return invokeObjcSelf!(bool, "isOpaque"); + } + + void setOpaque (bool arg0) + { + return invokeObjcSelf!(void, "setOpaque:", bool)(arg0); + } + + void display () + { + return invokeObjcSelf!(void, "display"); + } + + void setNeedsDisplay () + { + return invokeObjcSelf!(void, "setNeedsDisplay"); + } + + void setNeedsDisplayInRect (CGRect r) + { + return invokeObjcSelf!(void, "setNeedsDisplayInRect:", CGRect)(r); + } + + bool needsDisplayOnBoundsChange () + { + return invokeObjcSelf!(bool, "needsDisplayOnBoundsChange"); + } + + void setNeedsDisplayOnBoundsChange (bool arg0) + { + return invokeObjcSelf!(void, "setNeedsDisplayOnBoundsChange:", bool)(arg0); + } + + void drawInContext (CGContextRef ctx) + { + return invokeObjcSelf!(void, "drawInContext:", CGContextRef)(ctx); + } + + void renderInContext (CGContextRef ctx) + { + return invokeObjcSelf!(void, "renderInContext:", CGContextRef)(ctx); + } + + uint edgeAntialiasingMask () + { + return invokeObjcSelf!(uint, "edgeAntialiasingMask"); + } + + void setEdgeAntialiasingMask (uint arg0) + { + return invokeObjcSelf!(void, "setEdgeAntialiasingMask:", uint)(arg0); + } + + CGColorRef backgroundColor () + { + return invokeObjcSelf!(CGColorRef, "backgroundColor"); + } + + void setBackgroundColor (CGColorRef arg0) + { + return invokeObjcSelf!(void, "setBackgroundColor:", CGColorRef)(arg0); + } + + CGFloat cornerRadius () + { + return invokeObjcSelf!(CGFloat, "cornerRadius"); + } + + void setCornerRadius (CGFloat arg0) + { + return invokeObjcSelf!(void, "setCornerRadius:", CGFloat)(arg0); + } + + CGFloat borderWidth () + { + return invokeObjcSelf!(CGFloat, "borderWidth"); + } + + void setBorderWidth (CGFloat arg0) + { + return invokeObjcSelf!(void, "setBorderWidth:", CGFloat)(arg0); + } + + CGColorRef borderColor () + { + return invokeObjcSelf!(CGColorRef, "borderColor"); + } + + void setBorderColor (CGColorRef arg0) + { + return invokeObjcSelf!(void, "setBorderColor:", CGColorRef)(arg0); + } + + float opacity () + { + return invokeObjcSelf!(float, "opacity"); + } + + void setOpacity (float arg0) + { + return invokeObjcSelf!(void, "setOpacity:", float)(arg0); + } + + Object compositingFilter () + { + return invokeObjcSelf!(Object, "compositingFilter"); + } + + void setCompositingFilter (Object arg0) + { + return invokeObjcSelf!(void, "setCompositingFilter:", Object)(arg0); + } + + CGColorRef shadowColor () + { + return invokeObjcSelf!(CGColorRef, "shadowColor"); + } + + void setShadowColor (CGColorRef arg0) + { + return invokeObjcSelf!(void, "setShadowColor:", CGColorRef)(arg0); + } + + float shadowOpacity () + { + return invokeObjcSelf!(float, "shadowOpacity"); + } + + void setShadowOpacity (float arg0) + { + return invokeObjcSelf!(void, "setShadowOpacity:", float)(arg0); + } + + CGSize shadowOffset () + { + return invokeObjcSelf!(CGSize, "shadowOffset"); + } + + void setShadowOffset (CGSize arg0) + { + return invokeObjcSelf!(void, "setShadowOffset:", CGSize)(arg0); + } + + CGFloat shadowRadius () + { + return invokeObjcSelf!(CGFloat, "shadowRadius"); + } + + void setShadowRadius (CGFloat arg0) + { + return invokeObjcSelf!(void, "setShadowRadius:", CGFloat)(arg0); + } + + uint autoresizingMask () + { + return invokeObjcSelf!(uint, "autoresizingMask"); + } + + void setAutoresizingMask (uint arg0) + { + return invokeObjcSelf!(void, "setAutoresizingMask:", uint)(arg0); + } + + Object layoutManager () + { + return invokeObjcSelf!(Object, "layoutManager"); + } + + void setLayoutManager (Object arg0) + { + return invokeObjcSelf!(void, "setLayoutManager:", Object)(arg0); + } + + CGSize preferredFrameSize () + { + return invokeObjcSelf!(CGSize, "preferredFrameSize"); + } + + void setNeedsLayout () + { + return invokeObjcSelf!(void, "setNeedsLayout"); + } + + void layoutIfNeeded () + { + return invokeObjcSelf!(void, "layoutIfNeeded"); + } + + void layoutSublayers () + { + return invokeObjcSelf!(void, "layoutSublayers"); + } + + void resizeSublayersWithOldSize (CGSize size) + { + return invokeObjcSelf!(void, "resizeSublayersWithOldSize:", CGSize)(size); + } + + void resizeWithOldSuperlayerSize (CGSize size) + { + return invokeObjcSelf!(void, "resizeWithOldSuperlayerSize:", CGSize)(size); + } + + static ICAAction defaultActionForKey (NSString event) + { + return invokeObjcSelfClass!(ICAAction, "defaultActionForKey:", NSString)(event); + } + + ICAAction actionForKey (NSString event) + { + return invokeObjcSelf!(ICAAction, "actionForKey:", NSString)(event); + } + + void addAnimation (CAAnimation anim, NSString key) + { + return invokeObjcSelf!(void, "addAnimation:forKey:", CAAnimation, NSString)(anim, key); + } + + void removeAllAnimations () + { + return invokeObjcSelf!(void, "removeAllAnimations"); + } + + void removeAnimationForKey (NSString key) + { + return invokeObjcSelf!(void, "removeAnimationForKey:", NSString)(key); + } + + CAAnimation animationForKey (NSString key) + { + return invokeObjcSelf!(CAAnimation, "animationForKey:", NSString)(key); + } + + void setDelegate (Object arg0) + { + return invokeObjcSelf!(void, "setDelegate:", Object)(arg0); + } + + alias setDelegate delegate_; + + void runActionForKey (NSString event, Object anObject, NSDictionary dict) + { + return invokeObjcSelf!(void, "runActionForKey:object:arguments:", NSString, Object, NSDictionary)(event, anObject, dict); + } + + void encodeWithCoder (NSCoder aCoder) + { + return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder); + } + + CAAnimation initWithCoder (NSCoder aDecoder) + { + return invokeObjcSelf!(CAAnimation, "initWithCoder:", NSCoder)(aDecoder); + } + + CAAnimation copyWithZone (NSZone* zone) + { + return invokeObjcSelf!(CAAnimation, "copyWithZone:", NSZone*)(zone); + } +} + +class CAPropertyAnimation : CAAnimation +{ + mixin (ObjcWrap); + + static Object animationWithKeyPath (NSString path) + { + return invokeObjcSelfClass!(Object, "animationWithKeyPath:", NSString)(path); + } + + bool isAdditive () + { + return invokeObjcSelf!(bool, "isAdditive"); + } + + void setAdditive (bool arg0) + { + return invokeObjcSelf!(void, "setAdditive:", bool)(arg0); + } + + bool isCumulative () + { + return invokeObjcSelf!(bool, "isCumulative"); + } + + void setCumulative (bool arg0) + { + return invokeObjcSelf!(void, "setCumulative:", bool)(arg0); + } +} + +const TCAAnimationDelegate = ` + + void animationDidStart (CAAnimation anim) + { + return invokeObjcSelf!(void, "animationDidStart:", CAAnimation)(anim); + } + + void animationDidStop (CAAnimation anim, bool flag) + { + return invokeObjcSelf!(void, "animationDidStop:finished:", CAAnimation, bool)(anim, flag); + } + + //mixin ObjcBindMethod!(animationDidStart, "animationDidStart:"); + //mixin ObjcBindMethod!(animationDidStop, "animationDidStop:finished:"); + +`; +