def simple_animation(self, forKey, toValue, withDuration=None, **kwargs): real_end_value = toValue if type(toValue) in (list, tuple, CGPathRef): banim = self.keyframe_animation(forKey, withDuration) real_end_value = toValue[-1] banim.setValues_(toValue) else: banim = self.basic_animation(forKey, withDuration) if 'use_fromVal' in kwargs: banim.setFromValue_(kwargs['use_fromVal']) banim.setToValue_(toValue) for_layer = self.layer if 'source_only' in kwargs and kwargs['source_only']: for_layer = self.layer.sourceLayer() if 'use_layer' in kwargs: for_layer = kwargs['use_layer'] csanim = CSAnimation(for_layer, forKey, banim, **kwargs) if not 'autoreverse' in kwargs: self.animationLayer.setValue_forKeyPath_(real_end_value, forKey) if 'extra_keypath' in kwargs: self.animationLayer.setValue_forKeyPath_( real_end_value, kwargs['extra_keypath']) csanim.toValue = real_end_value return self.add_animation(csanim, for_layer, forKey)
def add_waitmarker(self, duration=0, target=None, **kwargs): new_mark = CSAnimation(None, "__CS_WAIT_MARK", None, **kwargs) new_mark.isWaitMark = True new_mark.duration = duration new_mark.cs_input = target self.animations.append(new_mark) return new_mark
def simple_animation(self, forKey, toValue, withDuration=None, **kwargs): real_end_value = toValue if type(toValue) in (list,tuple,CGPathRef): banim = self.keyframe_animation(forKey, withDuration) real_end_value = toValue[-1] banim.setValues_(toValue) else: banim = self.basic_animation(forKey, withDuration) if 'use_fromVal' in kwargs: banim.setFromValue_(kwargs['use_fromVal']) banim.setToValue_(toValue) for_layer = self.layer if 'source_only' in kwargs and kwargs['source_only']: for_layer = self.layer.sourceLayer() if 'use_layer' in kwargs: for_layer = kwargs['use_layer'] csanim = CSAnimation(for_layer, forKey, banim, **kwargs) if not 'autoreverse' in kwargs: self.animationLayer.setValue_forKeyPath_(real_end_value, forKey) if 'extra_keypath' in kwargs: self.animationLayer.setValue_forKeyPath_(real_end_value, kwargs['extra_keypath']) csanim.toValue = real_end_value return self.add_animation(csanim, for_layer, forKey)