package com.csound.wizard.layout.param; import java.io.Serializable; import org.json.simple.JSONObject; import android.graphics.Color; import android.graphics.Paint.Align; import com.csound.wizard.Const; import com.csound.wizard.layout.Json; public class TextParam implements Serializable { private static final long serialVersionUID = -6926468613279426022L; private Integer mSize; private Integer mColor; private Align mAlign; private Float mScale; public TextParam() { mSize = 35; mColor = Const.getColor("black"); mAlign = Align.CENTER; mScale = 1f; } public TextParam(Integer size, Integer color, Align align, Float scale) { mSize = size; mColor = color; mAlign = align; mScale = scale; } public TextParam(Integer size, String color, String align, Float scale) { mSize = size; mColor = (color != null) ? ColorParam.parseColor(color) : Color.BLACK; mScale = scale; mAlign = Align.CENTER; if (align != null) { if (align.equals("center")) { mAlign = Align.CENTER; } else if (align.equals("left")) { mAlign = Align.LEFT; } else if (align.equals("rght")) { mAlign = Align.RIGHT; } } } public Integer getSize() { return mSize; } public Integer getColor() { return mColor; } public Align getAlign() { return mAlign; } public Float getScale() { return mScale; } public void setSize(int n) { mSize = n; } public void setColor(int n) { mColor = n; } public void setAlign(Align n) { mAlign = n; } public void setScale(float n) { mScale = n; } public static TextParam parse(JSONObject obj) { return new TextParam( Json.getInteger(Const.TEXT_SIZE, obj), Json.getString(Const.TEXT_COLOR, obj), Json.getString(Const.TEXT_ALIGN, obj), Json.getFloat(Const.TEXT_SCALE, obj)); } public static TextParam merge(TextParam a, TextParam b) { if (a == null) { return b; } if (b == null) { return a; } return new TextParam( (Integer) Param.mergeObjects(a.mSize, b.mSize), (Integer) Param.mergeObjects(a.mColor, b.mColor), (Align) Param.mergeObjects(a.mAlign, b.mAlign), (Float) Param.mergeObjects(a.mScale, b.mScale)); } }