am 38fa9eee: am 89d538dc: ADT/Layoutlib: don\'t draw 0-sized rectangle, AWT doesn\'t like that.
Merge commit '38fa9eee9324b2355f28372e80dba12c1d7cc105'
* commit '38fa9eee9324b2355f28372e80dba12c1d7cc105':
ADT/Layoutlib: don't draw 0-sized rectangle, AWT doesn't like that.
diff --git a/bridge/src/android/graphics/Canvas.java b/bridge/src/android/graphics/Canvas.java
index 9f4dfd0..c49e11e 100644
--- a/bridge/src/android/graphics/Canvas.java
+++ b/bridge/src/android/graphics/Canvas.java
@@ -784,23 +784,25 @@
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);
+ }
+
+ // dispose Graphics2D object
+ g.dispose();
}
-
- if (style == Style.STROKE || style == Style.FILL_AND_STROKE) {
- g.drawRect(left, top, width, height);
- }
-
- // dispose Graphics2D object
- g.dispose();
}
/* (non-Javadoc)
@@ -809,29 +811,31 @@
@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);
+ }
+
+ // dispose Graphics2D object
+ g.dispose();
}
-
- 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();
}