• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.airbnb.lottie.animation.keyframe;
2 
3 import android.graphics.Path;
4 
5 import com.airbnb.lottie.model.animatable.AnimatableIntegerValue;
6 import com.airbnb.lottie.model.content.Mask;
7 import com.airbnb.lottie.model.content.ShapeData;
8 
9 import java.util.ArrayList;
10 import java.util.List;
11 
12 public class MaskKeyframeAnimation {
13   private final List<BaseKeyframeAnimation<ShapeData, Path>> maskAnimations;
14   private final List<BaseKeyframeAnimation<Integer, Integer>> opacityAnimations;
15   private final List<Mask> masks;
16 
MaskKeyframeAnimation(List<Mask> masks)17   public MaskKeyframeAnimation(List<Mask> masks) {
18     this.masks = masks;
19     this.maskAnimations = new ArrayList<>(masks.size());
20     this.opacityAnimations = new ArrayList<>(masks.size());
21     for (int i = 0; i < masks.size(); i++) {
22       this.maskAnimations.add(masks.get(i).getMaskPath().createAnimation());
23       AnimatableIntegerValue opacity = masks.get(i).getOpacity();
24       opacityAnimations.add(opacity.createAnimation());
25     }
26   }
27 
getMasks()28   public List<Mask> getMasks() {
29     return masks;
30   }
31 
getMaskAnimations()32   public List<BaseKeyframeAnimation<ShapeData, Path>> getMaskAnimations() {
33     return maskAnimations;
34   }
35 
getOpacityAnimations()36   public List<BaseKeyframeAnimation<Integer, Integer>> getOpacityAnimations() {
37     return opacityAnimations;
38   }
39 }
40