public class XYGraphWidget extends Widget
Modifier and Type | Class and Description |
---|---|
static interface |
XYGraphWidget.CursorLabelFormatter |
static class |
XYGraphWidget.Edge |
static class |
XYGraphWidget.LineLabelRenderer |
static class |
XYGraphWidget.LineLabelStyle |
Widget.Rotation
Constructor and Description |
---|
XYGraphWidget(LayoutManager layoutManager,
XYPlot plot,
Size size) |
Modifier and Type | Method and Description |
---|---|
boolean |
containsPoint(float x,
float y)
Checks whether the point exists within the visible grid space.
|
protected void |
doOnDraw(android.graphics.Canvas canvas,
android.graphics.RectF widgetRect) |
protected void |
drawCursorLabel(android.graphics.Canvas canvas) |
protected void |
drawCursors(android.graphics.Canvas canvas) |
protected void |
drawData(android.graphics.Canvas canvas)
Draws lines and points for each element in the series.
|
protected void |
drawDomainLine(android.graphics.Canvas canvas,
float xPix,
java.lang.Number xVal,
android.graphics.Paint linePaint,
boolean isOrigin) |
protected void |
drawGrid(android.graphics.Canvas canvas)
Draws the grid and domain/range labels for the plot.
|
protected void |
drawGridBackground(android.graphics.Canvas canvas) |
protected void |
drawLineLabel(android.graphics.Canvas canvas,
XYGraphWidget.Edge edge,
java.lang.Number val,
float x,
float y,
boolean isOrigin) |
protected void |
drawMarkers(android.graphics.Canvas canvas) |
protected void |
drawPoint(android.graphics.Canvas canvas,
android.graphics.PointF point,
android.graphics.Paint paint) |
protected void |
drawRangeLine(android.graphics.Canvas canvas,
float yPix,
java.lang.Number yVal,
android.graphics.Paint linePaint,
boolean isOrigin) |
XYGraphWidget.CursorLabelFormatter |
getCursorLabelFormatter() |
protected java.util.Map<XYGraphWidget.Edge,XYGraphWidget.LineLabelRenderer> |
getDefaultLineLabelRenderers() |
protected java.util.Map<XYGraphWidget.Edge,XYGraphWidget.LineLabelStyle> |
getDefaultLineLabelStyles() |
android.graphics.Paint |
getDomainCursorPaint() |
java.lang.Float |
getDomainCursorPosition() |
java.lang.Number |
getDomainCursorVal() |
android.graphics.Paint |
getDomainGridLinePaint()
Get the paint used to draw the domain grid line.
|
android.graphics.Paint |
getDomainOriginLinePaint() |
android.graphics.Paint |
getDomainSubGridLinePaint()
Get the paint used to draw the domain grid line.
|
android.graphics.Paint |
getGridBackgroundPaint() |
Insets |
getGridInsets()
Grid insets
|
android.graphics.RectF |
getGridRect() |
android.graphics.RectF |
getLabelRect() |
float |
getLineExtensionBottom() |
float |
getLineExtensionLeft() |
float |
getLineExtensionRight() |
float |
getLineExtensionTop() |
Insets |
getLineLabelInsets()
Domain / Range label insets
|
XYGraphWidget.LineLabelRenderer |
getLineLabelRenderer(XYGraphWidget.Edge edge) |
XYGraphWidget.LineLabelStyle |
getLineLabelStyle(XYGraphWidget.Edge edge) |
int |
getLinesPerDomainLabel() |
int |
getLinesPerRangeLabel() |
android.graphics.Paint |
getRangeCursorPaint() |
java.lang.Float |
getRangeCursorPosition() |
java.lang.Number |
getRangeCursorVal() |
android.graphics.Paint |
getRangeGridLinePaint()
Get the paint used to draw the range grid line.
|
android.graphics.Paint |
getRangeOriginLinePaint() |
android.graphics.Paint |
getRangeSubGridLinePaint()
Get the paint used to draw the range grid line.
|
boolean |
isDrawGridOnTop() |
boolean |
isDrawMarkersEnabled() |
boolean |
isGridClippingEnabled() |
boolean |
isLineLabelEnabled(XYGraphWidget.Edge position) |
void |
processAttrs(android.content.res.TypedArray attrs)
Apply xml attrs
|
protected XYCoords |
screenToSeries(android.graphics.PointF point)
Convenience method.
|
protected java.lang.Number |
screenToSeriesX(float xPix)
Converts an x pixel into an x value.
|
protected java.lang.Number |
screenToSeriesX(android.graphics.PointF point)
Convenience method.
|
protected java.lang.Number |
screenToSeriesY(float yPix)
Converts a y pixel to a y value.
|
protected java.lang.Number |
screenToSeriesY(android.graphics.PointF point)
Convenience method.
|
protected android.graphics.PointF |
seriesToScreen(XYCoords xy) |
protected float |
seriesToScreenX(java.lang.Number x) |
protected float |
seriesToScreenY(java.lang.Number y) |
void |
setCursorLabelFormatter(XYGraphWidget.CursorLabelFormatter cursorLabelFormatter) |
void |
setCursorPosition(java.lang.Float x,
java.lang.Float y)
Set domain and range cursor position using screen coordinates
|
void |
setCursorPosition(android.graphics.PointF point)
Set domain and range cursor position using screen coordinates
|
void |
setDomainCursorPaint(android.graphics.Paint domainCursorPaint) |
void |
setDomainCursorPosition(java.lang.Float domainCursorPosition)
Set domain cursor position using screen coordinates
|
void |
setDomainGridLinePaint(android.graphics.Paint gridLinePaint)
Set the paint used to draw the domain grid line.
|
void |
setDomainOriginLinePaint(android.graphics.Paint domainOriginLinePaint) |
void |
setDomainSubGridLinePaint(android.graphics.Paint gridLinePaint)
Set the paint used to draw the domain grid line.
|
void |
setDrawGridOnTop(boolean drawGridOnTop) |
void |
setDrawMarkersEnabled(boolean drawMarkersEnabled) |
void |
setGridBackgroundPaint(android.graphics.Paint gridBackgroundPaint) |
void |
setGridClippingEnabled(boolean gridClippingEnabled) |
void |
setGridInsets(Insets gridInsets) |
void |
setGridRect(android.graphics.RectF gridRect) |
void |
setLabelRect(android.graphics.RectF labelRect) |
void |
setLineExtensionBottom(float lineExtensionBottom) |
void |
setLineExtensionLeft(float lineExtensionLeft) |
void |
setLineExtensionRight(float lineExtensionRight) |
void |
setLineExtensionTop(float lineExtensionTop) |
void |
setLineLabelEdges(java.util.Collection<XYGraphWidget.Edge> positions) |
protected void |
setLineLabelEdges(int bitfield) |
void |
setLineLabelEdges(XYGraphWidget.Edge... positions) |
void |
setLineLabelInsets(Insets lineLabelInsets) |
void |
setLineLabelRenderer(XYGraphWidget.Edge edge,
XYGraphWidget.LineLabelRenderer renderer) |
void |
setLineLabelStyle(XYGraphWidget.Edge edge,
XYGraphWidget.LineLabelStyle style) |
void |
setLinesPerDomainLabel(int linesPerDomainLabel) |
void |
setLinesPerRangeLabel(int linesPerRangeLabel) |
void |
setRangeCursorPaint(android.graphics.Paint rangeCursorPaint) |
void |
setRangeCursorPosition(java.lang.Float rangeCursorPosition)
Set range cursor position using screen coordinates
|
void |
setRangeGridLinePaint(android.graphics.Paint gridLinePaint)
Set the Paint used to draw the range grid line.
|
void |
setRangeOriginLinePaint(android.graphics.Paint rangeOriginLinePaint) |
void |
setRangeSubGridLinePaint(android.graphics.Paint gridLinePaint)
Set the Paint used to draw the range grid line.
|
applyRotation, containsPoint, draw, drawBackground, drawBorder, getAnchor, getAnchorCoordinates, getAnchorCoordinates, getAnchorOffset, getBackgroundPaint, getBorderPaint, getElementCoordinates, getHeightMetric, getHeightPix, getMarginatedRect, getMarginBottom, getMarginLeft, getMarginRight, getMarginTop, getPaddedRect, getPaddingBottom, getPaddingLeft, getPaddingRight, getPaddingTop, getPositionMetrics, getRotation, getSize, getWidgetDimensions, getWidthMetric, getWidthPix, isClippingEnabled, isVisible, layout, onMetricsChanged, onPostInit, position, position, refreshLayout, setAnchor, setBackgroundPaint, setBorderPaint, setClippingEnabled, setHeight, setHeight, setMarginBottom, setMarginLeft, setMarginRight, setMargins, setMarginTop, setPadding, setPaddingBottom, setPaddingLeft, setPaddingRight, setPaddingTop, setPositionMetrics, setRotation, setSize, setVisible, setWidth, setWidth
public XYGraphWidget(LayoutManager layoutManager, XYPlot plot, Size size)
public void processAttrs(android.content.res.TypedArray attrs)
attrs
- protected XYCoords screenToSeries(android.graphics.PointF point)
point
- protected java.lang.Number screenToSeriesX(android.graphics.PointF point)
point
- protected java.lang.Number screenToSeriesY(android.graphics.PointF point)
point
- protected java.lang.Number screenToSeriesX(float xPix)
xPix
- protected java.lang.Number screenToSeriesY(float yPix)
yPix
- protected android.graphics.PointF seriesToScreen(XYCoords xy)
protected float seriesToScreenX(java.lang.Number x)
protected float seriesToScreenY(java.lang.Number y)
protected void doOnDraw(android.graphics.Canvas canvas, android.graphics.RectF widgetRect) throws PlotRenderException
doOnDraw
in class Widget
canvas
- The Canvas to draw ontowidgetRect
- the size and coordinates of this widgetPlotRenderException
protected void drawDomainLine(android.graphics.Canvas canvas, float xPix, java.lang.Number xVal, android.graphics.Paint linePaint, boolean isOrigin)
protected void drawRangeLine(android.graphics.Canvas canvas, float yPix, java.lang.Number yVal, android.graphics.Paint linePaint, boolean isOrigin)
protected void drawLineLabel(android.graphics.Canvas canvas, XYGraphWidget.Edge edge, java.lang.Number val, float x, float y, boolean isOrigin)
protected void drawGrid(android.graphics.Canvas canvas)
canvas
- protected void drawMarkers(android.graphics.Canvas canvas)
protected void drawCursors(android.graphics.Canvas canvas)
protected void drawCursorLabel(android.graphics.Canvas canvas)
protected void drawGridBackground(android.graphics.Canvas canvas)
protected void drawData(android.graphics.Canvas canvas) throws PlotRenderException
canvas
- PlotRenderException
protected void drawPoint(android.graphics.Canvas canvas, android.graphics.PointF point, android.graphics.Paint paint)
public android.graphics.Paint getGridBackgroundPaint()
public void setGridBackgroundPaint(android.graphics.Paint gridBackgroundPaint)
public android.graphics.Paint getDomainGridLinePaint()
public void setDomainGridLinePaint(android.graphics.Paint gridLinePaint)
gridLinePaint
- public android.graphics.Paint getRangeGridLinePaint()
public android.graphics.Paint getDomainSubGridLinePaint()
public void setDomainSubGridLinePaint(android.graphics.Paint gridLinePaint)
gridLinePaint
- public void setRangeGridLinePaint(android.graphics.Paint gridLinePaint)
gridLinePaint
- public android.graphics.Paint getRangeSubGridLinePaint()
public void setRangeSubGridLinePaint(android.graphics.Paint gridLinePaint)
gridLinePaint
- public int getLinesPerRangeLabel()
public void setLinesPerRangeLabel(int linesPerRangeLabel)
public int getLinesPerDomainLabel()
public void setLinesPerDomainLabel(int linesPerDomainLabel)
public android.graphics.Paint getDomainOriginLinePaint()
public void setDomainOriginLinePaint(android.graphics.Paint domainOriginLinePaint)
public android.graphics.Paint getRangeOriginLinePaint()
public void setRangeOriginLinePaint(android.graphics.Paint rangeOriginLinePaint)
public void setCursorPosition(java.lang.Float x, java.lang.Float y)
x
- y
- public void setCursorPosition(android.graphics.PointF point)
point
- public java.lang.Float getDomainCursorPosition()
public java.lang.Number getDomainCursorVal()
public void setDomainCursorPosition(java.lang.Float domainCursorPosition)
domainCursorPosition
- public java.lang.Float getRangeCursorPosition()
public java.lang.Number getRangeCursorVal()
public void setRangeCursorPosition(java.lang.Float rangeCursorPosition)
rangeCursorPosition
- public boolean isDrawGridOnTop()
public void setDrawGridOnTop(boolean drawGridOnTop)
public boolean isDrawMarkersEnabled()
public void setDrawMarkersEnabled(boolean drawMarkersEnabled)
public android.graphics.Paint getDomainCursorPaint()
public void setDomainCursorPaint(android.graphics.Paint domainCursorPaint)
domainCursorPaint
- The Paint
used to draw the domain cursor line.
Set to null (default) to disable.public android.graphics.Paint getRangeCursorPaint()
public void setRangeCursorPaint(android.graphics.Paint rangeCursorPaint)
rangeCursorPaint
- The Paint
used to draw the range cursor line.
Set to null (default) to disable.public float getLineExtensionTop()
public void setLineExtensionTop(float lineExtensionTop)
public float getLineExtensionBottom()
public void setLineExtensionBottom(float lineExtensionBottom)
public float getLineExtensionLeft()
public void setLineExtensionLeft(float lineExtensionLeft)
public float getLineExtensionRight()
public void setLineExtensionRight(float lineExtensionRight)
protected java.util.Map<XYGraphWidget.Edge,XYGraphWidget.LineLabelStyle> getDefaultLineLabelStyles()
protected java.util.Map<XYGraphWidget.Edge,XYGraphWidget.LineLabelRenderer> getDefaultLineLabelRenderers()
public XYGraphWidget.LineLabelRenderer getLineLabelRenderer(XYGraphWidget.Edge edge)
public void setLineLabelRenderer(XYGraphWidget.Edge edge, XYGraphWidget.LineLabelRenderer renderer)
public XYGraphWidget.LineLabelStyle getLineLabelStyle(XYGraphWidget.Edge edge)
public void setLineLabelStyle(XYGraphWidget.Edge edge, XYGraphWidget.LineLabelStyle style)
public XYGraphWidget.CursorLabelFormatter getCursorLabelFormatter()
public void setCursorLabelFormatter(XYGraphWidget.CursorLabelFormatter cursorLabelFormatter)
public Insets getGridInsets()
public void setGridInsets(Insets gridInsets)
public Insets getLineLabelInsets()
public void setLineLabelInsets(Insets lineLabelInsets)
public android.graphics.RectF getGridRect()
public void setGridRect(android.graphics.RectF gridRect)
public android.graphics.RectF getLabelRect()
public void setLabelRect(android.graphics.RectF labelRect)
public boolean isGridClippingEnabled()
public void setGridClippingEnabled(boolean gridClippingEnabled)
public boolean isLineLabelEnabled(XYGraphWidget.Edge position)
public void setLineLabelEdges(XYGraphWidget.Edge... positions)
public void setLineLabelEdges(java.util.Collection<XYGraphWidget.Edge> positions)
protected void setLineLabelEdges(int bitfield)
public boolean containsPoint(float x, float y)
x
- y
-