| package com.airbnb.lottie; |
| |
| import android.graphics.Bitmap; |
| import android.graphics.ColorFilter; |
| import android.graphics.PointF; |
| import android.graphics.Typeface; |
| |
| import com.airbnb.lottie.value.LottieValueCallback; |
| import com.airbnb.lottie.value.ScaleXY; |
| |
| /** |
| * Property values are the same type as the generic type of their corresponding |
| * {@link LottieValueCallback}. With this, we can use generics to maintain type safety |
| * of the callbacks. |
| * <p> |
| * Supported properties: |
| * Transform: |
| * {@link #TRANSFORM_ANCHOR_POINT} |
| * {@link #TRANSFORM_POSITION} |
| * {@link #TRANSFORM_OPACITY} |
| * {@link #TRANSFORM_SCALE} |
| * {@link #TRANSFORM_ROTATION} |
| * {@link #TRANSFORM_SKEW} |
| * {@link #TRANSFORM_SKEW_ANGLE} |
| * <p> |
| * Fill: |
| * {@link #COLOR} (non-gradient) |
| * {@link #OPACITY} |
| * {@link #COLOR_FILTER} |
| * <p> |
| * Stroke: |
| * {@link #COLOR} (non-gradient) |
| * {@link #STROKE_WIDTH} |
| * {@link #OPACITY} |
| * {@link #COLOR_FILTER} |
| * <p> |
| * Ellipse: |
| * {@link #POSITION} |
| * {@link #ELLIPSE_SIZE} |
| * <p> |
| * Polystar: |
| * {@link #POLYSTAR_POINTS} |
| * {@link #POLYSTAR_ROTATION} |
| * {@link #POSITION} |
| * {@link #POLYSTAR_INNER_RADIUS} (star) |
| * {@link #POLYSTAR_OUTER_RADIUS} |
| * {@link #POLYSTAR_INNER_ROUNDEDNESS} (star) |
| * {@link #POLYSTAR_OUTER_ROUNDEDNESS} |
| * <p> |
| * Repeater: |
| * All transform properties |
| * {@link #REPEATER_COPIES} |
| * {@link #REPEATER_OFFSET} |
| * {@link #TRANSFORM_ROTATION} |
| * {@link #TRANSFORM_START_OPACITY} |
| * {@link #TRANSFORM_END_OPACITY} |
| * <p> |
| * Layers: |
| * All transform properties |
| * {@link #TIME_REMAP} (composition layers only) |
| */ |
| public interface LottieProperty { |
| /** |
| * ColorInt |
| **/ |
| Integer COLOR = 1; |
| Integer STROKE_COLOR = 2; |
| /** |
| * Opacity value are 0-100 to match after effects |
| **/ |
| Integer TRANSFORM_OPACITY = 3; |
| /** |
| * [0,100] |
| */ |
| Integer OPACITY = 4; |
| Integer DROP_SHADOW_COLOR = 5; |
| /** |
| * In Px |
| */ |
| PointF TRANSFORM_ANCHOR_POINT = new PointF(); |
| /** |
| * In Px |
| */ |
| PointF TRANSFORM_POSITION = new PointF(); |
| /** |
| * When split dimensions is enabled. In Px |
| */ |
| Float TRANSFORM_POSITION_X = 15f; |
| /** |
| * When split dimensions is enabled. In Px |
| */ |
| Float TRANSFORM_POSITION_Y = 16f; |
| /** |
| * In Px |
| */ |
| Float BLUR_RADIUS = 17f; |
| /** |
| * In Px |
| */ |
| PointF ELLIPSE_SIZE = new PointF(); |
| /** |
| * In Px |
| */ |
| PointF RECTANGLE_SIZE = new PointF(); |
| /** |
| * In degrees |
| */ |
| Float CORNER_RADIUS = 0f; |
| /** |
| * In Px |
| */ |
| PointF POSITION = new PointF(); |
| ScaleXY TRANSFORM_SCALE = new ScaleXY(); |
| /** |
| * In degrees |
| */ |
| Float TRANSFORM_ROTATION = 1f; |
| /** |
| * 0-85 |
| */ |
| Float TRANSFORM_SKEW = 0f; |
| /** |
| * In degrees |
| */ |
| Float TRANSFORM_SKEW_ANGLE = 0f; |
| /** |
| * In Px |
| */ |
| Float STROKE_WIDTH = 2f; |
| Float TEXT_TRACKING = 3f; |
| Float REPEATER_COPIES = 4f; |
| Float REPEATER_OFFSET = 5f; |
| Float POLYSTAR_POINTS = 6f; |
| /** |
| * In degrees |
| */ |
| Float POLYSTAR_ROTATION = 7f; |
| /** |
| * In Px |
| */ |
| Float POLYSTAR_INNER_RADIUS = 8f; |
| /** |
| * In Px |
| */ |
| Float POLYSTAR_OUTER_RADIUS = 9f; |
| /** |
| * [0,100] |
| */ |
| Float POLYSTAR_INNER_ROUNDEDNESS = 10f; |
| /** |
| * [0,100] |
| */ |
| Float POLYSTAR_OUTER_ROUNDEDNESS = 11f; |
| /** |
| * [0,100] |
| */ |
| Float TRANSFORM_START_OPACITY = 12f; |
| /** |
| * [0,100] |
| */ |
| Float TRANSFORM_END_OPACITY = 12.1f; |
| /** |
| * The time value in seconds |
| */ |
| Float TIME_REMAP = 13f; |
| /** |
| * In Dp |
| */ |
| Float TEXT_SIZE = 14f; |
| /** |
| * [0,100] |
| * Lottie Android resolved drop shadows on drawing content such as fills and strokes. |
| * If a drop shadow is applied to a layer, the dynamic properties must be set on all |
| * of its child elements that draw. The easiest way to do this is to append "**" to your |
| * Keypath after the layer name. |
| */ |
| Float DROP_SHADOW_OPACITY = 15f; |
| /** |
| * Degrees from 12 o'clock. |
| * Lottie Android resolved drop shadows on drawing content such as fills and strokes. |
| * If a drop shadow is applied to a layer, the dynamic properties must be set on all |
| * of its child elements that draw. The easiest way to do this is to append "**" to your |
| * Keypath after the layer name. |
| */ |
| Float DROP_SHADOW_DIRECTION = 16f; |
| /** |
| * In Px |
| * Lottie Android resolved drop shadows on drawing content such as fills and strokes. |
| * If a drop shadow is applied to a layer, the dynamic properties must be set on all |
| * of its child elements that draw. The easiest way to do this is to append "**" to your |
| * Keypath after the layer name. |
| */ |
| Float DROP_SHADOW_DISTANCE = 17f; |
| /** |
| * In Px |
| * Lottie Android resolved drop shadows on drawing content such as fills and strokes. |
| * If a drop shadow is applied to a layer, the dynamic properties must be set on all |
| * of its child elements that draw. The easiest way to do this is to append "**" to your |
| * Keypath after the layer name. |
| */ |
| Float DROP_SHADOW_RADIUS = 18f; |
| |
| ColorFilter COLOR_FILTER = new ColorFilter(); |
| /** |
| * Array of ARGB colors that map to position stops in the original gradient. |
| * For example, a gradient from red to blue could be remapped with [0xFF00FF00, 0xFFFF00FF] (green to purple). |
| */ |
| Integer[] GRADIENT_COLOR = new Integer[0]; |
| /** |
| * Set on text layers. |
| */ |
| Typeface TYPEFACE = Typeface.DEFAULT; |
| /** |
| * Set on image layers. |
| */ |
| Bitmap IMAGE = Bitmap.createBitmap(1, 1, Bitmap.Config.ALPHA_8); |
| } |