package com.google.ar.core.examples.java.common.java3d;

public class TransparencyAttributes extends NodeComponent {
    public static final int FASTEST = 0;

    public static final int NICEST = 1;

    public static final int BLENDED = 2;

    public static final int SCREEN_DOOR = 3;

    public static final int NONE = 4;

    public static final int BLEND_ZERO = 0;

    public static final int BLEND_ONE = 1;

    public static final int BLEND_SRC_ALPHA = 2;

    public static final int BLEND_ONE_MINUS_SRC_ALPHA = 3;

    public static final int BLEND_DST_COLOR = 4;

    public static final int BLEND_ONE_MINUS_DST_COLOR = 5;

    public static final int BLEND_SRC_COLOR = 6;

    public static final int BLEND_ONE_MINUS_SRC_COLOR = 7;

    static final int BLEND_CONSTANT_COLOR = 8;

    static final int MAX_BLEND_FUNC_TABLE_SIZE = 9;

    private int transparencyMode = NONE;

    private float transparency = 0.0f;

    private int srcBlendFunction = BLEND_SRC_ALPHA;

    private int dstBlendFunction = BLEND_ONE_MINUS_SRC_ALPHA;

    public TransparencyAttributes() {
        this(NONE, 0.0f);
    }

    public TransparencyAttributes(int tMode, float tVal) {
        this(tMode, tVal, BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA);
    }

    public TransparencyAttributes(int tMode, float tVal, int srcBlendFunction, int dstBlendFunction) {
        transparencyMode = tMode;
        transparency = tVal;
        this.srcBlendFunction = srcBlendFunction;
        this.dstBlendFunction = dstBlendFunction;
    }

    public int getTransparencyMode() {
        return transparencyMode;
    }

    public void setTransparencyMode(int transparencyMode) {
        this.transparencyMode = transparencyMode;
    }

    public float getTransparency() {
        return transparency;
    }

    public void setTransparency(float transparency) {
        this.transparency = transparency;
    }

    public int getSrcBlendFunction() {
        return srcBlendFunction;
    }

    public void setSrcBlendFunction(int srcBlendFunction) {
        this.srcBlendFunction = srcBlendFunction;
    }

    public int getDstBlendFunction() {
        return dstBlendFunction;
    }

    public void setDstBlendFunction(int dstBlendFunction) {
        this.dstBlendFunction = dstBlendFunction;
    }

    @Override
    public NodeComponent cloneNodeComponent() {
        return new TransparencyAttributes(transparencyMode, transparency, srcBlendFunction, dstBlendFunction);
    }
}
