7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 import java.awt.Image;
25 import java.awt.Toolkit;
26 import java.awt.image.MultiResolutionImage;
27 import jdk.testlibrary.OSInfo;
28
29 /*
30 * @test
31 * @bug 8033534 8035069
32 * @summary [macosx] Get MultiResolution image from native system
33 * @author Alexander Scherbatiy
34 * @modules java.desktop/sun.awt.image
35 * @library /lib/testlibrary
36 * @build jdk.testlibrary.OSInfo
37 * @run main NSImageToMultiResolutionImageTest
38 */
39
40 public class NSImageToMultiResolutionImageTest {
41
42 public static void main(String[] args) throws Exception {
43
44 if (OSInfo.getOSType() != OSInfo.OSType.MACOSX) {
45 return;
46 }
47
48 String icon = "NSImage://NSApplicationIcon";
49 final Image image = Toolkit.getDefaultToolkit().getImage(icon);
50
51 if (!(image instanceof MultiResolutionImage)) {
52 throw new RuntimeException("Icon does not have resolution variants!");
53 }
54
55 MultiResolutionImage multiResolutionImage = (MultiResolutionImage) image;
56
57 int width = 0;
58 int height = 0;
59
60 for (Image resolutionVariant : multiResolutionImage.getResolutionVariants()) {
61 int rvWidth = resolutionVariant.getWidth(null);
62 int rvHeight = resolutionVariant.getHeight(null);
63 if (rvWidth < width || rvHeight < height) {
64 throw new RuntimeException("Resolution variants are not sorted!");
|
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 import java.awt.Image;
25 import java.awt.Toolkit;
26 import java.awt.image.MultiResolutionImage;
27
28 import jdk.test.lib.Platform;
29
30 /*
31 * @test
32 * @bug 8033534 8035069
33 * @summary [macosx] Get MultiResolution image from native system
34 * @author Alexander Scherbatiy
35 * @modules java.desktop/sun.awt.image
36 * @library /test/lib
37 * @build jdk.test.lib.Platform
38 * @run main NSImageToMultiResolutionImageTest
39 */
40
41 public class NSImageToMultiResolutionImageTest {
42
43 public static void main(String[] args) throws Exception {
44
45 if (!Platform.isOSX()) {
46 return;
47 }
48
49 String icon = "NSImage://NSApplicationIcon";
50 final Image image = Toolkit.getDefaultToolkit().getImage(icon);
51
52 if (!(image instanceof MultiResolutionImage)) {
53 throw new RuntimeException("Icon does not have resolution variants!");
54 }
55
56 MultiResolutionImage multiResolutionImage = (MultiResolutionImage) image;
57
58 int width = 0;
59 int height = 0;
60
61 for (Image resolutionVariant : multiResolutionImage.getResolutionVariants()) {
62 int rvWidth = resolutionVariant.getWidth(null);
63 int rvHeight = resolutionVariant.getHeight(null);
64 if (rvWidth < width || rvHeight < height) {
65 throw new RuntimeException("Resolution variants are not sorted!");
|