From 33b24e85c4b48622f901186e87f7ee53cd3af8b0 Mon Sep 17 00:00:00 2001
From: Mathieu L Bouchard <matju@artengine.ca>
Date: Wed, 6 Aug 2014 17:45:57 -0400
Subject: [PATCH] fix last commit (4th refactor)

---
 pd/src/g_all_guis.c | 4 ++--
 pd/src/g_all_guis.h | 2 +-
 pd/src/g_bang.c     | 3 ++-
 pd/src/g_hdial.c    | 3 ++-
 pd/src/g_hslider.c  | 3 ++-
 pd/src/g_mycanvas.c | 3 ++-
 pd/src/g_numbox.c   | 3 ++-
 pd/src/g_toggle.c   | 3 ++-
 pd/src/g_vdial.c    | 3 ++-
 pd/src/g_vslider.c  | 3 ++-
 pd/src/g_vumeter.c  | 3 ++-
 11 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/pd/src/g_all_guis.c b/pd/src/g_all_guis.c
index d0b34989f..9bfdf505b 100644
--- a/pd/src/g_all_guis.c
+++ b/pd/src/g_all_guis.c
@@ -950,9 +950,9 @@ const char *nlet_tag, const char *class_tag) {
     h->h_vis = 1;
 }
 
-void scalehandle_draw_select2(t_iemgui *x, t_glist *canvas, const char *class_tag) {
+void scalehandle_draw_select2(t_iemgui *x, t_glist *canvas, const char *class_tag, int sx, int sy) {
     char *nlet_tag = iem_get_tag(canvas, (t_iemgui *)x);
-    scalehandle_draw_select(x->x_handle,canvas,x->x_w-1,x->x_h-1,nlet_tag,class_tag);
+    scalehandle_draw_select(x->x_handle,canvas,sx,sy,nlet_tag,class_tag);
     if (strcmp(x->x_lab->s_name, "empty") != 0)
     {
         scalehandle_draw_select(x->x_lhandle,canvas,x->x_ldx,x->x_ldy,nlet_tag,class_tag);
diff --git a/pd/src/g_all_guis.h b/pd/src/g_all_guis.h
index 2ff856009..e28f90d0d 100644
--- a/pd/src/g_all_guis.h
+++ b/pd/src/g_all_guis.h
@@ -405,7 +405,7 @@ EXTERN void canvas_apply_setundo(t_canvas *x, t_gobj *y);
 // scalehandle code, as refactored by Mathieu
 EXTERN void scalehandle_bind(t_scalehandle *h);
 EXTERN void scalehandle_draw_select(t_scalehandle *h, t_glist *canvas, int px, int py, const char *nlet_tag, const char *class_tag);
-EXTERN void scalehandle_draw_select2(t_iemgui *x, t_glist *canvas, const char *class_tag);
+EXTERN void scalehandle_draw_select2(t_iemgui *x, t_glist *canvas, const char *class_tag, int sx, int sy);
 EXTERN void scalehandle_draw_erase(t_scalehandle *h, t_glist *canvas);
 EXTERN void scalehandle_draw_erase2(t_iemgui *x, t_glist *canvas);
 EXTERN void scalehandle_draw_new(t_scalehandle *x, t_glist *canvas);
diff --git a/pd/src/g_bang.c b/pd/src/g_bang.c
index 807294b0b..ffa17069f 100644
--- a/pd/src/g_bang.c
+++ b/pd/src/g_bang.c
@@ -237,7 +237,8 @@ void bng_draw_select(t_bng* x, t_glist* glist)
                      "-stroke $pd_colors(selection)\n", canvas, x);
             sys_vgui(".x%lx.c itemconfigure %lxLABEL "
                      "-fill $pd_colors(selection)\n", canvas, x);
-            scalehandle_draw_select2(&x->x_gui,glist,"BNG");
+            scalehandle_draw_select2(&x->x_gui,glist,"BNG",
+                x->x_gui.x_w-1,x->x_gui.x_h-1);
         }
         sys_vgui(".x%lx.c addtag selected withtag %lxBNG\n", canvas, x);
     }
diff --git a/pd/src/g_hdial.c b/pd/src/g_hdial.c
index de08254d4..0d8eb8798 100644
--- a/pd/src/g_hdial.c
+++ b/pd/src/g_hdial.c
@@ -257,7 +257,8 @@ void hradio_draw_select(t_hradio* x, t_glist* glist)
                 }
                 sys_vgui(".x%lx.c itemconfigure %lxLABEL "
                          "-fill $pd_colors(selection)\n", canvas, x);
-                scalehandle_draw_select2(&x->x_gui,glist,"HRDO");
+                scalehandle_draw_select2(&x->x_gui,glist,"HRDO",
+                    x->x_gui.x_w*x->x_number-1,x->x_gui.x_h-1);
             }
             sys_vgui(".x%lx.c addtag selected withtag %lxHRDO\n", canvas, x);
         }
diff --git a/pd/src/g_hslider.c b/pd/src/g_hslider.c
index 3f8e79196..2b780888b 100644
--- a/pd/src/g_hslider.c
+++ b/pd/src/g_hslider.c
@@ -238,7 +238,8 @@ static void hslider_draw_select(t_hslider* x,t_glist* glist)
                          "-stroke $pd_colors(selection)\n", canvas, x);
                 sys_vgui(".x%lx.c itemconfigure %lxLABEL "
                          "-fill $pd_colors(selection)\n", canvas, x);
-                scalehandle_draw_select2(&x->x_gui,glist,"HSLDR");
+                scalehandle_draw_select2(&x->x_gui,glist,"HSLDR",
+                    x->x_gui.x_w+5-1,x->x_gui.x_h-1);
             }
             sys_vgui(".x%lx.c addtag selected withtag %lxHSLDR\n", canvas, x);
         }
diff --git a/pd/src/g_mycanvas.c b/pd/src/g_mycanvas.c
index 08984e69c..c75243efd 100644
--- a/pd/src/g_mycanvas.c
+++ b/pd/src/g_mycanvas.c
@@ -144,7 +144,8 @@ void my_canvas_draw_select(t_my_canvas* x, t_glist* glist)
                 char *nlet_tag = iem_get_tag(glist, (t_iemgui *)x);
                 sys_vgui(".x%lx.c itemconfigure %lxBASE "
                          "-stroke $pd_colors(selection)\n", canvas, x);
-                scalehandle_draw_select2(&x->x_gui,glist,"MYCNV");
+                scalehandle_draw_select2(&x->x_gui,glist,"MYCNV",
+                    x->x_vis_w,x->x_vis_h);
             }
             sys_vgui(".x%lx.c addtag selected withtag %lxMYCNV\n", canvas, x);
         }
diff --git a/pd/src/g_numbox.c b/pd/src/g_numbox.c
index 5423423fc..bced2fdbc 100644
--- a/pd/src/g_numbox.c
+++ b/pd/src/g_numbox.c
@@ -458,7 +458,8 @@ static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist)
                          "-stroke $pd_colors(selection)\n", canvas, x, x);
                 sys_vgui(".x%lx.c itemconfigure {%lxLABEL||%lxNUMBER} "
                          "-fill $pd_colors(selection)\n", canvas, x, x);
-                scalehandle_draw_select2(&x->x_gui,glist,"NUM");
+                scalehandle_draw_select2(&x->x_gui,glist,"NUM",
+                    x->x_numwidth-1,x->x_gui.x_h-1);
             }
             sys_vgui(".x%lx.c addtag selected withtag %lxNUM\n", canvas, x);
         }
diff --git a/pd/src/g_toggle.c b/pd/src/g_toggle.c
index e8869bb58..067b6c33b 100644
--- a/pd/src/g_toggle.c
+++ b/pd/src/g_toggle.c
@@ -259,7 +259,8 @@ void toggle_draw_select(t_toggle* x, t_glist* glist)
                          "-stroke $pd_colors(selection)\n", canvas, x);
                 sys_vgui(".x%lx.c itemconfigure %lxLABEL "
                          "-fill $pd_colors(selection)\n", canvas, x);
-                scalehandle_draw_select2(&x->x_gui,glist,"TGL");
+                scalehandle_draw_select2(&x->x_gui,glist,"TGL",
+                    x->x_gui.x_w-1,x->x_gui.x_h-1);
             }
             sys_vgui(".x%lx.c addtag selected withtag %lxTGL\n", canvas, x);
         }
diff --git a/pd/src/g_vdial.c b/pd/src/g_vdial.c
index 93d05594b..f324a2872 100644
--- a/pd/src/g_vdial.c
+++ b/pd/src/g_vdial.c
@@ -259,7 +259,8 @@ void vradio_draw_select(t_vradio* x, t_glist* glist)
                 }
                 sys_vgui(".x%lx.c itemconfigure %lxLABEL "
                          "-fill $pd_colors(selection)\n", canvas, x);
-                scalehandle_draw_select2(&x->x_gui,glist,"VRDO");
+                scalehandle_draw_select2(&x->x_gui,glist,"VRDO",
+                    x->x_gui.x_w-1,x->x_gui.x_h*x->x_number-1);
             }
 
             sys_vgui(".x%lx.c addtag selected withtag %lxVRDO\n", canvas, x);
diff --git a/pd/src/g_vslider.c b/pd/src/g_vslider.c
index b1897b6a5..91b3d25d3 100644
--- a/pd/src/g_vslider.c
+++ b/pd/src/g_vslider.c
@@ -254,7 +254,8 @@ static void vslider_draw_select(t_vslider *x, t_glist *glist)
                          "-stroke $pd_colors(selection)\n", canvas, x);
                 sys_vgui(".x%lx.c itemconfigure %lxLABEL "
                          "-fill $pd_colors(selection)\n", canvas, x);
-                scalehandle_draw_select2(&x->x_gui,glist,"VSLDR");
+                scalehandle_draw_select2(&x->x_gui,glist,"VSLDR",
+                    x->x_gui.x_w-1,x->x_gui.x_h+5-1);
             }
             sys_vgui(".x%lx.c addtag selected withtag %lxVSLDR\n", canvas, x);
         }
diff --git a/pd/src/g_vumeter.c b/pd/src/g_vumeter.c
index 5b4d3dc86..da0d0cd1a 100644
--- a/pd/src/g_vumeter.c
+++ b/pd/src/g_vumeter.c
@@ -442,7 +442,8 @@ static void vu_draw_select(t_vu* x,t_glist* glist)
                 }
                 sys_vgui(".x%lx.c itemconfigure %lxLABEL "
                          "-fill $pd_colors(selection)\n", canvas, x);
-                scalehandle_draw_select2(&x->x_gui,glist,"BNG");
+                scalehandle_draw_select2(&x->x_gui,glist,"BNG",
+                    x->x_gui.x_w+2-1,x->x_gui.x_h+4-1);
             }
 
             sys_vgui(".x%lx.c addtag selected withtag %lxVU\n", canvas, x);
-- 
GitLab