1--TEST--
2Test Imagick, setImageMask basic
3--SKIPIF--
4<?php
5require_once(dirname(__FILE__) . '/skipif.inc');
6checkClassMethods('Imagick', array('getImageMask', 'setImageMask'));
7?>
8--FILE--
9<?php
10
11// TODO - this doesn't really test that it works...
12
13$imagick = new \Imagick();
14$imagick->newPseudoImage(640, 480, "magick:logo");
15
16$default_mask = $imagick->getImageMask(Imagick::PIXELMASK_READ);
17
18if ($default_mask !== null) {
19	echo "Default mask is not null but\n";
20	var_dump($default_mask);
21}
22
23$mask = new Imagick();
24$mask->newPseudoImage(480, 640, "gradient:black-white");
25$mask->transposeImage();
26
27$imagick->setImageMask($mask, Imagick::PIXELMASK_READ);
28
29$mask = $imagick->getImageMask(Imagick::PIXELMASK_READ);
30$mask->setImageFormat('png');
31//$mask->writeImage(__DIR__ . "/i_am_a_mask.png");
32//if ( !== Imagick::PIXELMASK_READ) {
33//    echo "Failed to set/get Imagick::PIXELMASK_READ";
34//};
35
36$imagick->setImageMask($mask, Imagick::PIXELMASK_WRITE);
37
38//$imagick->blurImage(15, 4);
39//$imagick->writeImage(__DIR__ . "/mask_test.png");
40
41//if ($imagick->getImageMask() !== Imagick::PIXELMASK_WRITE) {
42//        echo "Failed to set/get Imagick::PIXELMASK_WRITE";
43//    };
44
45// This can only be tested MagickLibVersion >= 0x708
46// so should probably be in a test by itself, once it's figured out
47// what it does.
48// $imagick->setImageMask($mask, Imagick::PIXELMASK_COMPOSITE);
49//if ($imagick->getImageMask() !== Imagick::PIXELMASK_COMPOSITE) {
50//    echo "Failed to set/get Imagick::PIXELMASK_COMPOSITE";
51//};
52
53$imagick->setImageMask($mask, -1);
54// $unknown_result = $imagick->getImageMask(Imagick::PIXELMASK_READ);
55// todo echo "not sure what -1 should be: $unknown_result \n";
56
57echo "Ok";
58?>
59--EXPECTF--
60Ok