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.java2d;
27
28 import sun.awt.image.SunVolatileImage;
29 import sun.awt.image.VolatileSurfaceManager;
30 import sun.java2d.opengl.CGLVolatileSurfaceManager;
31
32 /**
33 * This is a factory class with static methods for creating a
34 * platform-specific instance of a particular SurfaceManager. Each platform
35 * (Windows, Unix, etc.) has its own specialized SurfaceManagerFactory.
36 */
37 public class MacosxSurfaceManagerFactory extends SurfaceManagerFactory {
38
39 /**
40 * Creates a new instance of a VolatileSurfaceManager given any
41 * arbitrary SunVolatileImage. An optional context Object can be supplied
42 * as a way for the caller to pass pipeline-specific context data to
43 * the VolatileSurfaceManager (such as a backbuffer handle, for example).
44 *
45 * For Mac OS X, this method returns either an CGL-specific
46 * VolatileSurfaceManager based on the GraphicsConfiguration
47 * under which the SunVolatileImage was created.
48 */
49 public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg,
50 Object context)
51 {
52 return new CGLVolatileSurfaceManager(vImg, context);
53 }
54 }
|
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.java2d;
27
28 import sun.awt.image.SunVolatileImage;
29 import sun.awt.image.VolatileSurfaceManager;
30 import sun.java2d.macos.MacOSFlags;
31 import sun.java2d.metal.MTLVolatileSurfaceManager;
32 import sun.java2d.opengl.CGLVolatileSurfaceManager;
33
34 /**
35 * This is a factory class with static methods for creating a
36 * platform-specific instance of a particular SurfaceManager. Each platform
37 * (Windows, Unix, etc.) has its own specialized SurfaceManagerFactory.
38 */
39 public class MacosxSurfaceManagerFactory extends SurfaceManagerFactory {
40
41 /**
42 * Creates a new instance of a VolatileSurfaceManager given any
43 * arbitrary SunVolatileImage. An optional context Object can be supplied
44 * as a way for the caller to pass pipeline-specific context data to
45 * the VolatileSurfaceManager (such as a backbuffer handle, for example).
46 *
47 * For Mac OS X, this method returns either an CGL-specific
48 * VolatileSurfaceManager based on the GraphicsConfiguration
49 * under which the SunVolatileImage was created.
50 */
51 public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg,
52 Object context)
53 {
54 return MacOSFlags.isMetalEnabled() ? new MTLVolatileSurfaceManager(vImg, context) :
55 new CGLVolatileSurfaceManager(vImg, context);
56 }
57 }
|