package com.handstudio.android.hzgrapherlib.canvas; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.RectF; import com.handstudio.android.hzgrapherlib.util.MatrixTranslator; /** * GraphCanvasWrapper class for drawing on traslate matrix (x coordinate) * @author realwind */ public class GraphCanvasWrapper{ private MatrixTranslator mMt; private Canvas mCanvas; public GraphCanvasWrapper(Canvas canvas, int width, int height, int paddingLeft, int paddingBottom) { mMt = new MatrixTranslator(width, height, paddingLeft, paddingBottom); mCanvas = canvas; } public Canvas getCanvas(){ return mCanvas; } public void drawCircle(float cx, float cy, float radius, Paint paint) { mCanvas.drawCircle(mMt.calcX(cx), mMt.calcY(cy), radius, paint); } public void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint) { if(mCanvas != null) mCanvas.drawArc(oval, startAngle, sweepAngle, true, paint); } public void drawRect(float startX, float startY, float stopX, float stopY, Paint paint) { mCanvas.drawRect(mMt.calcX(startX), mMt.calcY(startY), mMt.calcX(stopX), mMt.calcY(stopY), paint); } public void drawLine(float startX, float startY, float stopX, float stopY, Paint paint) { mCanvas.drawLine(mMt.calcX(startX), mMt.calcY(startY), mMt.calcX(stopX), mMt.calcY(stopY), paint); } public void drawText(String text, float x, float y, Paint paint){ mCanvas.drawText(text, mMt.calcX(x), mMt.calcY(y), paint); } public void drawBitmapIcon(Bitmap bitmap, float left, float top, Paint paint){ mCanvas.drawBitmap(bitmap, mMt.calcBitmapCenterX(bitmap, left), mMt.calcBitmapCenterY(bitmap, top), paint); } }