public abstract class Widget extends java.lang.Object implements BoxModelable, Resizable
Modifier and Type | Class and Description |
---|---|
static class |
Widget.Rotation |
Constructor and Description |
---|
Widget(LayoutManager layoutManager,
Size size) |
Widget(LayoutManager layoutManager,
SizeMetric heightMetric,
SizeMetric widthMetric) |
Modifier and Type | Method and Description |
---|---|
protected android.graphics.RectF |
applyRotation(android.graphics.Canvas canvas,
android.graphics.RectF rect) |
boolean |
containsPoint(android.graphics.PointF point)
Determines whether or not point lies within this Widget.
|
protected abstract void |
doOnDraw(android.graphics.Canvas canvas,
android.graphics.RectF widgetRect) |
void |
draw(android.graphics.Canvas canvas) |
protected void |
drawBackground(android.graphics.Canvas canvas,
android.graphics.RectF widgetRect) |
protected void |
drawBorder(android.graphics.Canvas canvas,
android.graphics.RectF paddedRect) |
Anchor |
getAnchor() |
static android.graphics.PointF |
getAnchorCoordinates(float x,
float y,
float width,
float height,
Anchor anchor) |
static android.graphics.PointF |
getAnchorCoordinates(android.graphics.RectF widgetRect,
Anchor anchor) |
static android.graphics.PointF |
getAnchorOffset(float width,
float height,
Anchor anchor) |
android.graphics.Paint |
getBackgroundPaint() |
android.graphics.Paint |
getBorderPaint() |
android.graphics.PointF |
getElementCoordinates(float height,
float width,
android.graphics.RectF viewRect,
PositionMetrics metrics) |
SizeMetric |
getHeightMetric() |
float |
getHeightPix(float size) |
android.graphics.RectF |
getMarginatedRect(android.graphics.RectF widgetRect)
Returns a RectF instance describing the inner edge of the margin layer.
|
float |
getMarginBottom() |
float |
getMarginLeft() |
float |
getMarginRight() |
float |
getMarginTop() |
android.graphics.RectF |
getPaddedRect(android.graphics.RectF widgetMarginRect)
Returns a RectF instance describing the inner edge of the padding layer.
|
float |
getPaddingBottom() |
float |
getPaddingLeft() |
float |
getPaddingRight() |
float |
getPaddingTop() |
PositionMetrics |
getPositionMetrics() |
Widget.Rotation |
getRotation() |
Size |
getSize() |
DisplayDimensions |
getWidgetDimensions() |
SizeMetric |
getWidthMetric() |
float |
getWidthPix(float size) |
boolean |
isClippingEnabled() |
boolean |
isVisible() |
void |
layout(DisplayDimensions plotDimensions)
Called when a change to the class' dimensions is made.
|
protected void |
onMetricsChanged(Size oldSize,
Size newSize)
Can be overridden by subclasses to respond to resizing events.
|
void |
onPostInit()
Can be overridden by subclasses to handle any final resizing etc.
|
void |
position(float x,
HorizontalPositioning horizontalPositioning,
float y,
VerticalPositioning verticalPositioning)
Same as
position(float, HorizontalPositioning, float, VerticalPositioning, Anchor)
but with the anchor parameter defaulted to the upper left corner. |
void |
position(float x,
HorizontalPositioning horizontalPositioning,
float y,
VerticalPositioning verticalPositioning,
Anchor anchor) |
void |
refreshLayout()
Causes the pixel dimensions used for rendering this Widget
to be recalculated.
|
void |
setAnchor(Anchor anchor) |
void |
setBackgroundPaint(android.graphics.Paint backgroundPaint) |
void |
setBorderPaint(android.graphics.Paint borderPaint) |
void |
setClippingEnabled(boolean clippingEnabled) |
void |
setHeight(float height) |
void |
setHeight(float height,
SizeMode layoutType) |
void |
setMarginBottom(float marginBottom) |
void |
setMarginLeft(float marginLeft) |
void |
setMarginRight(float marginRight) |
void |
setMargins(float left,
float top,
float right,
float bottom) |
void |
setMarginTop(float marginTop) |
void |
setPadding(float left,
float top,
float right,
float bottom) |
void |
setPaddingBottom(float paddingBottom) |
void |
setPaddingLeft(float paddingLeft) |
void |
setPaddingRight(float paddingRight) |
void |
setPaddingTop(float paddingTop) |
void |
setPositionMetrics(PositionMetrics positionMetrics) |
void |
setRotation(Widget.Rotation rotation) |
void |
setSize(Size size) |
void |
setVisible(boolean visible) |
void |
setWidth(float width) |
void |
setWidth(float width,
SizeMode layoutType) |
public Widget(LayoutManager layoutManager, SizeMetric heightMetric, SizeMetric widthMetric)
public Widget(LayoutManager layoutManager, Size size)
public DisplayDimensions getWidgetDimensions()
public Anchor getAnchor()
public void setAnchor(Anchor anchor)
public void position(float x, HorizontalPositioning horizontalPositioning, float y, VerticalPositioning verticalPositioning)
position(float, HorizontalPositioning, float, VerticalPositioning, Anchor)
but with the anchor parameter defaulted to the upper left corner.x
- horizontalPositioning
- y
- verticalPositioning
- public void position(float x, HorizontalPositioning horizontalPositioning, float y, VerticalPositioning verticalPositioning, Anchor anchor)
x
- X-Coordinate of the top left corner of element. When using RELATIVE, must be a value between 0 and 1.horizontalPositioning
- LayoutType to use when orienting this element's X-Coordinate.y
- Y_VALS_ONLY-Coordinate of the top-left corner of element. When using RELATIVE, must be a value between 0 and 1.verticalPositioning
- LayoutType to use when orienting this element's Y_VALS_ONLY-Coordinate.anchor
- The point of reference used by this positioning call.protected void onMetricsChanged(Size oldSize, Size newSize)
oldSize
- newSize
- public void onPostInit()
public boolean containsPoint(android.graphics.PointF point)
point
- public void setSize(Size size)
public Size getSize()
public void setWidth(float width)
public void setWidth(float width, SizeMode layoutType)
public void setHeight(float height)
public void setHeight(float height, SizeMode layoutType)
public SizeMetric getWidthMetric()
public SizeMetric getHeightMetric()
public float getWidthPix(float size)
public float getHeightPix(float size)
public android.graphics.RectF getMarginatedRect(android.graphics.RectF widgetRect)
BoxModelable
getMarginatedRect
in interface BoxModelable
public android.graphics.RectF getPaddedRect(android.graphics.RectF widgetMarginRect)
BoxModelable
getPaddedRect
in interface BoxModelable
public void setMarginRight(float marginRight)
setMarginRight
in interface BoxModelable
public void setMargins(float left, float top, float right, float bottom)
setMargins
in interface BoxModelable
public void setPadding(float left, float top, float right, float bottom)
setPadding
in interface BoxModelable
public float getMarginTop()
getMarginTop
in interface BoxModelable
public void setMarginTop(float marginTop)
setMarginTop
in interface BoxModelable
public float getMarginBottom()
getMarginBottom
in interface BoxModelable
public float getPaddingLeft()
getPaddingLeft
in interface BoxModelable
public void setPaddingLeft(float paddingLeft)
setPaddingLeft
in interface BoxModelable
public float getPaddingTop()
getPaddingTop
in interface BoxModelable
public void setPaddingTop(float paddingTop)
setPaddingTop
in interface BoxModelable
public float getPaddingRight()
getPaddingRight
in interface BoxModelable
public void setPaddingRight(float paddingRight)
setPaddingRight
in interface BoxModelable
public float getPaddingBottom()
getPaddingBottom
in interface BoxModelable
public void setPaddingBottom(float paddingBottom)
setPaddingBottom
in interface BoxModelable
public void setMarginBottom(float marginBottom)
setMarginBottom
in interface BoxModelable
public float getMarginLeft()
getMarginLeft
in interface BoxModelable
public void setMarginLeft(float marginLeft)
setMarginLeft
in interface BoxModelable
public float getMarginRight()
getMarginRight
in interface BoxModelable
public void refreshLayout()
public void layout(DisplayDimensions plotDimensions)
Resizable
public android.graphics.PointF getElementCoordinates(float height, float width, android.graphics.RectF viewRect, PositionMetrics metrics)
public static android.graphics.PointF getAnchorOffset(float width, float height, Anchor anchor)
public static android.graphics.PointF getAnchorCoordinates(android.graphics.RectF widgetRect, Anchor anchor)
public static android.graphics.PointF getAnchorCoordinates(float x, float y, float width, float height, Anchor anchor)
public void draw(android.graphics.Canvas canvas) throws PlotRenderException
PlotRenderException
protected android.graphics.RectF applyRotation(android.graphics.Canvas canvas, android.graphics.RectF rect)
protected void drawBorder(android.graphics.Canvas canvas, android.graphics.RectF paddedRect)
protected void drawBackground(android.graphics.Canvas canvas, android.graphics.RectF widgetRect)
protected abstract void doOnDraw(android.graphics.Canvas canvas, android.graphics.RectF widgetRect) throws PlotRenderException
canvas
- The Canvas to draw ontowidgetRect
- the size and coordinates of this widgetPlotRenderException
public android.graphics.Paint getBorderPaint()
public void setBorderPaint(android.graphics.Paint borderPaint)
public android.graphics.Paint getBackgroundPaint()
public void setBackgroundPaint(android.graphics.Paint backgroundPaint)
public boolean isClippingEnabled()
public void setClippingEnabled(boolean clippingEnabled)
public boolean isVisible()
public void setVisible(boolean visible)
public PositionMetrics getPositionMetrics()
public void setPositionMetrics(PositionMetrics positionMetrics)
public Widget.Rotation getRotation()
public void setRotation(Widget.Rotation rotation)