package com.yunfeiyun.agmp.common.utils.img.entity;

import com.yunfeiyun.agmp.common.utils.StringUtils;
import com.yunfeiyun.agmp.common.utils.img.enums.BusType;
import com.yunfeiyun.agmp.common.utils.img.enums.MediaType;
import lombok.Data;

import java.awt.*;

@Data
public class GraphicsCanvasItem {
    /**
     * 备注
     */
    private String remark;
    /**
     * 媒体类型
     */
    private MediaType mediaType;
    /**
     * 业务类型
     */
    private BusType busType;
    /**
     * 宽度
     */
    private Integer width;
    /**
     * 高度
     */
    private Integer height;
    /**
     * X轴坐标
     */
    private Integer positionX;
    /**
     * T轴坐标
     */
    private Integer positionY;
    /**
     * 背景颜色
     */
    private Integer backgroundColor;
    /**
     * 字体，例如"宋体"
     */
    private String fontType;
    /**
     * 字体形状，例如
     */
    private Integer fontStyle;
    /**
     * 字号
     */
    private Integer fontSize;
    /**
     * 线宽，只有在 graphicsCanvasTypeEnums = BARCODE 时生效
     */
    private Integer lineWidth;
    /**
     * 边距，只有在 graphicsCanvasTypeEnums = BIT_MATRIX 时生效
     */
    private Integer margin;
    /**
     * 内容
     */
    private String data;

    public void setBackgroundColor(String color) {
        if (StringUtils.isNotEmpty(color)) {
            this.backgroundColor = Integer.parseInt(color, 16);
        }
    }

    public Color getBackGroundColor() {
        if (null != this.backgroundColor) {
            return new Color(this.backgroundColor);
        }
        return null;
    }

    public Font getFont() {
        if (StringUtils.isNotEmpty(this.fontType) && null != this.fontSize && null != this.fontStyle) {
            return new Font(this.fontType, this.fontStyle, this.fontSize);
        }
        return null;
    }
}
