summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/layoutlib/bridge/src/android/graphics/Canvas.java60
1 files changed, 32 insertions, 28 deletions
diff --git a/tools/layoutlib/bridge/src/android/graphics/Canvas.java b/tools/layoutlib/bridge/src/android/graphics/Canvas.java
index 9f4dfd0..c49e11e 100644
--- a/tools/layoutlib/bridge/src/android/graphics/Canvas.java
+++ b/tools/layoutlib/bridge/src/android/graphics/Canvas.java
@@ -784,23 +784,25 @@ public class Canvas extends _Original_Canvas {
private final void doDrawRect(int left, int top, int width, int height, Paint paint) {
// get current graphisc
- Graphics2D g = getGraphics2d();
+ if (width != 0 && height != 0) {
+ Graphics2D g = getGraphics2d();
- g = getNewGraphics(paint, g);
+ g = getNewGraphics(paint, g);
- Style style = paint.getStyle();
+ Style style = paint.getStyle();
- // draw
- if (style == Style.FILL || style == Style.FILL_AND_STROKE) {
- g.fillRect(left, top, width, height);
- }
+ // draw
+ if (style == Style.FILL || style == Style.FILL_AND_STROKE) {
+ g.fillRect(left, top, width, height);
+ }
- if (style == Style.STROKE || style == Style.FILL_AND_STROKE) {
- g.drawRect(left, top, width, height);
- }
+ if (style == Style.STROKE || style == Style.FILL_AND_STROKE) {
+ g.drawRect(left, top, width, height);
+ }
- // dispose Graphics2D object
- g.dispose();
+ // dispose Graphics2D object
+ g.dispose();
+ }
}
/* (non-Javadoc)
@@ -809,29 +811,31 @@ public class Canvas extends _Original_Canvas {
@Override
public void drawRoundRect(RectF rect, float rx, float ry, Paint paint) {
// get current graphisc
- Graphics2D g = getGraphics2d();
+ if (rect.width() != 0 && rect.height() != 0) {
+ Graphics2D g = getGraphics2d();
- g = getNewGraphics(paint, g);
+ g = getNewGraphics(paint, g);
- Style style = paint.getStyle();
+ Style style = paint.getStyle();
- // draw
+ // draw
- int arcWidth = (int)(rx * 2);
- int arcHeight = (int)(ry * 2);
+ int arcWidth = (int)(rx * 2);
+ int arcHeight = (int)(ry * 2);
- if (style == Style.FILL || style == Style.FILL_AND_STROKE) {
- g.fillRoundRect((int)rect.left, (int)rect.top, (int)rect.width(), (int)rect.height(),
- arcWidth, arcHeight);
- }
+ if (style == Style.FILL || style == Style.FILL_AND_STROKE) {
+ g.fillRoundRect((int)rect.left, (int)rect.top, (int)rect.width(), (int)rect.height(),
+ arcWidth, arcHeight);
+ }
- if (style == Style.STROKE || style == Style.FILL_AND_STROKE) {
- g.drawRoundRect((int)rect.left, (int)rect.top, (int)rect.width(), (int)rect.height(),
- arcWidth, arcHeight);
- }
+ if (style == Style.STROKE || style == Style.FILL_AND_STROKE) {
+ g.drawRoundRect((int)rect.left, (int)rect.top, (int)rect.width(), (int)rect.height(),
+ arcWidth, arcHeight);
+ }
- // dispose Graphics2D object
- g.dispose();
+ // dispose Graphics2D object
+ g.dispose();
+ }
}