summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2010-01-14 18:37:21 -0800
committerXavier Ducrohet <xav@android.com>2010-01-14 18:38:06 -0800
commit89d538dcca9a4cb95682c56b0c4b85e8a77442be (patch)
treea5fb9a78417586bede94af8360d86692cf3064cb /tools
parent240298f9e4542c487edd0337e84b50c493cbeecd (diff)
downloadframeworks_base-89d538dcca9a4cb95682c56b0c4b85e8a77442be.zip
frameworks_base-89d538dcca9a4cb95682c56b0c4b85e8a77442be.tar.gz
frameworks_base-89d538dcca9a4cb95682c56b0c4b85e8a77442be.tar.bz2
ADT/Layoutlib: don't draw 0-sized rectangle, AWT doesn't like that.
Change-Id: I298d00208ace2421478c5864cc5a66a508b2b411
Diffstat (limited to 'tools')
-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();
+ }
}