From e6a05dbef707dc10e546ef8fef8fc2a8b7d805bf Mon Sep 17 00:00:00 2001 From: cvs2svn Date: Mon, 24 Jan 2005 15:46:33 +0000 Subject: This commit was manufactured by cvs2svn to create branch 'POSTSCRIPT'. --- sandbox/testbezier.pl | 190 -------------------------------------------------- 1 file changed, 190 deletions(-) delete mode 100644 sandbox/testbezier.pl (limited to 'sandbox/testbezier.pl') diff --git a/sandbox/testbezier.pl b/sandbox/testbezier.pl deleted file mode 100644 index 82948fc..0000000 --- a/sandbox/testbezier.pl +++ /dev/null @@ -1,190 +0,0 @@ -#!/usr/bin/perl -w - - -use Tk; -use Tk::Zinc; -use Controls; -use Tk::Photo; -require Tk::PNG; - - -$top = 1; -$lw = 8; -$arrow = [8, 10, 6]; - -# -# Cap, Filled, Border, Relief, Title -# -@show = ( - ['round', 0, 1, 'flat', 'CapRound'], - ['butt', 0, 1, 'flat', 'CapButt'], - ['projecting', 0, 1, 'flat', 'CapProjecting'], - ['round', 0, 1, 'sunken', 'Sunken'], - ['round', 0, 1, 'raised', 'Raised'], - ['round', 0, 1, 'groove', 'Groove'], - ['round', 0, 1, 'ridge', 'Ridge'], - ['round', 1, 1, 'roundsunken', 'RoundSunken'], - ['round', 1, 1, 'roundraised', 'RoundRaised'], - ['round', 1, 1, 'roundgroove', 'RoundGroove'], - ['round', 1, 1, 'roundridge', 'RoundRidge'], - ['round', 1, 1, 'sunkenrule', 'SunkenRule'], - ['round', 1, 1, 'raisedrule', 'RaisedRule'], - ['round', 1, 0, 'flat', 'Fill'], - ['round', 1, 1, 'flat', 'FillBorder']); - -$mw = MainWindow->new(); -#$logo = $mw->Photo(-file => "logo.gif"); -$papier = $mw->Photo(-file => "texture-paper.xpm"); - -$zinc = $mw->Zinc(-render => 1, - -lightangle => 120, - -borderwidth => 0, - -highlightthickness => 0, - -relief => 'sunken', - -takefocus => 1, - -backcolor => 'red' - # -tile => $papier - ); -$zinc->pack(-expand => 1, -fill => 'both'); -$zinc->configure(-width => 500, -height => 500); -$zinc->scale($top, 1, -1); - -$view = $zinc->add('group', $top, - -tags => 'controls'); -$clipbez = $zinc->add('bezier', $view, [20, -20, - 890, -20, - 890, -900, - 20, -400], - -linewidth => 0, - -filled => 1, - -fillcolor => 'tan'); -#$zinc->itemconfigure($view, -# -clip => $clipbez); - -# -# Create the model -# -$model = $zinc->add('group', $view); -$mp = $zinc->add('bezier', $model, [50, -150, - 100, -50, - 270, -130, - 220, -200, - 200, -180, - 180, -300, - 140, -160, - 70, -300], - -fillcolor => 'tan', - -tags => 'bezier', - -linewidth =>$lw); -#$zinc->add('rectangle', $model, [50, -150, 100, -50]); -@bbox = $zinc->bbox($mp); -@bbox = $zinc->transform($model, \@bbox); -$x = ($bbox[2] + $bbox[0]) / 2; -$y = $bbox[1] + 5; -$zinc->add('text', $model, - -text => 'CapRound', - -color => 'blue', - -alignment => 'center', - -anchor => 's', - -tags => 'title', - -position => [$x, $y]); - -# -# Now clone for each variation on the polygon -# -$col = 0; -$row = 0; -foreach $current (@show) { - ($cap, $filled, $border, $relief, $title) = @{$current}; - $grp = $zinc->clone($model); - $zinc->translate($grp, $col * 240, $row * (-290 - (2 * $lw))); - $zinc->itemconfigure($zinc->find('withtag', "$grp*bezier"), - -capstyle => $cap, - -filled => $filled, - -linewidth => $border ? $lw : 0, - -relief => $relief, - -linecolor => $relief eq 'flat' ? 'yellow' : 'tan'); - $zinc->itemconfigure($zinc->find('withtag', "$grp*title"), - -text => $title); - $col++; - if ($col >= 4) { - $col = 0; - $row++; - } -} - -# -# Suppress the model -# -$zinc->remove($model); - -my @coords = ( -10, 0, 40, 0, 70, 0, -70, 0, 80, 0, 80, 10, -80, 10, 80, 40, 80, 70, -80, 70, 80, 80, 70, 80, -70, 80, 40, 80, 10, 80, -10, 80, 0, 80, 0, 70, -0, 70, 0, 40, 0, 10, -0, 10, 0, 0, 10, 0); -$zinc->add('bezier', $view, \@coords); - -# -# Some optional graphic features -$closed = 0; -#set smooth 0 -$arrows = 'none'; - -sub toggle_arrows { - if ($arrows eq 'none') { - $arrows = 'first'; - $f = $arrow; - $l = ''; - } - elsif ($arrows eq 'first') { - $arrows = 'last'; - $f = ''; - $l = $arrow; - } - elsif ($arrows eq 'last') { - $arrows = 'both'; - $f = $arrow; - $l = $arrow; - } - elsif ($arrows eq 'both') { - $arrows = 'none'; - $f = ''; - $l = ''; - } - $zinc->itemconfigure('bezier', - -firstend => $f, - -lastend => $l) -} - - -sub toggle_closed { - $closed = !$closed; - foreach $ curve ($zinc->find('withtag', 'bezier')) { - if ($closed) { - @coords = $zinc->coords($curve, 0, 0); - $zinc->coords($curve, 'add', \@coords); - } - else { - $zinc->coords($curve, 'remove', -1) - } - } -} - -$zinc->Tk::focus(); - -$zinc->Tk::bind('', \&toggle_arrows); -$zinc->Tk::bind('', \&toggle_closed); - -$zinc->Tk::bind('', - sub {my $ev = $zinc->XEvent(); - my $it = $zinc->find('closest', $ev->x, $ev->y); - print "$it ", $zinc->verticeat($it, $ev->x, $ev->y), "\n"}); -$zinc->Tk::bind('', sub {Tk::break}); - -new Controls($zinc); -MainLoop(); -- cgit v1.1