From 61c9924aec9f7cbf6287b86d73b96e0252055d5e Mon Sep 17 00:00:00 2001
From: Vasilis Platanias <azathothgr@gmail.com>
Date: Mon, 13 Sep 2010 17:03:34 +0300
Subject: [PATCH] Draw small plus sign when brush bigger than cursor

---
 gui/cursor.py |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/gui/cursor.py b/gui/cursor.py
index 999b938..409b50f 100644
--- a/gui/cursor.py
+++ b/gui/cursor.py
@@ -26,6 +26,7 @@ def get_brush_cursor(radius, is_eraser):
         radius += 1
 
     d = int(radius)*2
+    is_bigger = False # set if bigger than max, draw small plus sign
     if d < 6: d = 6
     if is_eraser and d < 8: d = 8
     if bulky:
@@ -33,6 +34,7 @@ def get_brush_cursor(radius, is_eraser):
         if is_eraser and d < 10: d = 10
     if d+1 > max_cursor_size:
         d = max_cursor_size-1
+        is_bigger = True
     cursor_info = (d, is_eraser)
     if cursor_info != last_cursor_info:
         last_cursor_info = cursor_info
@@ -50,6 +52,10 @@ def get_brush_cursor(radius, is_eraser):
         if bulky:
             cursor.draw_arc(bgc, False, 2, 2, d-4, d-4, 0, 360*64)
 
+        if is_bigger:
+            cursor.draw_line(bgc, d-5, d-3, d-1, d-3)
+            cursor.draw_line(bgc, d-3, d-5, d-3, d-1)
+
         bgc = mask.new_gc(foreground=black)
         wgc = mask.new_gc(foreground=white)
         mask.draw_rectangle(bgc, True, 0, 0, d+1, d+1)
@@ -64,6 +70,14 @@ def get_brush_cursor(radius, is_eraser):
             mask.draw_rectangle(bgc, True, d/2-thickness, 0, 2*thickness+1, d+1)
             mask.draw_rectangle(bgc, True, 0, d/2-thickness, d+1, 2*thickness+1)
 
+        if is_bigger:
+            mask.draw_polygon(wgc, True, ((d-4, d-6), (d-1, d-6),\
+                                          (d-1, d-4), (d+1, d-4),\
+                                          (d+1, d-1), (d-1, d-1),\
+                                          (d-1, d+1), (d-4, d+1),\
+                                          (d-4, d-1), (d-6, d-1),\
+                                          (d-6, d-4), (d-4, d-4)) )
+
         last_cursor = gdk.Cursor(cursor,mask,gdk.color_parse('black'), gdk.color_parse('white'),(d+1)/2,(d+1)/2)
 
     return last_cursor
-- 
1.7.0.4

