1 /*
2  * Copyright (c) 1999, 2019, 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.  Oracle designates this
8  * particular file as subject to the "Classpath" exception as provided
9  * by Oracle in the LICENSE file that accompanied this code.
10  *
11  * This code is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14  * version 2 for more details (a copy is included in the LICENSE file that
15  * accompanied this code).
16  *
17  * You should have received a copy of the GNU General Public License version
18  * 2 along with this work; if not, write to the Free Software Foundation,
19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22  * or visit www.oracle.com if you need additional information or have any
23  * questions.
24  */
25 
26 package sun.awt.image;
27 
28 import java.awt.GraphicsConfiguration;
29 import java.awt.GraphicsDevice;
30 
31 public final class BufferedImageDevice extends GraphicsDevice {
32 
33     private final GraphicsConfiguration config;
34 
BufferedImageDevice(final BufferedImageGraphicsConfig config)35     public BufferedImageDevice(final BufferedImageGraphicsConfig config) {
36         this.config = config;
37     }
38 
39     /**
40      * Returns the type of this {@code GraphicsDevice}.
41      * @return the type of this {@code GraphicsDevice}, which can
42      * either be TYPE_RASTER_SCREEN, TYPE_PRINTER or TYPE_IMAGE_BUFFER.
43      * @see #TYPE_RASTER_SCREEN
44      * @see #TYPE_PRINTER
45      * @see #TYPE_IMAGE_BUFFER
46      */
47     @Override
getType()48     public int getType() {
49         return GraphicsDevice.TYPE_IMAGE_BUFFER;
50     }
51 
52     /**
53      * Returns the identification string associated with this
54      * {@code GraphicsDevice}.
55      * @return a {@code String} that is the identification
56      * of this {@code GraphicsDevice}.
57      */
58     @Override
getIDstring()59     public String getIDstring() {
60         return ("BufferedImage");
61     }
62 
63     /**
64      * Returns all of the {@code GraphicsConfiguration}
65      * objects associated with this {@code GraphicsDevice}.
66      * @return an array of {@code GraphicsConfiguration}
67      * objects that are associated with this
68      * {@code GraphicsDevice}.
69      */
70     @Override
getConfigurations()71     public GraphicsConfiguration[] getConfigurations() {
72         return new GraphicsConfiguration[]{config};
73     }
74 
75     /**
76      * Returns the default {@code GraphicsConfiguration}
77      * associated with this {@code GraphicsDevice}.
78      * @return the default {@code GraphicsConfiguration}
79      * of this {@code GraphicsDevice}.
80      */
81     @Override
getDefaultConfiguration()82     public GraphicsConfiguration getDefaultConfiguration() {
83         return config;
84     }
85 }
86