Update to 2.0.0 tree from current Fremantle build
[opencv] / apps / cvlkdemo / cvlkdemo.tcl
diff --git a/apps/cvlkdemo/cvlkdemo.tcl b/apps/cvlkdemo/cvlkdemo.tcl
deleted file mode 100644 (file)
index c2a234b..0000000
+++ /dev/null
@@ -1,504 +0,0 @@
-#########################################################################################\r
-#\r
-#  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.\r
-#\r
-#  By downloading, copying, installing or using the software you agree to this license.\r
-#  If you do not agree to this license, do not download, install,\r
-#  copy or use the software.\r
-#\r
-#\r
-#                        Intel License Agreement\r
-#                For Open Source Computer Vision Library\r
-#\r
-# Copyright (C) 2000, Intel Corporation, all rights reserved.\r
-# Third party copyrights are property of their respective owners.\r
-#\r
-# Redistribution and use in source and binary forms, with or without modification,\r
-# are permitted provided that the following conditions are met:\r
-#\r
-#   * Redistribution's of source code must retain the above copyright notice,\r
-#     this list of conditions and the following disclaimer.\r
-#\r
-#   * Redistribution's in binary form must reproduce the above copyright notice,\r
-#     this list of conditions and the following disclaimer in the documentation\r
-#     and/or other materials provided with the distribution.\r
-#\r
-#   * The name of Intel Corporation may not be used to endorse or promote products\r
-#     derived from this software without specific prior written permission.\r
-#\r
-# This software is provided by the copyright holders and contributors "as is" and\r
-# any express or implied warranties, including, but not limited to, the implied\r
-# warranties of merchantability and fitness for a particular purpose are disclaimed.\r
-# In no event shall the Intel Corporation or contributors be liable for any direct,\r
-# indirect, incidental, special, exemplary, or consequential damages\r
-# (including, but not limited to, procurement of substitute goods or services;\r
-# loss of use, data, or profits; or business interruption) however caused\r
-# and on any theory of liability, whether in contract, strict liability,\r
-# or tort (including negligence or otherwise) arising in any way out of\r
-# the use of this software, even if advised of the possibility of such damage.\r
-#\r
-#\r
-\r
-if {$tcl_platform(platform) == "windows"} {\r
-    set default_normal_bg SystemButtonFace\r
-    set default_normal_fg SystemButtonText\r
-    set default_light_bg SystemScrollbar\r
-    set default_dark_bg SystemDisabledText\r
-    set default_window_bg SystemWindow\r
-    set default_window_fg SystemWindowText\r
-    set default_select_bg SystemHighlight\r
-    set default_select_fg SystemHighlightText\r
-} else {\r
-    set default_normal_bg #909090\r
-    set default_normal_fg #000000\r
-    set default_light_bg #000000\r
-    set default_dark_bg #303030\r
-    set default_window_bg #909090\r
-    set default_window_fg #000000\r
-    set default_select_bg #000080\r
-    set default_select_fg #ffffff\r
-}\r
-\r
-namespace eval CVLkDemo {\r
-       variable mainf\r
-       variable tb\r
-       variable statustext\r
-\r
-    variable nb\r
-\r
-       variable showtb 1\r
-       variable showstb 1\r
-       \r
-    variable curcam\r
-\r
-    variable curpage\r
-    variable curframe\r
-       variable curX "---"\r
-       variable curY "---"\r
-    \r
-    variable pagesnum 0\r
-    variable pagescount 0\r
-    \r
-    variable cams {}\r
-    variable pages {}\r
-\r
-    variable capturestate "0"\r
-    variable trackstate "0"\r
-    variable nightstate "0"\r
-    variable cam "0"\r
-}\r
-\r
-proc CVLkDemo::Modify {} {\r
-    set CVLkDemo::cam [.dlg.frame.cb getvalue]\r
-}\r
-\r
-proc CVLkDemo::longmenu {on} {\r
-       if {$on} {\r
-               .menubar.file entryconfig 1 -state active\r
-       } else {\r
-               .menubar.file entryconfig 1 -state disabled\r
-       }\r
-}\r
-\r
-proc CVLkDemo::longstbar {on} {\r
-       if {$on} {\r
-               pack $CVLkDemo::mainf.status.indf.f0 -side left -fill y -expand 1               \r
-       } else {\r
-               pack forget $CVLkDemo::mainf.status.indf.f0             \r
-       }\r
-}\r
-\r
-proc CVLkDemo::longbar {on} {\r
-       if {$on} {\r
-               pack $CVLkDemo::tb.bbox1 -side left -anchor w\r
-               pack $CVLkDemo::tb.sep1 -side left -fill y -padx 4 -anchor w\r
-               pack $CVLkDemo::tb.bbox2 -side left -anchor w\r
-               pack $CVLkDemo::tb.sep2 -side left -fill y -padx 4 -anchor w\r
-       } else {\r
-               pack forget $CVLkDemo::tb.sep2\r
-               pack forget $CVLkDemo::tb.bbox2\r
-               pack forget $CVLkDemo::tb.sep1\r
-               pack forget $CVLkDemo::tb.bbox1\r
-       }\r
-}\r
-\r
-proc CVLkDemo::about {} {\r
-    set dlg [Dialog .aboutdlg -parent . -modal local \\r
-                 -separator 1          \\r
-                 -title   "About CVLkDemo"     \\r
-                 -side    right                \\r
-                 -anchor  s                    \\r
-                 -default 0]\r
-    $dlg add -name ok -width 5\r
-    \r
-       set top [$dlg getframe]\r
-           \r
-       image create photo original -file [file join $::image_path pictures/CVLkDemo.gif]\r
-       canvas $top.c -bd 2 -relief ridge -width 295 -height 195 \r
-       $top.c create image 0 0 -anchor nw -image original\r
-       pack $top.c -side top -expand yes -fill x\r
-\r
-    set frame [frame $top.f -background white -bd 2 -relief ridge]\r
-    set lab  [label $frame.lab1 -text \\r
-               "Program CVLkDemo v. 1.0 \nIntel corporation. 2001 y."  \\r
-                          -background white -font {times 8}]\r
-    pack $lab\r
-    pack $frame -side top -expand yes -fill x -padx 2 -pady 2\r
-\r
-    $dlg draw\r
-    destroy $dlg\r
-}\r
-\r
-proc getvar {name value} {\r
-    upvar $name localVar\r
-    upvar $value lvalue\r
-       \r
-    set localVar $lvalue\r
-}\r
-\r
-proc CVLkDemo::raisetab { } {\r
-    set CVLkDemo::curpage [$CVLkDemo::nb raise]\r
-    set CVLkDemo::curframe [$CVLkDemo::nb getframe $CVLkDemo::curpage].lab\r
-    set pos [lsearch $CVLkDemo::pages $CVLkDemo::curpage]\r
-    set CVLkDemo::curcam [lindex $CVLkDemo::cams $pos]   \r
-}\r
-\r
-proc CVLkDemo::createtab {page text} {\r
-    set path [$CVLkDemo::nb insert end $page -text $text \\r
-              -raisecmd CVLkDemo::raisetab]\r
-    \r
-    label $path.lab -text "" -bg black -relief sunken\r
-    pack $path.lab  -side top  -expand yes -fill both\r
-\r
-    bind $path.lab <ButtonPress-1> {\r
-        pButtonPress %x %y\r
-       }\r
-\r
-    bind $path.lab <ButtonRelease-1> {\r
-        pButtonRelease %x %y\r
-       }\r
-\r
-    bind $path.lab <Motion> {\r
-        pMotion %x %y\r
-       }\r
-\r
-    bind $path.lab <Configure> {\r
-        pConfigure\r
-       }\r
-}\r
-\r
-proc CVLkDemo::new {} {\r
-    \r
-    incr CVLkDemo::pagescount\r
-    incr CVLkDemo::pagesnum\r
-\r
-\r
-    if {$CVLkDemo::pagesnum == 1} {\r
-        CVLkDemo::longmenu 1\r
-        CVLkDemo::longbar 1\r
-        CVLkDemo::longstbar 1\r
-\r
-        set CVLkDemo::curpage p[expr $CVLkDemo::pagescount]\r
-        lappend CVLkDemo::pages $CVLkDemo::curpage\r
-        lappend CVLkDemo::cams $CVLkDemo::curcam\r
-\r
-        set text [format "Camera %i" $CVLkDemo::pagescount]\r
-        CVLkDemo::createtab $CVLkDemo::curpage $text\r
-    \r
-        $CVLkDemo::nb see [$CVLkDemo::nb pages end]\r
-        $CVLkDemo::nb raise [$CVLkDemo::nb pages end]\r
-        update\r
-        pInitCamera\r
-    } else {\r
-    tk_dialog .mes {Message} { CVLkDemo support only one camera.} {} 0 OK" \r
-    }\r
-}\r
-\r
-proc CVLkDemo::close {} {\r
-\r
-       set pos [lsearch $CVLkDemo::cams $CVLkDemo::curcam]\r
-       set $CVLkDemo::cams [lreplace $CVLkDemo::cams $pos $pos]\r
-       set $CVLkDemo::pages [lreplace $CVLkDemo::pages $pos $pos]\r
-\r
-    $CVLkDemo::nb delete $CVLkDemo::curpage 1\r
-    \r
-       if {$CVLkDemo::curcam != ""} {\r
-               #set ind [$CVLkDemo::tree index $CVLkDemo::curfile]\r
-               #$CVLkDemo::tree delete $CVLkDemo::curfile\r
-       }\r
-\r
-    set CVLkDemo::pagesnum [expr $CVLkDemo::pagesnum - 1]\r
-\r
-       if {$CVLkDemo::pagesnum == 0} {\r
-               CVLkDemo::longmenu 0\r
-               CVLkDemo::longbar 0\r
-               #CVLkDemo::longstbar 0\r
-               set CVLkDemo::curcam ""\r
-       } else {\r
-               set page [$CVLkDemo::nb pages end]\r
-\r
-               set pos [lsearch $CVLkDemo::pages $CVLkDemo::curpage]\r
-               set CVLkDemo::curcam [lindex $CVLkDemo::cams $pos]\r
-                       \r
-               $CVLkDemo::nb see $page\r
-        $CVLkDemo::nb raise $page\r
-    }\r
-    \r
-    pCloseCamera\r
-    $CVLkDemo::tb.bbox1.b0 configure -relief raised \\r
-            -image [Bitmap::get [file join $::image_path pictures/captureoff.gif]]\r
-    set CVLkDemo::capturestate 0\r
-}\r
-\r
-proc CVLkDemo::capture {} {\r
-\r
-    if { $CVLkDemo::capturestate == 1 } {\r
-        $CVLkDemo::tb.bbox1.b0 configure -relief raised \\r
-            -image [Bitmap::get [file join $::image_path pictures/captureoff.gif]]\r
-        set CVLkDemo::capturestate 0\r
-        pStopCamera\r
-        $CVLkDemo::tb.bbox1.b1 configure -state disable\r
-    } else {\r
-        $CVLkDemo::tb.bbox1.b0 configure -relief sunken \\r
-            -image [Bitmap::get [file join $::image_path pictures/capture.gif]]\r
-        set CVLkDemo::capturestate 1\r
-        pStartCamera\r
-        $CVLkDemo::tb.bbox1.b1 configure -state active\r
-    }\r
-}\r
-\r
-proc CVLkDemo::track {} {\r
-\r
-    if { $CVLkDemo::trackstate == 1 } {\r
-        $CVLkDemo::tb.bbox1.b1 configure -relief raised \\r
-            -image [Bitmap::get [file join $::image_path pictures/trackoff.gif]]\r
-        set CVLkDemo::trackstate 0\r
-        pResetTrack\r
-        $CVLkDemo::tb.bbox1.b2 configure -state disable\r
-    } else {\r
-        $CVLkDemo::tb.bbox1.b1 configure -relief sunken \\r
-            -image [Bitmap::get [file join $::image_path pictures/track.gif]]\r
-        set CVLkDemo::trackstate 1\r
-        pSetTrack\r
-        $CVLkDemo::tb.bbox1.b2 configure -state active\r
-    }\r
-}\r
-\r
-proc CVLkDemo::night {} {\r
-\r
-    if { $CVLkDemo::nightstate == 1 } {\r
-        $CVLkDemo::tb.bbox1.b2 configure -relief raised \\r
-            -image [Bitmap::get [file join $::image_path pictures/nightoff.gif]]\r
-        set CVLkDemo::nightstate 0\r
-        pResetNight\r
-    } else {\r
-        $CVLkDemo::tb.bbox1.b2 configure -relief sunken \\r
-            -image [Bitmap::get [file join $::image_path pictures/night.gif]]\r
-        set CVLkDemo::nightstate 1\r
-        pSetNight\r
-    }\r
-}\r
-\r
-proc CVLkDemo::setvideo {} {\r
-    pSetVideo\r
-}\r
-\r
-proc CVLkDemo::camera {} {\r
-    pSetCameraOpt\r
-}\r
-\r
-proc CVLkDemo::create { } {\r
-       variable prgindic 0\r
-       variable prgtext\r
-       ## Create intro\r
-    ###################################################################\r
-    set top [toplevel .intro -relief raised -borderwidth 2]\r
-    wm withdraw $top\r
-    wm overrideredirect $top 1\r
-       \r
-       image create photo original -file [file join $::image_path pictures/CVLkDemo.gif]\r
-       canvas $top.c -bd 2 -relief ridge -width 295 -height 195 \r
-       $top.c create image 0 0 -anchor nw -image original\r
-       pack $top.c -side top -expand yes -fill x\r
-\r
-    set frame [frame $top.f -background white -bd 2 -relief ridge]\r
-    set lab1  [label $frame.lab1 -text "Please wait for loading..."    \\r
-                          -background white -font {times 8}]\r
-    set lab2  [label $frame.lab2 -textvariable CVLkDemo::prgtext       \\r
-                          -background white -font {times 8} -width 35]\r
-    set prg   [ProgressBar $frame.prg -width 50 -height 10             \\r
-                          -background white -variable CVLkDemo::prgindic -maximum 7]\r
-    pack $lab1 $prg $lab2\r
-    pack $frame -side top -expand yes -fill x -padx 2 -pady 2\r
-\r
-    BWidget::place $top 0 0 center\r
-    wm deiconify $top\r
-\r
-       ###################################################################\r
-       \r
-       set CVLkDemo::prgtext "Loading font..."\r
-       update\r
-       SelectFont::loadfont\r
-\r
-       incr CVLkDemo::prgindic\r
-       set CVLkDemo::prgtext   "Creating menu..."\r
-    update\r
-\r
-    #### Menu\r
-    set menu {\r
-        "&File" all file 0 {\r
-            {command "&New" {} "New document" {} -command CVLkDemo::new}\r
-                       {command "&Close" {} "Close the document" {} -state disable     \\r
-                               -command CVLkDemo::close}\r
-                       {separator}\r
-                       {command "E&xit" {} "Exit the program" {} -command exit}\r
-        }\r
-        "&View" all view 0 {\r
-            {checkbutton "&Toolbar" {all view} "Show/hide toolbar" {}  \\r
-                -variable CVLkDemo::showtb     \\r
-                -command {$CVLkDemo::mainf showtoolbar 0 $CVLkDemo::showtb}\r
-            }\r
-                       {checkbutton "&Statusbar" {all view} "Show/hide statusbar" {}   \\r
-                -variable CVLkDemo::showstb    \\r
-                -command {\r
-                                                       if {$CVLkDemo::showstb} {\r
-                                                               pack $CVLkDemo::mainf.botf -side bottom -fill x \r
-                                                       } else {\r
-                                                               pack forget $CVLkDemo::mainf.botf\r
-                                                       }\r
-                                                }\r
-            }\r
-        }\r
-               "&Options" all options 0 {\r
-                       {command "Came&ra" {} "Colors & fonts setup" {} -command CVLkDemo::camera}\r
-            {command "&Video" {} "Colors & fonts setup" {} -command CVLkDemo::setvideo}\r
-               }\r
-               "&Help" all help 0 {\r
-                       {command "&About CVLKDemo" {} "Display the program info" {}     \\r
-                        -command CVLkDemo::about}\r
-        }\r
-    }\r
-\r
-    incr CVLkDemo::prgindic\r
-       set CVLkDemo::prgtext   "Creating MainFrame..."\r
-    update\r
-\r
-    set CVLkDemo::mainf [MainFrame .mainf -menu $menu  \\r
-                      -textvariable CVLkDemo::statustext]\r
-\r
-    menu .menubar.edit -tearoff 0 -background $::default_normal_bg\r
-    MainFrame::_create_entries .mainf .menubar.edit \\r
-               $::default_normal_bg {\\r
-                       {command "Cu&t" {} "Cut the selection" {} -command cut}\r
-                       {command "&Copy" {} "Copy the selection" {} -command copy}\r
-                       {command "&Paste" {} "Paste the clipboard" {} -command paste}\r
-                       {separator}\r
-                       {command "&Go to.." {} "Move to a specified place" {} -command paste}\r
-        }\r
-\r
-       incr CVLkDemo::prgindic\r
-       set CVLkDemo::prgtext   "Creating toolbar..."\r
-    update\r
-\r
-    #### toolbars creation\r
-    set CVLkDemo::tb  [$CVLkDemo::mainf addtoolbar]\r
-\r
-    set bbox [ButtonBox $CVLkDemo::tb.bbox0 -spacing 0 -padx 1 -pady 1]\r
-    $bbox add -image [Bitmap::get [file join $::image_path pictures/new.gif]] \\r
-        -highlightthickness 0 -takefocus 0 -relief link -borderwidth 2 \\r
-               -padx 1 -pady 1 -helptext "Add new camera" -command CVLkDemo::new\r
-    pack $bbox -side left -anchor w\r
-    \r
-    set sep [Separator $CVLkDemo::tb.sep0 -orient vertical]\r
-    pack $sep -side left -fill y -padx 4 -anchor w\r
-\r
-       set bbox [ButtonBox $CVLkDemo::tb.bbox1 -spacing 0 -padx 1 -pady 1]\r
-    $bbox add -image [Bitmap::get [file join $::image_path pictures/captureoff.gif]] \\r
-        -highlightthickness 0 -takefocus 0 -relief raised -borderwidth 2       \\r
-               -padx 1 -pady 1 -helptext "Start/Stop capture" -command CVLkDemo::capture\r
-    $bbox add -image [Bitmap::get [file join $::image_path pictures/trackoff.gif]] \\r
-        -highlightthickness 0 -takefocus 0 -relief raised -borderwidth 2       \\r
-               -padx 1 -pady 1 -helptext "Start/Stop tracking" -command CVLkDemo::track\r
-    $bbox add -image [Bitmap::get [file join $::image_path pictures/nightoff.gif]] \\r
-        -highlightthickness 0 -takefocus 0 -relief raised -borderwidth 2       \\r
-               -padx 1 -pady 1 -helptext "Turn On/Off night mode" -command CVLkDemo::night\r
-\r
-       set sep [Separator $CVLkDemo::tb.sep1 -orient vertical]\r
-\r
-    set bbox [ButtonBox $CVLkDemo::tb.bbox2 -spacing 0 -padx 1 -pady 1]\r
-    $bbox add -image [Bitmap::get [file join $::image_path pictures/vidopt.gif]] \\r
-        -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 \\r
-               -padx 1 -pady 1 -helptext "Set video format" \\r
-               -command CVLkDemo::setvideo \r
-\r
-    $bbox add -image [Bitmap::get [file join $::image_path pictures/camopt.gif]] \\r
-        -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 \\r
-               -padx 1 -pady 1 -helptext "Camera options"\\r
-               -command CVLkDemo::camera \r
-\r
-    set sep [Separator $CVLkDemo::tb.sep2 -orient vertical]\r
-\r
-    $CVLkDemo::tb.bbox1.b1 configure -state disable\r
-    $CVLkDemo::tb.bbox1.b2 configure -state disable\r
-    \r
-    incr CVLkDemo::prgindic\r
-    set CVLkDemo::prgtext   "Creating statusbar..."\r
-    update\r
-\r
-       $CVLkDemo::mainf addindicator\r
-       $CVLkDemo::mainf.status.indf.f0 configure -relief flat\r
-\r
-       label $CVLkDemo::mainf.status.indf.f0.l0  -relief sunken -borderwidth 1 \\r
-        -takefocus 0 -highlightthickness 0 -textvariable CVLkDemo::curcam\r
-       pack $CVLkDemo::mainf.status.indf.f0.l0 -side left -fill y -expand 1\r
-\r
-       label $CVLkDemo::mainf.status.indf.f0.l1  -relief flat -borderwidth 1 \\r
-        -takefocus 0 -highlightthickness 0 -text "X:"\r
-       pack $CVLkDemo::mainf.status.indf.f0.l1 -side left -fill y -expand 1\r
-\r
-       label $CVLkDemo::mainf.status.indf.f0.l2  -relief sunken -borderwidth 1 \\r
-        -takefocus 0 -highlightthickness 0 -textvariable CVLkDemo::curX\r
-       pack $CVLkDemo::mainf.status.indf.f0.l2 -side left -fill y -expand 1\r
-\r
-       label $CVLkDemo::mainf.status.indf.f0.l3  -relief flat -borderwidth 1 \\r
-        -takefocus 0 -highlightthickness 0 -text "Y:"\r
-       pack $CVLkDemo::mainf.status.indf.f0.l3 -side left -fill y -expand 1\r
-\r
-       label $CVLkDemo::mainf.status.indf.f0.l4  -relief sunken -borderwidth 1 \\r
-        -takefocus 0 -highlightthickness 0 -textvariable CVLkDemo::curY\r
-       pack $CVLkDemo::mainf.status.indf.f0.l4 -side left -fill y -expand 1\r
-       pack forget $CVLkDemo::mainf.status.indf.f0\r
-\r
-       set CVLkDemo::prgtext   "Creating manadger..."\r
-    incr CVLkDemo::prgindic\r
-    set CVLkDemo::nb [NoteBook $CVLkDemo::mainf.frame.nb -side top]\r
-    pack $CVLkDemo::nb -fill both -expand yes -padx 1 -pady 1\r
-    \r
-       set CVLkDemo::prgtext   "Done"\r
-    incr CVLkDemo::prgindic\r
-\r
-    pack $CVLkDemo::mainf -fill both -expand yes\r
-    update idletasks\r
-\r
-       unset CVLkDemo::prgindic\r
-       unset CVLkDemo::prgtext\r
-\r
-    destroy .intro\r
-}\r
-\r
-proc main {} {\r
-    package require BWidget\r
-    wm withdraw .\r
-    wm title . "CVLKDemo"\r
-\r
-    CVLkDemo::create\r
-\r
-    BWidget::place . 640 480 center\r
-    wm deiconify .\r
-    raise .\r
-    wm geometry . 640x480\r
-\r
-    focus -force .\r
-}\r
-\r
-main\r