1 package net.osdn.gokigen.a01d.liveview.message;
3 import android.graphics.Color;
4 import android.view.ViewDebug;
9 * Created by MRSa on 2017/03/01.
11 public class ShowMessageHolder implements IMessageDrawer, IMessageHolder
16 private class messageHolder
18 private String message = "";
19 private int color = Color.BLUE;
20 private int textSize = 16;
27 void setMessage(String message)
29 this.message = message;
37 void setColor(int color)
47 void setTextSize(int textSize)
49 this.textSize = textSize;
53 private messageHolder upperLeft = new messageHolder();
54 private messageHolder upperRight = new messageHolder();
55 private messageHolder center = new messageHolder();
56 private messageHolder lowerLeft = new messageHolder();
57 private messageHolder lowerRight = new messageHolder();
58 private messageHolder upperCenter = new messageHolder();
59 private messageHolder lowerCenter = new messageHolder();
60 private messageHolder leftCenter = new messageHolder();
61 private messageHolder rightCenter = new messageHolder();
62 private float level_horizontal = Float.NaN;
63 private float level_vertical = Float.NaN;
65 private float LEVELGAUGE_THRESHOLD_MIDDLE = 2.0f;
66 private float LEVELGAUGE_THRESHOLD_OVER = 15.0f;
72 public ShowMessageHolder()
74 center.setTextSize(24);
81 private messageHolder decideHolder(MessageArea area)
107 target = upperCenter;
111 target = lowerCenter;
119 target = rightCenter;
134 public void setMessageToShow(MessageArea area, int color, int size, String message)
136 messageHolder target = decideHolder(area);
139 target.setColor(color);
140 target.setTextSize(size);
141 target.setMessage(message);
150 public void setLevelToShow(LevelArea area, float value)
152 if (area == LevelArea.LEVEL_HORIZONTAL)
154 level_horizontal = value;
156 else if (area == LevelArea.LEVEL_VERTICAL)
158 level_vertical = value;
167 public int getSize(MessageArea area)
169 messageHolder target = decideHolder(area);
172 return (target.getTextSize());
182 public int getColor(MessageArea area)
184 messageHolder target = decideHolder(area);
187 return (target.getColor());
197 public String getMessage(MessageArea area)
199 messageHolder target = decideHolder(area);
202 return (target.getMessage());
212 public boolean isLevel()
214 return (!((Float.isNaN(level_horizontal))||(Float.isNaN(level_vertical))));
222 public float getLevel(LevelArea area)
225 if (area == LevelArea.LEVEL_HORIZONTAL)
227 value = level_horizontal;
229 else // if (area == LevelArea.LEVEL_VERTICAL)
231 value = level_vertical;
241 public int getLevelColor(float value)
243 value = Math.abs(value);
245 if (value < LEVELGAUGE_THRESHOLD_MIDDLE)
247 return (Color.GREEN);
249 if (value > LEVELGAUGE_THRESHOLD_OVER)
253 return (Color.YELLOW);
261 public IMessageDrawer getMessageDrawer()