# ----------------------------------------------------------------------
#  DEMO: scrolledcanvas in [incr Widgets]
# ----------------------------------------------------------------------
package require Iwidgets 4.0

option add *textBackground seashell
. configure -background white

iwidgets::scrolledcanvas .canv -labeltext "Scrolledcanvas" \
    -vscrollmode dynamic -hscrollmode dynamic -autoresize yes

pack .canv -expand yes -fill both -padx 4 -pady 4
.canv xview moveto 0
.canv yview moveto 0


button .zoomin -text "Zoom In" -command {
    .canv scale all 0 0 2 2
    .canv configure -scrollregion [.canv bbox all]
}
pack .zoomin -side left -expand yes -padx 4 -pady 4

button .zoomout -text "Zoom Out" -command {
    .canv scale all 0 0 0.5 0.5
    .canv xview moveto 0
    .canv yview moveto 0
    .canv configure -scrollregion [.canv bbox all]
}
pack .zoomout -side left -expand yes -padx 4 -pady 4


bind [.canv component canvas] <ButtonPress-1> {add_rectangle %W %x %y}
bind [.canv component canvas] <B1-Motion> {add_rectangle %W %x %y}

proc add_rectangle {win x y} {
    set x [$win canvasx $x]
    set y [$win canvasy $y]

    $win create rectangle \
        [expr $x-4] [expr $y-4] \
        [expr $x+4] [expr $y+4] \
        -outline "" -fill red

    $win configure -scrollregion [$win bbox all]
}
