def paintIcon(self, g2): rectangleSize = self.size - self.PADDING * 2 ticklen = rectangleSize * 0.3 g2.drawRect(self.PADDING, self.PADDING, rectangleSize, rectangleSize) # Double sided diagonal arrow arrowpad = self.PADDING + self.STROKE_WIDTH + 1 rectangleSize = self.size - arrowpad * 2 path = GeneralPath() # ticks path.moveTo(arrowpad, rectangleSize + arrowpad) path.lineTo(arrowpad, rectangleSize + arrowpad - ticklen) path.moveTo(arrowpad, rectangleSize + arrowpad) path.lineTo(arrowpad + ticklen, rectangleSize + arrowpad) # line path.moveTo(arrowpad, rectangleSize + arrowpad) path.lineTo(rectangleSize + arrowpad, arrowpad) # ticks path.lineTo(rectangleSize + arrowpad, arrowpad + ticklen) path.moveTo(rectangleSize + arrowpad, arrowpad) path.lineTo(rectangleSize + arrowpad - ticklen, arrowpad) g2.draw(path)
def paintIcon(self, g2): rectangleSize = self.size - self.PADDING path = GeneralPath() path.moveTo(self.PADDING, self.PADDING) path.lineTo(rectangleSize, rectangleSize) path.moveTo(self.PADDING, rectangleSize) path.lineTo(rectangleSize, self.PADDING) g2.draw(path)
def addShapes(ShapeDB): from java.awt.geom import GeneralPath from java.awt import Polygon import jarray xpoints = jarray.array((10,5,0,5),'i') ypoints = jarray.array((5,10,5,0),'i') diamond = Polygon(xpoints,ypoints,4); shapeDB.addShape(104,diamond) xpoints = jarray.array((55, 67, 109, 73, 83, 55, 27, 37, 1, 43),'i') ypoints = jarray.array((0, 36, 36, 54, 96, 72, 96, 54, 36, 36),'i') star = Polygon(xpoints,ypoints,10) shapeDB.addShape(105,star) triangle = GeneralPath() triangle.moveTo(5,0) triangle.lineTo(10,5) triangle.lineTo(0,5) triangle.lineTo(5,0) shapeDB.addShape(106,triangle)
class SHornUI(PolygonTileUI): def __init__(self, t, n): self.preTransform = t self.n = n PolygonTileUI.__init__(self, Color(210, 83, 185), t) self.initialiseGraphics() def initialiseGraphics(self): wiggle=CubicCurve2D.Double(0, 0, 0.3, -0.3, 0.7, 0.3, 1, 0) reverseWiggle=CubicCurve2D.Double(1, 0, 0.7, 0.3, 0.3, -0.3, 0, 0) self.polygonalTilePath = GeneralPath() self.polygonalTilePath.append(wiggle, 1) self.polygonalTilePath.lineTo(math.cos(math.pi / self.n), math.sin(math.pi / self.n)) t = AffineTransform.getRotateInstance(math.pi / self.n) wiggle2 = GeneralPath(reverseWiggle) wiggle2.transform(t) self.polygonalTilePath.append(wiggle2, 1) self.polygonalTilePath.closePath() self.polygonalTilePath.transform(self.preTransform)
class Star(): def __init__(self, radius, color): self.color = color self.setSize(radius) def setSize(self, size): # First triangle, size is radius of circumcircle, center at (0,0) self.tri1 = GeneralPath() self.tri1.moveTo(size, 0) self.tri1.lineTo(int(-0.5 * size), int(0.866 * size)) self.tri1.lineTo(int(-0.5 * size), int(-0.866 * size)) self.tri1.closePath() # Second triangle like first, but rotated 180 degrees self.tri2 = self.tri1.clone() t = AffineTransform() t.rotate(math.pi) self.tri2.transform(t) def turn(self, angle): t = AffineTransform() t.rotate(angle) self.tri1.transform(t) self.tri2.transform(t) def showAt(self, mx, my): bg.setPaintColor(self.color) t = AffineTransform() t.translate(mx, -50 + my % 650) # Restrict to playground # Cloning to avoid side effects gp1 = self.tri1.clone() gp2 = self.tri2.clone() gp1.transform(t) gp2.transform(t) bg.fillGeneralPath(gp1) bg.fillGeneralPath(gp2)
def paintIcon(self, g2): rectangleSize = self.size - self.PADDING * 2.0 path = GeneralPath() path.moveTo(self.PADDING, rectangleSize / 2.0 + self.PADDING) path.lineTo(rectangleSize + self.PADDING, rectangleSize / 2.0 + self.PADDING) # up tick path.lineTo(rectangleSize / 1.5 + self.PADDING, self.PADDING * 2) # down tick path.moveTo(rectangleSize + self.PADDING, rectangleSize / 2.0 + self.PADDING) path.lineTo(rectangleSize / 1.5 + self.PADDING, rectangleSize) g2.draw(path)
def paintIcon(self, g2): rectangleSize = self.size - self.PADDING * 2 # Line g2.drawLine(self.PADDING, rectangleSize + self.PADDING, rectangleSize + self.PADDING, rectangleSize + self.PADDING) # Arrow path = GeneralPath() path.moveTo(rectangleSize / 2.0 + self.PADDING, rectangleSize) path.lineTo(rectangleSize / 2.0 + self.PADDING, self.PADDING) # left tick path.lineTo(self.PADDING * 2, (self.size / 2.0) - 1) # right tick path.moveTo(rectangleSize / 2.0 + self.PADDING, self.PADDING) path.lineTo(rectangleSize, (self.size / 2.0) - 1) g2.draw(path)
from java.awt.geom import GeneralPath from java.awt import Polygon import jarray xpoints = jarray.array((10,5,0,5),'i') ypoints = jarray.array((5,10,5,0),'i') diamond = Polygon(xpoints,ypoints,4); shapeDB.addShape(104,diamond) xpoints = jarray.array((55, 67, 109, 73, 83, 55, 27, 37, 1, 43),'i') ypoints = jarray.array((0, 36, 36, 54, 96, 72, 96, 54, 36, 36),'i') star = Polygon(xpoints,ypoints,10) shapeDB.addShape(105,star) triangle = GeneralPath() triangle.moveTo(5,0) triangle.lineTo(10,5) triangle.lineTo(0,5) triangle.lineTo(5,0) shapeDB.addShape(106,triangle)