ADT/Layoutlib: don't draw 0-sized rectangle, AWT doesn't like that.

Change-Id: I298d00208ace2421478c5864cc5a66a508b2b411
This commit is contained in:
Xavier Ducrohet
2010-01-14 18:37:21 -08:00
parent 240298f9e4
commit 89d538dcca

View File

@@ -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);
}
// 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 @@ 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);
}
// 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();
}