use Tk;
# use strict;
use CardPlay::Card;
use CardPlay::CardPile;
use CardPlay::CardBoard;
my $w = MainWindow->new();
$w->title('Card Demonstration');
$w->iconname('Card');
# my @ARG = $w;
my $w_msg = $w->Label(-font => '-Adobe-Times-Medium-R-Normal-*-180-*-*-*-*-*-*', -wraplength => '4i',
-justify => 'left', -text => 'CardPile Demonstratoin');
my $c = $w->Canvas(-relief => 'raised');
my $w_frame = $w->Frame;
my $w_ok = $w_frame->Button(-text => 'Quit', -width => 8, -command => ['destroy', $w]);
my $w_undo = $w_frame->Button(-text => 'Undo', -width => 8, -command => sub { $main::board->undo() ;});
my $w_redo = $w_frame->Button(-text => 'Redo', -width => 8, -command => sub { $main::board->redo() ;});
$w_msg->pack(-side => 'top', -fill => 'x');
$c->pack(-side => 'top', -fill => 'both',-expand=>'t');
$w_frame->pack(-side => 'bottom', -pady => '5');
$w_ok->pack(-side => 'left', -padx => '5');
$w_undo->pack(-side => 'left', -padx => '5');
$w_redo->pack(-side => 'left', -padx => '5');
$w->update();
# Card->init(-main=>$w,-large=>1);
CardPlay::Card->init(-main=>$w);
print STDOUT "card initialzation done\n";
$board = CardPlay::CardBoard->new();
$x = 20;
$y = 20;
for($i=0;$i<4;$i++) {
$cp = CardPlay::CardPile->new(-canvas=>$c,-base=>1,-board=>$board);
$cp->display('-x'=>$x,'-y'=>$y,-mergeable=>1);
$x += $CardPlay::Card::cx+5;
}
$x = 20;
$y = 120;
foreach $suit ( 's','h','c','d') {
$card = [];
for($i=1;$i<14;$i++) {
$card->[$i-1]=CardPlay::Card->new(
-canvas=>$c,-board=>$board,-suit=>$suit,-number=>$i);
}
$cp = CardPlay::CardPile->new(
-canvas=>$c,-contents=>$card,-auto_open=>1,-board=>$board);
$cp->display('-x'=>$x,'-y'=>$y, -splitable=>1,-base=>1);
$x += $CardPlay::Card::cx+5;
}
print STDOUT "cardpile initialzation done\n";
$board->log_commit(-1);
$w->update();
$w->MainLoop();
1;
# end