summaryrefslogtreecommitdiff
path: root/itcl/iwidgets/demos/scrolledcanvas
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/iwidgets/demos/scrolledcanvas')
-rw-r--r--itcl/iwidgets/demos/scrolledcanvas45
1 files changed, 45 insertions, 0 deletions
diff --git a/itcl/iwidgets/demos/scrolledcanvas b/itcl/iwidgets/demos/scrolledcanvas
new file mode 100644
index 00000000000..2caf6a4c5a5
--- /dev/null
+++ b/itcl/iwidgets/demos/scrolledcanvas
@@ -0,0 +1,45 @@
+# ----------------------------------------------------------------------
+# 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]
+}