diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:32:34 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:32:34 -0800 |
commit | afc4ab2ffbb8327ddce9907961295a32cbf49d0f (patch) | |
tree | 64baf0ce0e3c9fb39cc086994dbe9805b74e5bca /src/com/android/settings/battery_history/GraphableButton.java | |
parent | 4e14e5ccbf1ef27220419849133d482a546d5c04 (diff) | |
download | packages_apps_Settings-afc4ab2ffbb8327ddce9907961295a32cbf49d0f.zip packages_apps_Settings-afc4ab2ffbb8327ddce9907961295a32cbf49d0f.tar.gz packages_apps_Settings-afc4ab2ffbb8327ddce9907961295a32cbf49d0f.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'src/com/android/settings/battery_history/GraphableButton.java')
-rw-r--r-- | src/com/android/settings/battery_history/GraphableButton.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/com/android/settings/battery_history/GraphableButton.java b/src/com/android/settings/battery_history/GraphableButton.java new file mode 100644 index 0000000..39028d0 --- /dev/null +++ b/src/com/android/settings/battery_history/GraphableButton.java @@ -0,0 +1,55 @@ +package com.android.settings.battery_history; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.util.Log; +import android.widget.Button; + +public class GraphableButton extends Button { + private static final String TAG = "GraphableButton"; + + static Paint[] sPaint = new Paint[2]; + static { + sPaint[0] = new Paint(); + sPaint[0].setStyle(Paint.Style.FILL); + sPaint[0].setColor(Color.BLUE); + + sPaint[1] = new Paint(); + sPaint[1].setStyle(Paint.Style.FILL); + sPaint[1].setColor(Color.RED); + } + + double[] mValues; + + public GraphableButton(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public void setValues(double[] values, double maxValue) { + mValues = values.clone(); + for (int i = 0; i < values.length; i++) { + mValues[i] /= maxValue; + } + } + + @Override + public void onDraw(Canvas canvas) { + Log.i(TAG, "onDraw: w = " + getWidth() + ", h = " + getHeight()); + + int xmin = getPaddingLeft(); + int xmax = getWidth() - getPaddingRight(); + int ymin = getPaddingTop(); + int ymax = getHeight() - getPaddingBottom(); + + int startx = xmin; + for (int i = 0; i < mValues.length; i++) { + int endx = xmin + (int) (mValues[i] * (xmax - xmin)); + canvas.drawRect(startx, ymin, endx, ymax, sPaint[i]); + startx = endx; + } + super.onDraw(canvas); + } +} |