aboutsummaryrefslogtreecommitdiff
path: root/Perl/demos/Tk/demos/zinc_lib/color-circular.pl
blob: 0b199215f156392809c98b7153ebb7fee5a9a32b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/perl
# $Id$
# these simple samples have been developped by C. Mertz mertz@cena.fr

use Tk;
use Tk::Zinc;
use strict;

my $defaultfont = '-adobe-helvetica-bold-r-normal-*-120-*-*-*-*-*-*';
my $mw = MainWindow->new();
my $zinc = $mw->Zinc(-width => 700, -height => 600,
		     -borderwidth => 3, -relief => 'sunken',
		     -render => 1, # for activating the openGL render
		     )->pack;

die "no openGL rendering on this X server" unless $zinc->cget(-render);


$zinc->add('rectangle', 1, [10, 10, 80, 80], -fillcolor => "red|blue(50 50", -filled => 1);

$zinc->add('text', 1,
	   -font => $defaultfont,
	   -text => "Radial variation from non-transparent red to non-transparent blue\nin a squarre. The gradient starts from the lower right corner.\n",
	   -anchor => 'nw',
	   -position => [120, 20]);

$zinc->add('arc', 1, [10, 110, 90, 190], -fillcolor => "red:40|blue:40(0 25", -filled => 1);

$zinc->add('text', 1,
	   -font => $defaultfont,
	   -text => "Radial variation from 40%transparent red to 40% transparent blue\nin a disc. The gradient starts in the middle between\nthe center on the bottom point",
	   -anchor => 'nw',
	   -position => [120, 120]);

$zinc->add('arc', 1, [10, 210, 90, 290], -fillcolor => "red:40|green:40 50|blue:40(0 0", -filled => 1);

$zinc->add('text', 1,
	   -font => $defaultfont,
	   -text => "A variation from 40%transparent red to 40% transparent blue.\n".
	   "through a 40%green on the middle of the disc. The gradient is centered.",
	   -anchor => 'nw',
	   -position => [120, 220]);

$zinc->add('text', 1,
	   -font => $defaultfont,
	   -text => "Two overlaping radialy, transparently colored items on a white background",
	   -anchor => 'nw',
	   -position => [20, 320]);

$zinc->add('rectangle', 1, [10, 340, 690, 590], -fillcolor => "white", -filled => 1);

$zinc->add('rectangle', 1, [20, 365, 220, 565], -fillcolor => "red:40|green:40 50|blue:40(0 0", -filled => 1);

$zinc->add('arc', 1, [150, 365, 350, 565], -fillcolor => "yellow:40|black:40 50|cyan:40(0 0", -filled => 1);

$zinc->add('arc', 1, [280, 365, 480, 565], -fillcolor => "black:100|black:100 20|white:40(0 0", -filled => 1, -linewidth => 0);

$zinc->add('arc', 1, [480, 365, 580, 500], -fillcolor => "black:100|white:40(-10 16", -filled => 1);

$zinc->add('arc', 1, [580, 410, 680, 580], -fillcolor => "black:70|white:20(-40 -40", -filled => 1);
$zinc->add('arc', 1, [580, 410, 680, 580], -fillcolor => "black:70|white:20(40 40", -filled => 1);



MainLoop;