----------------------------------------------------------------------------------
@MSGID:
<639ec762-f1b9-4951-b11b-61c7b42bd80fn@googlegroups.com> 3f3465b0
@REPLY:
<de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com> 6683e34d
@REPLYADDR greg <gregor.ebbing@googlemail.com>
@REPLYTO 2:5075/128 greg
@CHRS: CP866 2
@RFC: 1 0
@RFC-References:
<de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com>
@RFC-Message-ID:
<639ec762-f1b9-4951-b11b-61c7b42bd80fn@googlegroups.com>
@TZUTC: -0700
@PID: G2/1.0
@TID: FIDOGATE-5.12-ge4e8b94
#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]
}
}
}
}
--- G2/1.0
* Origin: usenet.network (2:5075/128)
SEEN-BY: 5001/100 5005/49 5015/255 5019/40 5020/715
848 1042 4441 12000
SEEN-BY: 5030/49 1081 5058/104 5075/128
@PATH: 5075/128 5020/1042 4441