package com.platform.plugs.live.responseEntity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Arrays;
import java.util.List;

/**
 * Description:
 * Author:zj
 * Date:2019/2/25 15:10
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class VideoLayer {

    /**
     * 元素填充方式。
     * 不填充：”none”
     * 自适应：”fit”
     * 默认：不填充
     * 若采用不填充模式，则以画面作为配置目标进行Layer设置。
     * 若采用自适应模式，则以填充区（框）作为配置目标进行Layer设置，此时画面会按照原始的宽高比缩放，
     * 长边对齐的自适应方式在填充区（框）内居中填充，若填充区宽高比和画面不一致，则短边两侧无填充（显示为下层Layer画面，若下层未配置Layer，默认为底图黑色）。
     */
    private String fillMode = "none";

    /**
     * 设置该layer元素的高度归一化比例值。
     * 若采用不填充模式，元素的宽度会按照该高度来进行等比缩放，默认为0，表示按照画面的原始尺寸进行显示。
     * 若采用自适应方式时，该字段必输且大于0，表示填充区(框)高度归一化比例值。
     */
    private Float heightNormalized;

    /**
     * 设置该layer元素的宽度归一化比例值。
     * 若采用不填充模式，元素的高度会按照该宽度来进行等比缩放，默认为0，表示按照画面的原始尺寸进行显示。
     * 若采用自适应方式时，该字段必输且大于0，表示填充区(框)宽度归一化比例值。
     */
    private Float widthNormalized;

    /**
     * 设置该layer 元素的位置归一化值[x，y]。
     * 默认值：[0，0]
     */
    private List<Float> positionNormalized = Arrays.asList(0.0f,0.0f);

    /**
     * 设置元素的position 参考坐标值。
     * 取值范围：”topLeft”、”topRight”、”bottomLeft”、”bottomRight”以及”center”、”topCenter”、”bottomCenter”、”leftCenter”、”rightCenter”
     * 默认值：”topLeft”
     */
    private String positionRefer = "topLeft";

    /**
     * 该字段对视频进行固定延迟设置，可用于字幕同步。
     * 单位：ms
     * 默认值：0
     * 取值范围：[0-5000]
     */
    private Integer fixedDelayDuration = 0;
}
