blob: 2982d65fc61da9b65e6768f78d88a12f0d679011 [file] [log] [blame]
package com.airbnb.lottie;
import android.graphics.ColorFilter;
import android.graphics.PointF;
import com.airbnb.lottie.value.ScaleXY;
import com.airbnb.lottie.value.LottieValueCallback;
/**
* 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.
*
* 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}
*
* Fill:
* {@link #COLOR} (non-gradient)
* {@link #OPACITY}
* {@link #COLOR_FILTER}
*
* Stroke:
* {@link #COLOR} (non-gradient)
* {@link #STROKE_WIDTH}
* {@link #OPACITY}
* {@link #COLOR_FILTER}
*
* Ellipse:
* {@link #POSITION}
* {@link #ELLIPSE_SIZE}
*
* 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}
*
* Repeater:
* All transform properties
* {@link #REPEATER_COPIES}
* {@link #REPEATER_OFFSET}
* {@link #TRANSFORM_ROTATION}
* {@link #TRANSFORM_START_OPACITY}
* {@link #TRANSFORM_END_OPACITY}
*
* 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;
/** 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 */
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;
ColorFilter COLOR_FILTER = new ColorFilter();
Integer[] GRADIENT_COLOR = new Integer[0];
}