Android Open Source - Android-Charts Stick Mole






From Project

Back to project page Android-Charts.

License

The source code is released under:

Apache License??Version 2.0, January 2004??http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and condi...

If you think the Android project Android-Charts listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * StickMole.java//from   w  w  w . j a  v a  2 s  . co  m
 * Android-Charts
 *
 * Created by limc on 2014.
 *
 * Copyright 2011 limc.cn All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


package cn.limc.androidcharts.mole;

import cn.limc.androidcharts.common.IChart;
import cn.limc.androidcharts.entity.IMeasurable;
import cn.limc.androidcharts.view.DataGridChart;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;

/** 
 * <p>en</p>
 * <p>jp</p>
 * <p>cn</p>
 *
 * @author limc 
 * @version v1.0 2014/06/19 16:39:05 
 *  
 */
public abstract class StickMole extends RectMole {

  public static final int DEFAULT_STICK_SPACING = 1;
  public static final int DEFAULT_STICK_STROKE_WIDTH = 0;
  
  /**
   * <p>
   * default color for display stick border
   * </p>
   * <p>
   * ???????????????????????????
   * </p>
   * <p>
   * ?????????????
   * </p>
   */
  public static final int DEFAULT_STICK_BORDER_COLOR = Color.YELLOW;

  /**
   * <p>
   * default color for display stick
   * </p>
   * <p>
   * ????????????????????
   * </p>
   * <p>
   * ?????????????
   * </p>
   */
  public static final int DEFAULT_STICK_FILL_COLOR = Color.WHITE;

  /**
   * <p>
   * Color for display stick border
   * </p>
   * <p>
   * ??????????????????
   * </p>
   * <p>
   * ???????????
   * </p>
   */
  protected int stickBorderColor = DEFAULT_STICK_BORDER_COLOR;

  /**
   * <p>
   * Color for display stick
   * </p>
   * <p>
   * ???????????
   * </p>
   * <p>
   * ???????????
   * </p>
   */
  protected int stickFillColor = DEFAULT_STICK_FILL_COLOR;
  
  protected int stickStrokeWidth = DEFAULT_STICK_STROKE_WIDTH;
  protected int stickSpacing = DEFAULT_STICK_SPACING;
  
  private IMeasurable stickData;
  
  /** 
   * <p>Constructor of StickMole</p>
   * <p>StickMole????????</p>
   * <p>StickMole???????????</p>
   *
   * @param inRect 
   */
  public void setUp(IChart chart ,IMeasurable data, float from , float width) {
    super.setUp(chart);
    this.setPro();
    setStickData(data);
    left = from;
    right = from + width - stickSpacing;
  }
  
  /* (non-Javadoc)
   * 
   * @param canvase 
   * @see cn.limc.androidcharts.mole.IMole#draw(android.graphics.Canvas) 
   */
  public void draw(Canvas canvas) {  
    Paint mPaintFill = new Paint();
    mPaintFill.setStyle(Style.FILL);
    mPaintFill.setColor(stickFillColor);
    
    if (width() >= 2f && width() >= 2 * stickStrokeWidth) {
      if (stickStrokeWidth  > 0) {
        Paint mPaintBorder = new Paint();
        mPaintBorder.setStyle(Style.STROKE);
        mPaintBorder.setStrokeWidth(stickStrokeWidth);
        mPaintBorder.setColor(stickBorderColor);
        
        canvas.drawRect(left + stickStrokeWidth, top + stickStrokeWidth, right - stickStrokeWidth, bottom - stickStrokeWidth, mPaintFill);
        canvas.drawRect(left + stickStrokeWidth, top + stickStrokeWidth, right - stickStrokeWidth, bottom - stickStrokeWidth, mPaintBorder);
      }else{
        canvas.drawRect(left, top, right, bottom, mPaintFill);
      }
    } else {
      canvas.drawLine(left, top, left, bottom, mPaintFill);  
    }
  }

  /**
   * @return the stickData
   */
  public IMeasurable getStickData() {
    return stickData;
  }

  /**
   * @param stickData the stickData to set
   */
  public void setStickData(IMeasurable stickData) {
    this.stickData = stickData;
    DataGridChart chart = (DataGridChart)getInChart();
    float highY = (float) ((1f - (stickData.getHigh() - chart.getMinValue()) / (chart.getMaxValue() - chart.getMinValue()))
        * (chart.getDataQuadrant().getQuadrantPaddingHeight()) + chart.getDataQuadrant().getQuadrantPaddingStartY());
    float lowY = (float) ((1f - (stickData.getLow() - chart.getMinValue()) / (chart.getMaxValue() - chart.getMinValue()))
        * (chart.getDataQuadrant().getQuadrantPaddingHeight()) + chart.getDataQuadrant().getQuadrantPaddingStartY());
    
    top = highY;
    bottom = lowY;
  }
  
  public abstract void setPro();
}




Java Source Code List

cn.limc.androidcharts.AndroidChartsActivity.java
cn.limc.androidcharts.common.Axis.java
cn.limc.androidcharts.common.ChartRender.java
cn.limc.androidcharts.common.CrossLines.java
cn.limc.androidcharts.common.HorizontalAxis.java
cn.limc.androidcharts.common.IAxis.java
cn.limc.androidcharts.common.IChart.java
cn.limc.androidcharts.common.ICrossLines.java
cn.limc.androidcharts.common.IDataCursor.java
cn.limc.androidcharts.common.IFlexableGrid.java
cn.limc.androidcharts.common.IGrid.java
cn.limc.androidcharts.common.IQuadrant.java
cn.limc.androidcharts.common.IRender.java
cn.limc.androidcharts.common.Quadrant.java
cn.limc.androidcharts.common.SectionDataCursor.java
cn.limc.androidcharts.common.SimpleDataCursor.java
cn.limc.androidcharts.common.VerticalAxis.java
cn.limc.androidcharts.entity.ColoredStickEntity.java
cn.limc.androidcharts.entity.DateValueEntity.java
cn.limc.androidcharts.entity.IChartData.java
cn.limc.androidcharts.entity.IEntity.java
cn.limc.androidcharts.entity.IHasColor.java
cn.limc.androidcharts.entity.IHasDate.java
cn.limc.androidcharts.entity.IMeasurable.java
cn.limc.androidcharts.entity.IStickEntity.java
cn.limc.androidcharts.entity.LineEntity.java
cn.limc.androidcharts.entity.ListChartData.java
cn.limc.androidcharts.entity.MACDEntity.java
cn.limc.androidcharts.entity.OHLCEntity.java
cn.limc.androidcharts.entity.StickEntity.java
cn.limc.androidcharts.entity.TitleValueColorEntity.java
cn.limc.androidcharts.entity.TitleValueEntity.java
cn.limc.androidcharts.event.IDisplayCursorListener.java
cn.limc.androidcharts.event.IGestureDetector.java
cn.limc.androidcharts.event.ISlipable.java
cn.limc.androidcharts.event.ITouchable.java
cn.limc.androidcharts.event.IZoomable.java
cn.limc.androidcharts.event.OnSlipGestureListener.java
cn.limc.androidcharts.event.OnTouchGestureListener.java
cn.limc.androidcharts.event.OnZoomGestureListener.java
cn.limc.androidcharts.event.SlipGestureDetector.java
cn.limc.androidcharts.event.TouchGestureDetector.java
cn.limc.androidcharts.event.ZoomGestureDetector.java
cn.limc.androidcharts.mole.AbstractMole.java
cn.limc.androidcharts.mole.IMoleProvider.java
cn.limc.androidcharts.mole.IMole.java
cn.limc.androidcharts.mole.RectMole.java
cn.limc.androidcharts.mole.StickMole.java
cn.limc.androidcharts.view.AbstractBaseChart.java
cn.limc.androidcharts.view.BOLLMASlipCandleStickChart.java
cn.limc.androidcharts.view.CandleStickChart.java
cn.limc.androidcharts.view.ColoredSlipStickChart.java
cn.limc.androidcharts.view.DataGridChart.java
cn.limc.androidcharts.view.GridChart.java
cn.limc.androidcharts.view.LineChart.java
cn.limc.androidcharts.view.MACDChart.java
cn.limc.androidcharts.view.MACandleStickChart.java
cn.limc.androidcharts.view.MASlipCandleStickChart.java
cn.limc.androidcharts.view.MASlipStickChart.java
cn.limc.androidcharts.view.MAStickChart.java
cn.limc.androidcharts.view.MinusStickChart.java
cn.limc.androidcharts.view.PeriodDataGridChart.java
cn.limc.androidcharts.view.PieChart.java
cn.limc.androidcharts.view.RadarChart.java
cn.limc.androidcharts.view.RoseChart.java
cn.limc.androidcharts.view.RoundChart.java
cn.limc.androidcharts.view.SlipAreaChart.java
cn.limc.androidcharts.view.SlipBandAreaChart.java
cn.limc.androidcharts.view.SlipCandleStickChart.java
cn.limc.androidcharts.view.SlipLineChart.java
cn.limc.androidcharts.view.SlipMinusStickChart.java
cn.limc.androidcharts.view.SlipStickChart.java
cn.limc.androidcharts.view.SpiderWebChart.java
cn.limc.androidcharts.view.StickChart.java