#!/usr/local/bin/tclsh

set bigfont "-adobe-helvetica-bold-r-normal-*-*-240-100-100-*-*-*-*"
set italicfont "-adobe-helvetica-bold-o-normal-*-*-240-100-100-*-*-*-*"
set courierfont "-adobe-courier-bold-r-normal-*-*-240-100-100-*-*-*-*"
set courieritalic "-adobe-courier-bold-o-normal-*-*-240-100-100-*-*-*-*"
set symbolfont "-adobe-symbol-medium-r-normal-*-*-240-100-100-*-*-*-*"

set cursor {@bigarrow.xbm bigarrowmask.xbm black white}

set currentslide 1
set slidenum 1

proc slide {title block} {
    global slidenum slidename slidepart slideparts

    incr slidenum
    set slidename($slidenum) $title
    proc slide${slidenum}p0 {title} $block

    catch {eval slide${slidenum}p0 {$title}}

    set slidepart 0
    set slideparts($slidenum) 0
}

proc titledslide {title} {
    slide $title {drawtitle $title}
}

proc part {block} {
    global slidenum slidepart slideparts
    incr slidepart
    proc slide${slidenum}p${slidepart} {part} $block

    catch {eval slide${slidenum}p${slidepart} $slidepart}

    set slideparts($slidenum) $slidepart
}


proc drawtitle t {
  puts ""
  puts "----------------------------------------------------------------------"
  puts $t
}

proc outlinelise {secs s} {

  foreach s $secs {
    puts $s
  }

}

proc nextsection {} {}

proc centeritem {i t} {

  puts $t

}

proc starttext {} {}

proc addtext {text} {
    global tstring
    set tstring $text
    addtext1 normal
}

proc addtext1 {tag} {
    global tstring
    if {$tstring != "" } {
	set firstc [string index $tstring 0]
	switch $firstc {
	    "\\" {
		addwithtag $tag [string index $tstring 1]
		regsub {..} $tstring "" tstring
		addtext1 $tag
	    }
	    "\{" {
		regexp {[^ ]*} $tstring newtag
		regsub {\{} $newtag "" newtag
		regsub {[^ ]* } $tstring "" tstring
		addtext1 $newtag
		addtext1 $tag
	    }
	    "\}" {
		regsub {^\}} $tstring "" tstring
	    }
	    default {
		regexp {^[^\{\}]*} $tstring text
		regsub {^[^\{\}]*} $tstring "" tstring
		addwithtag $tag $text
		addtext1 $tag
	    }
	}
    }
}

proc addwithtag {tag text} {
    puts -nonewline [format %s $text]
}

if { $argc == 1 } {
    source [lindex $argv 0]
} else {
    source slides
}

# Local Variables:
# mode: tcl
# End:
