[Dextrose] [PATCH v2 PaintActivity] New suggestion for arrow drawing in Paint
Gonzalo Odiard
gonzalo at laptop.org
Thu Oct 21 09:00:38 EDT 2010
Can you test with pep8 (missing whitespace after ',' ;missing whitespace
around operator, etc) and attach to the ticket?
Gonzalo
On Thu, Oct 21, 2010 at 2:20 PM, Anurag Chowdhury <anurag at seeta.in> wrote:
> In the paint activity's shape tool we were able to make only horizontal
> arrows,
> so now we have modified the arrow tool which will now make arrows in all
> directions.
> ---
> Desenho.py | 27 ++++++++++++++++++---------
> 1 files changed, 18 insertions(+), 9 deletions(-)
>
> v1->v2 :Removed the vertical-arrow tool and modified the arrow tool to
> enable
> drawing arrows in all directions.
>
> diff --git a/Desenho.py b/Desenho.py
> index 3be1910..5057a27 100644
> --- a/Desenho.py
> +++ b/Desenho.py
> @@ -294,18 +294,27 @@ class Desenho:
>
> x = coords[0] - widget.oldx
> y = coords[1] - widget.oldy
> - points = [(widget.oldx, widget.oldy),\
> - (widget.oldx + int(x / 6), widget.oldy + y), \
> - (widget.oldx + int(x / 6), widget.oldy + int(y / 3)), \
> - (widget.oldx + x, widget.oldy + int(y / 3)), \
> - (widget.oldx + x, widget.oldy - int(y / 3)), \
> - (widget.oldx + int(x / 6), widget.oldy - int(y / 3)),\
> - (widget.oldx + int(x / 6), widget.oldy - y)]
> + A = math.atan2(y,x)
> + dA = 2*math.pi/2
> + r = math.hypot(y,x)
> + m = math.sin(A)
> + p = [(widget.oldx,widget.oldy),\
> +
> (widget.oldx+int(r*math.cos(A)),widget.oldy+int(r*math.sin(A))),\
> + (widget.oldx+int(0.74*r*math.cos(A+dA/6)),\
> + widget.oldy+int(0.74*r*math.sin(A+dA/6)))]
> + p.append((widget.oldx,widget.oldy))
> + p.append((widget.oldx+int(0.74*r*math.cos(A+dA/6)),\
> + widget.oldy+int(0.74*r*math.sin(A+dA/6))))
> + p.append((widget.oldx+int(2*r*math.cos(A+dA/6+dA/20)),\
> + widget.oldy+int(2*r*math.sin(A+dA/6+dA/20))))
> + p.append((widget.oldx+int(2*r*math.cos(A+dA/6-dA/20+dA/6)),\
> + widget.oldy+int(2*r*math.sin(A+dA/6-dA/20+dA/6))))
> + p.append((widget.oldx+int(0.74*r*math.cos(A+dA/6+dA/6)),\
> + widget.oldy+int(0.74*r*math.sin(A+dA/6+dA/6))))
> + p.append((widget.oldx,widget.oldy))
> + p.append((widget.oldx+int(0.74*r*math.cos(A+dA/6+dA/6)),\
> + widget.oldy+int(0.74*r*math.sin(A+dA/6+dA/6))))
> + p.append((widget.oldx+int(r*math.cos(A+dA/2)),\
> + widget.oldy+int(r*math.sin(A+dA/2))))
> pixmap.draw_drawable(widget.gc, widget.pixmap, 0, 0, 0, 0,
> width, height)
> + tp = tuple(p)
> if fill == True:
> - pixmap.draw_polygon(widget.gc, True, points)
> - pixmap.draw_polygon(widget.gc_line, False, points)
> + pixmap.draw_polygon(widget.gc, True, tp)
> + pixmap.draw_polygon(widget.gc_line, False, tp)
> widget.queue_draw()
>
> def parallelogram(self, widget, coords, temp, fill):
> --
> 1.7.2.3
>
> _______________________________________________
> Dextrose mailing list
> Dextrose at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/dextrose
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/dextrose/attachments/20101021/2d68d797/attachment-0001.html>
More information about the Dextrose
mailing list