package com.skypine.df.ui.backcar;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class ReverseCarTrackView extends View
{
/**
* 杞ㄨ抗绾块鑹�
*/
private static final int colorTrack = 0xFFe88b4c;
/**
* 鍩哄噯绾块鑹�
*/
private static final int midColor = 0xFF008b4c;
private Install_ParameterTdef param = new Install_ParameterTdef();
private static List<XYpoint> xylistLeft = new ArrayList<XYpoint>();
private static List<XYpoint> xylistRight = new ArrayList<XYpoint>();
private static double PI = ((double) 3.1415926535897);
private static int Video_N = 0;
private static int Video_P = 1;
private static int Video_MAX = 2;
private int Distance = 500;// 鍙幇瀹炵殑璺濈鍗曚綅cm
private int Num = 51;
private int mAngel = 25;
private int mCalibration = 0;
private boolean mCaliTrackShow = false;
private static Paint revFlagColor = new Paint();
private static Paint revTrackColor = new Paint();
private static Paint revMidColor = new Paint();
private int mFlagWidth = 40;// 鍗曚綅cm
private double[] mFlagScale = { 1, 0.8, 0.64, 0.512, 0.4, 0.32 };// 鍗曚綅cm
// 妯嚎涓暟
private int pointCount = (Num - 1) / (Distance / 100);
private int mtotalPoint = (Distance / 100) + 1;
public static int mScreenYBias = 28;// 杞ㄨ抗鏄剧ず鍦ㄥ睆骞曚笂鐨刌杞村亸绉�
public static final int LEVEL_DATA_LEFT = -10;// 瀵逛簬涓績杞寸殑鍋忕Щ璺濈锛屽崟浣峜m
public static final int LEVEL_DATA_MIDDLE = 0;
public static final int LEVEL_DATA_RIGHT = 10;
public static final int ANGLE_MIN_VALUE = -40;
public static final int ANGLE_MAX_VALUE = 40;
public ReverseCarTrackView(Context context)
{
super(context);
initData();
initPaint();
}
public ReverseCarTrackView(Context context, AttributeSet attrs)
{
super(context, attrs);
TypedArray typeArray = context.obtainStyledAttributes(attrs,
R.styleable.ReverseTrack);
mAngel = typeArray.getInt(R.styleable.ReverseTrack_wheelangle, mAngel);
mCalibration = typeArray.getInt(
R.styleable.ReverseTrack_wheelcalibration, mCalibration);
mCaliTrackShow = typeArray.getBoolean(
R.styleable.ReverseTrack_wheelshowtrack, mCaliTrackShow);
typeArray.recycle();
initData();
initPaint();
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
canvas.save();
boolean bHardware = canvas.isHardwareAccelerated();
if (bHardware)
{
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
onDrawUIFinal(canvas);
canvas.restore();
}
private void onDrawUIFinal(Canvas canvas)
{
GetXYListFinal(Distance, Num, mAngel, param, canvas);
}
/**
* 鍒濆鍖栫敾绗旈鑹�
*/
private void initPaint()
{
revFlagColor.setColor(colorTrack);