source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/vrippack-0.31/src/vrip/lib/tk/demos/square @ 37

Last change on this file since 37 was 37, checked in by (none), 14 years ago

Added original make3d

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1#!/bin/sh
2# the next line restarts using wish \
3exec wish8.3 "$0" "$@"
4
5# square --
6# This script generates a demo application containing only a "square"
7# widget.  It's only usable in the "tktest" application or if Tk has
8# been compiled with tkSquare.c. This demo arranges the following
9# bindings for the widget:
10#
11# Button-1 press/drag:          moves square to mouse
12# "a":                          toggle size animation on/off
13#
14# RCS: @(#) $Id: square,v 1.2 1998/09/14 18:23:30 stanton Exp $
15
16square .s
17pack .s -expand yes -fill both
18wm minsize . 1 1
19
20bind .s <1> {center %x %y}
21bind .s <B1-Motion> {center %x %y}
22bind .s a animate
23focus .s
24
25# The procedure below centers the square on a given position.
26
27proc center {x y} {
28    set a [.s size]
29    .s position [expr $x-($a/2)] [expr $y-($a/2)]
30}
31
32# The procedures below provide a simple form of animation where
33# the box changes size in a pulsing pattern: larger, smaller, larger,
34# and so on.
35
36set inc 0
37proc animate {} {
38    global inc
39    if {$inc == 0} {
40        set inc 3
41        timer
42    } else {
43        set inc 0
44    }
45}
46
47proc timer {} {
48    global inc
49    set s [.s size]
50    if {$inc == 0} return
51    if {$s >= 40} {set inc -3}
52    if {$s <= 10} {set inc 3}
53    .s size [expr {$s+$inc}]
54    after 30 timer
55}
Note: See TracBrowser for help on using the repository browser.