protected void paintIcon(Component c, Graphics g, int x1, int y1, int x2, int y2) { GraphicsUtil.drawOptimizedLine(g, x1, y1, x2, y1); GraphicsUtil.drawOptimizedLine(g, x1, y1 + 1, x2, y1 + 1); GraphicsUtil.drawOptimizedLine(g, x1, y1 + 2, x1, y2); GraphicsUtil.drawOptimizedLine(g, x2, y1 + 2, x2, y2); GraphicsUtil.drawOptimizedLine(g, x1 + 1, y2, x2 - 1, y2); }
protected void paintPolygon(Component c, Graphics2D g, Polygon polygon, int width, int height) { TabbedPanel tp = TabbedUtils.getParentTabbedPanel(c); if (tp != null) { Direction d = tp.getProperties().getTabAreaOrientation(); int i = 0; Color c1 = topLeftColor.getColor(); Color c2 = bottomRightColor.getColor(); if (d == Direction.UP) { g.setColor(c1); while (i < (roundCorners ? 3 : 1)) { GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[i + 1], polygon.ypoints[i + 1]); i++; } g.setColor(c2); while (i < polygon.npoints - 1) { GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[i + 1], polygon.ypoints[i + 1]); i++; } g.setColor(c1); GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[0], polygon.ypoints[0]); } else if (d == Direction.RIGHT) { g.setColor(c2); while (i < polygon.npoints - (open ? 2 : roundCorners ? 3 : 2)) { GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[i + 1], polygon.ypoints[i + 1]); i++; } g.setColor(c1); for (int k = i - 1; k < polygon.npoints - 2; k++) { GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[i + 1], polygon.ypoints[i + 1]); i++; } GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[0], polygon.ypoints[0]); } else if (d == Direction.DOWN) { g.setColor(c2); while (i < (roundCorners ? 5 : 2)) { GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[i + 1], polygon.ypoints[i + 1]); i++; } g.setColor(c1); while (i < polygon.npoints - 1) { GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[i + 1], polygon.ypoints[i + 1]); i++; } GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[0], polygon.ypoints[0]); } else { g.setColor(c1); while (i < (roundCorners ? 3 : 1)) { GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[i + 1], polygon.ypoints[i + 1]); i++; } g.setColor(c2); while (i < polygon.npoints - 1) { GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[i + 1], polygon.ypoints[i + 1]); i++; } g.setColor(c1); GraphicsUtil.drawOptimizedLine( g, polygon.xpoints[i], polygon.ypoints[i], polygon.xpoints[0], polygon.ypoints[0]); } } }