Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Area.py
diff options
context:
space:
mode:
authorManuel QuiƱones <manuel.por.aca@gmail.com>2011-04-20 20:57:01 (GMT)
committer Manuel QuiƱones <manuel.por.aca@gmail.com>2011-04-20 20:57:01 (GMT)
commit770303d919ad089ee442c02fb856fca43c5aa773 (patch)
treeed59e1dc8c9f65aa9ae2bfa5e351e93d8139c034 /Area.py
parentb66d0f4fa4230fea32dbee8aedfeb213f75c1cf6 (diff)
Stamp border shows while stamping
Diffstat (limited to 'Area.py')
-rw-r--r--Area.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/Area.py b/Area.py
index 9081fa7..7f49a63 100644
--- a/Area.py
+++ b/Area.py
@@ -290,11 +290,16 @@ class Area(gtk.DrawingArea):
if not self.drawing:
size = self.tool['line size']
- # TODO draw stamp border in widget.window
- # if self.tool['name'] == 'stamp':
- # pass
-
- if self.tool['line shape'] == 'circle':
+ # draw stamp border in widget.window
+ if self.tool['name'] == 'stamp':
+ w = self.pixbuf_stamp.get_width()
+ h = self.pixbuf_stamp.get_height()
+ wr, hr = size, int(size * h * 1.0 / w)
+ widget.window.draw_rectangle(self.gc_brush, False,
+ self.x_cursor - wr / 2, self.y_cursor - hr / 2,
+ wr, hr)
+
+ elif self.tool['line shape'] == 'circle':
widget.window.draw_arc(self.gc_brush, False,
self.x_cursor - size / 2, self.y_cursor - size / 2,
size, size, 0, 360 * 64)
@@ -510,7 +515,7 @@ class Area(gtk.DrawingArea):
self.configure_line(self.tool['line size'])
self.d.heart(widget, coords, True, self.tool['fill'])
else:
- if self.tool['name'] in ['brush', 'eraser', 'rainbow', 'pencil']:
+ if self.tool['name'] in ['brush', 'eraser', 'rainbow', 'stamp', 'pencil']:
widget.queue_draw()
if self.tool['name'] == 'marquee-rectangular' and self.selmove:
size = self.pixmap_sel.get_size()
@@ -630,7 +635,7 @@ class Area(gtk.DrawingArea):
self.d.heart(widget, coords, False, self.tool['fill'])
self.enableUndo(widget)
- if self.tool['name'] in ['brush', 'eraser', 'stamp', 'rainbow', 'pencil']:
+ if self.tool['name'] in ['brush', 'eraser', 'rainbow', 'pencil', 'stamp']:
self.last = []
widget.queue_draw()
self.enableUndo(widget)
@@ -638,14 +643,14 @@ class Area(gtk.DrawingArea):
self.desenha = False
def mouseleave(self, widget, event):
- if self.tool['name'] in ['pencil', 'eraser', 'brush', 'rainbow']:
+ if self.tool['name'] in ['pencil', 'eraser', 'brush', 'stamp', 'rainbow']:
self.drawing = True
size = self.tool['line size']
widget.queue_draw_area(self.x_cursor - size, self.y_cursor - size,
size * 2, size * 2)
def mouseenter(self, widget, event):
- if self.tool['name'] in ['pencil', 'eraser', 'brush', 'rainbow']:
+ if self.tool['name'] in ['pencil', 'eraser', 'brush', 'stamp', 'rainbow']:
self.drawing = False
size = self.tool['line size']
widget.queue_draw_area(self.x_cursor - size, self.y_cursor - size,
@@ -1383,7 +1388,7 @@ class Area(gtk.DrawingArea):
widget.queue_draw()
def change_line_size(self, delta):
- if self.tool['name'] in ['pencil', 'eraser', 'brush', 'rainbow']:
+ if self.tool['name'] in ['pencil', 'eraser', 'brush', 'rainbow', 'stamp']:
size = self.tool['line size'] + delta
if size < 1:
size = 1