示例#1
0
    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)
示例#2
0
 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
示例#3
0
    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)
示例#4
0
 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