chiark / gitweb /
gui: wip add padding to picture to let buttons be visible
authorIan Jackson <ian@davenant.greenend.org.uk>
Fri, 31 Dec 2010 15:44:37 +0000 (15:44 +0000)
committerIan Jackson <ian@davenant.greenend.org.uk>
Fri, 31 Dec 2010 15:44:37 +0000 (15:44 +0000)
hostside/gui

index fc783ea1a62d600a74616467987af2fffc0be3f2..d57df68064641e28f25a7ce9d0a33e042306e3f3 100755 (executable)
@@ -10,6 +10,9 @@ source lib.tcl
 
 set default_speedstep_list {0 1 10 20 35 50 65 80 95 110 126}
 
+set picturepadx 10
+set picturepady 10
+
 proc pagew {page} { return ".picture-$page" }
 proc debug {m} { puts $m }
 
@@ -20,13 +23,15 @@ proc sconn {m} {
 }
 
 proc widgets-dgram {} {
-    global cpage geometry
+    global cpage geometry picturepadx picturepady
     if {[string length $geometry]} { wm geometry . $geometry }
     set sizes [exec ./gui-plan-$cpage --sizes]
     set w [pagew $cpage]
-    frame $w -background {} \
+    frame $w
+    frame $w.picture -background {} \
            -width [lindex $sizes 0] \
            -height [lindex $sizes 1]
+    pack $w.picture -padx $picturepadx -pady $picturepady
     pack $w
 }
 
@@ -221,7 +226,7 @@ register-event ?movpos_*_feat {seg feat posn_new} \
 }
 
 proc movpos-bindkey-1 {cpage key seg feat} {
-    global posdeviation
+    global posdeviation picturepadx picturepady
     manyset [subseg-end-get-centroid $cpage $seg $feat {}] mx my
     set mid $seg/$feat
     foreach posn {0 1} {
@@ -229,11 +234,12 @@ proc movpos-bindkey-1 {cpage key seg feat} {
        set dx [expr {$x-$mx}]; set dy [expr {$y-$my}]
        set d [expr {sqrt($dx*$dx + $dy*$dy)}]
        set mul [expr {$posdeviation / ($d + 1e-6)}]
-       set x [expr {$mx + $mul*$dx}]
-       set y [expr {$my + $mul*$dy}]
+       set x [expr {$mx + $mul*$dx + $picturepadx/2}]
+       set y [expr {$my + $mul*$dy + $picturepady/2}]
        lappend poslocs [list $x $y]
     }
-    lappend poslocs [list $mx $my]
+    lappend poslocs [list [expr {$mx + $picturepadx/2}] \
+                         [expr {$my + $picturepady/2}]]
     upvar #0 mp_details($mid) details
     set details [list $cpage $key $seg $feat $poslocs]
 
@@ -960,9 +966,9 @@ register-event {} {} {^=connected } {
 
     foreach page $pages {
        set w [pagew $page]
-       tkwait visibility $w
+       tkwait visibility $w.picture
 
-       set cmdl [list ./gui-plan-$page [winfo id $w] @$server,$port]
+       set cmdl [list ./gui-plan-$page [winfo id $w.picture] @$server,$port]
        lappend cmdl 2>@ stderr
        set gui_pipe [open |$cmdl r]