2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
5 package net.java.html.canvas;
7 import java.util.ServiceLoader;
13 public abstract class GraphicsEnvironment {
15 private static GraphicsEnvironment DEFAULT;
17 public GraphicsEnvironment getDefault() {
18 if (DEFAULT == null) {
19 ServiceLoader<GraphicsEnvironment> loader = ServiceLoader.load(GraphicsEnvironment.class);
20 DEFAULT = loader.iterator().next();
22 return DEFAULT == null ? getDummyInstance() : DEFAULT;
25 public abstract Image getImageForPath(String path);
27 public abstract LinearGradient createLinearGradient();
29 public abstract Pattern createPattern();
31 public abstract RadialGradient createRadialGradient();
33 public abstract TextMetrics createTextMetrics();
35 private GraphicsEnvironment getDummyInstance() {
37 return new GraphicsEnvironment() {
40 public Image getImageForPath(String path) {
44 public int getHeight() {
49 public int getWidth() {
56 public LinearGradient createLinearGradient() {
57 return new LinearGradient() {
60 public void addColorStop(double position, String color) {
67 public Pattern createPattern() {
68 return new Pattern() {
73 public RadialGradient createRadialGradient() {
74 return new RadialGradient() {
77 public void addColorStop(double position, String color) {
84 public TextMetrics createTextMetrics() {
85 return new TextMetrics() {
88 public double getHeight() {
93 public double getWidth() {