/**
 * @Description
 * @Author 
 * @Date 2019-10-17 17:07
 */
@Getter
@Setter
public class PPTReport implements Serializable {
    /**
     * ppt长度
     */
    private int pptWidth;
    /**
     * ppt高度
     */
    private int pptHeight;
    /**
     * 画布大小
     */
    private double canvasSize;
    /**
     * ppt页list
     */
    private List<ReportSlide> slides;
}
/**
 * @Description ppt中图形父类
 * @Author 
 * @Date 2019-10-17 17:10
 */
@Getter
@Setter
public class ReportShape implements Serializable, Comparable {
    /**
     * 图形的创建顺序 (解决置于顶层、置于底层、上移一层、下移一层)
     */
    @ApiModelProperty(value = "图形创建顺序", required = true)
    private int shapeCreateIndex;
    /**
     * 图形的坐标
     */
    @ApiModelProperty(value = "图形坐标", required = true)
    private Anchor anchor;
//
//    /**
//     * 形状级别 字体设置
//     */
//    private Font font;
//
    /**
     * 形状的边线设置
     */
    private Border border;
    /**
     * 形状的样式设置
     */
    private Style style;
    /**
     * 形状旋转度数
     */
    private Double rotation;
    /**
     * 形状的背景图片
     */
    private byte[] background;
    public ReportShape() {
    }
    @Override
    public int compareTo(Object o) {
        return this.getShapeCreateIndex() - ((ReportShape) o).getShapeCreateIndex();
    }
}
/**
 * @Description ppt页
 * @Author 
 * @Date 2019-10-17 17:08
 */
@Getter
@Setter
public class ReportSlide implements Serializable, Comparable {
//    /**
//     * 模板中ppt的索引,这个字段解决 前端ppt页需要分页的情况 则需要多个ppt页记录模板索引。
//     */
//    private int templateIndex;
    /**
     * 引用的母版的模板名
     */
    private String slideMasterName;
    /**
     * 引用的模板母版编号(像首页、结尾页、中间内容页有各种页眉页脚,例如添加 中国PINGAN的标志等 );数据格式为"0,1",意思是第一种母版的第二条母版页
     */
    private String slideMasterIndex;
    /**
     * ppt页索引
     */
    private int slideIndex;
//    /**
//     * ppt页中的形状
//     */
//    List<ReportShape> shapes;
    List<TextBoxShape> textBoxShapes;
    List<TableShape> tableShapes;
    List<PictureShape> pictureShapes;
    List<AutoShape> autoShapes;
    List<ScreenShotShape> screenShotShapes;
    @Override
    public int compareTo(Object o) {
        return this.getSlideIndex() - ((ReportSlide) o).getSlideIndex();
    }
}
/**
 * @Description
 * @Author 
 * @Date 2019-10-25 15:57
 */
@Getter
@Setter
public class TextReportShape extends ReportShape {
    /**
     * 文本类型 text-普通文本;html-html格式的文本
     */
    private String mixType;
}