#print-8.6erw.tcl
#0.2
if {[tk windowingsystem] eq "win32"} {
if {[info tclversion] eq "8.6"} {
package require gdi
package require printer
#Tcl Extensions by Michael Schwarz
#
http://wiki.tcl-lang.org/page/TkPrint
package require struct::list
namespace eval ::tk::print {
proc _openprinter {args} {
printer open args
}
proc _closeprinter {} {
printer close
}
proc _opendoc {} {
printer job start
}
proc _closedoc {} {
printer job end
}
proc _openpage {} {
printer page start
}
proc _closepage {} {
printer page end
}
proc _gdi {args} {
gdi {*}$args
#tailcall gdi {*}$args
}
proc _selectprinter {} {
# variable printargs
variable printer_name
variable paper_width
variable paper_height
variable dpi_x
variable dpi_y
variable copies
set hDc [printer dialog select]
set attr [struct::list flatten [printer attr -hDc $hDc]]
# set printer_name [dict get $attr device]
# set printargs(printer_name) [dict get $attr device]
set printer_name [lindex $hDc 0]
set paper_width [lindex [dict get $attr "page dimensions"] 0]
set paper_height [lindex [dict get $attr "page dimensions"] 1]
set dpi_x [lindex [dict get $attr "pixels per inch"] 0]
set dpi_y [lindex [dict get $attr "pixels per inch"] 1]
set copies [dict get $attr copies]
}
}
}
}
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)