1/*
2 * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
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
24import java.awt.image.BufferedImage;
25
26/*
27 * @test
28 * @summary Check that BufferedImage constructors and methods do not throw
29 *          unexpected exceptions in headless mode
30 * @run main/othervm -Djava.awt.headless=true HeadlessBufferedImage
31 */
32
33public class HeadlessBufferedImage {
34
35    public static void main(String args[]) {
36        BufferedImage bi;
37        bi = new BufferedImage(300, 300, BufferedImage.TYPE_3BYTE_BGR);
38        bi = new BufferedImage(300, 300, BufferedImage.TYPE_4BYTE_ABGR);
39        bi = new BufferedImage(300, 300, BufferedImage.TYPE_BYTE_BINARY);
40        bi = new BufferedImage(300, 300, BufferedImage.TYPE_BYTE_GRAY);
41        bi = new BufferedImage(300, 300, BufferedImage.TYPE_BYTE_INDEXED);
42        bi = new BufferedImage(300, 300, BufferedImage.TYPE_INT_ARGB);
43        bi = new BufferedImage(300, 300, BufferedImage.TYPE_INT_ARGB_PRE);
44        bi = new BufferedImage(300, 300, BufferedImage.TYPE_INT_BGR);
45        bi = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB);
46        bi = new BufferedImage(300, 300, BufferedImage.TYPE_USHORT_565_RGB);
47        bi = new BufferedImage(300, 300, BufferedImage.TYPE_USHORT_GRAY);
48        bi = new BufferedImage(300, 300, BufferedImage.TYPE_USHORT_555_RGB);
49        bi.getType();
50        bi.getColorModel();
51        bi.getRaster();
52        bi.getAlphaRaster();
53        bi.getRGB(1, 1);
54        bi.getWidth();
55        bi.getHeight();
56        bi.getSource();
57        bi.flush();
58        bi.getGraphics();
59        bi.createGraphics();
60        BufferedImage bi2 = bi.getSubimage(10, 10, 200, 200);
61        bi.isAlphaPremultiplied();
62        bi.coerceData(true);
63        bi.coerceData(false);
64        bi.toString();
65        bi.getSources();
66        bi.getPropertyNames();
67        bi.getMinX();
68        bi.getMinY();
69        bi.getSampleModel();
70        bi.getNumXTiles();
71        bi.getNumYTiles();
72        bi.getMinTileX();
73        bi.getMinTileY();
74        bi.getTileWidth();
75        bi.getTileHeight();
76        bi.getTileGridXOffset();
77        bi.getTileGridYOffset();
78        bi.getData();
79    }
80}
81