XYChart.java 文件源码

java
阅读 22 收藏 0 点赞 0 评论 0

项目:achartengine 作者:
/**
 * Draws the series.
 * 
 * @param series the series
 * @param canvas the canvas
 * @param paint the paint object
 * @param pointsList the points to be rendered
 * @param seriesRenderer the series renderer
 * @param yAxisValue the y axis value in pixels
 * @param seriesIndex the series index
 * @param or the orientation
 * @param startIndex the start index of the rendering points
 */
protected void drawSeries(XYSeries series, Canvas canvas, Paint paint, List<Float> pointsList,
    XYSeriesRenderer seriesRenderer, float yAxisValue, int seriesIndex, Orientation or,
    int startIndex) {
  BasicStroke stroke = seriesRenderer.getStroke();
  Cap cap = paint.getStrokeCap();
  Join join = paint.getStrokeJoin();
  float miter = paint.getStrokeMiter();
  PathEffect pathEffect = paint.getPathEffect();
  Style style = paint.getStyle();
  if (stroke != null) {
    PathEffect effect = null;
    if (stroke.getIntervals() != null) {
      effect = new DashPathEffect(stroke.getIntervals(), stroke.getPhase());
    }
    setStroke(stroke.getCap(), stroke.getJoin(), stroke.getMiter(), Style.FILL_AND_STROKE,
        effect, paint);
  }
  // float[] points = MathHelper.getFloats(pointsList);
  drawSeries(canvas, paint, pointsList, seriesRenderer, yAxisValue, seriesIndex, startIndex);
  drawPoints(canvas, paint, pointsList, seriesRenderer, yAxisValue, seriesIndex, startIndex);
  paint.setTextSize(seriesRenderer.getChartValuesTextSize());
  if (or == Orientation.HORIZONTAL) {
    paint.setTextAlign(Align.CENTER);
  } else {
    paint.setTextAlign(Align.LEFT);
  }
  if (seriesRenderer.isDisplayChartValues()) {
    paint.setTextAlign(seriesRenderer.getChartValuesTextAlign());
    drawChartValuesText(canvas, series, seriesRenderer, paint, pointsList, seriesIndex,
        startIndex);
  }
  if (stroke != null) {
    setStroke(cap, join, miter, style, pathEffect, paint);
  }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号