kopia lustrzana https://github.com/villares/sketch-a-day
72 wiersze
1.8 KiB
Python
72 wiersze
1.8 KiB
Python
add_library('pdf')
|
|
linhas = []
|
|
divisoes = 5
|
|
salvar_pdf = False
|
|
ponto_clique = []
|
|
|
|
def setup():
|
|
size(500, 500)
|
|
|
|
def draw():
|
|
if salvar_pdf:
|
|
beginRecord(PDF, "####.pdf")
|
|
|
|
stroke(255) # traço branco
|
|
strokeWeight(10) # espessura do traço ("peso")
|
|
mh, mv = width / 2, height / 2
|
|
translate(mh, mv)
|
|
background(0, 128, 32) # verde (mude a sua cor!)
|
|
|
|
for num in range(divisoes):
|
|
rotate(radians(360. / divisoes))
|
|
for linha in linhas:
|
|
x1, y1, x2, y2 = linha
|
|
line(x1 - mh, y1 - mv, x2 - mh, y2 - mv)
|
|
scale(1, -1)
|
|
line(x1 - mh, y1 - mv, x2 - mh, y2 - mv)
|
|
scale(1, -1)
|
|
|
|
if salvar_pdf:
|
|
endRecord()
|
|
global salvar_pdf
|
|
salvar_pdf = False
|
|
|
|
if ponto_clique:
|
|
for num in range(divisoes):
|
|
rotate(radians(360 / divisoes))
|
|
line(ponto_clique[0] - mh, ponto_clique[1] - mv,
|
|
mouseX - mh, mouseY - mv)
|
|
scale(1, -1)
|
|
line(ponto_clique[0] - mh, ponto_clique[1] - mv,
|
|
mouseX - mh, mouseY - mv)
|
|
scale(1, -1)
|
|
|
|
def mousePressed(): # def mouseDragged():
|
|
if ponto_clique:
|
|
px, py = ponto_clique
|
|
linhas.append((px, py, mouseX, mouseY))
|
|
if mouseButton == LEFT:
|
|
ponto_clique[:] = mouseX, mouseY
|
|
elif mouseButton == RIGHT:
|
|
ponto_clique[:] = []
|
|
|
|
def keyPressed():
|
|
global salvar_pdf, divisoes
|
|
|
|
if key == "a":
|
|
linhas[:] = [] # esvazia lista de linhas
|
|
ponto_clique[:] = []
|
|
if key == "g":
|
|
saveFrame("#####.png")
|
|
print("salvando PNG")
|
|
if key == "p":
|
|
salvar_pdf = True
|
|
print("salvando PDF")
|
|
if key == BACKSPACE and linhas:
|
|
linhas.pop()
|
|
if key == "-" and divisoes > 2:
|
|
divisoes -= 1
|
|
if key == "+" or key == "=":
|
|
divisoes += 1
|
|
|