001 /*
002 * Copyright 1999-2000 Sun Microsystems, Inc. All Rights Reserved.
003 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004 *
005 * This code is free software; you can redistribute it and/or modify it
006 * under the terms of the GNU General Public License version 2 only, as
007 * published by the Free Software Foundation. Sun designates this
008 * particular file as subject to the "Classpath" exception as provided
009 * by Sun in the LICENSE file that accompanied this code.
010 *
011 * This code is distributed in the hope that it will be useful, but WITHOUT
012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014 * version 2 for more details (a copy is included in the LICENSE file that
015 * accompanied this code).
016 *
017 * You should have received a copy of the GNU General Public License version
018 * 2 along with this work; if not, write to the Free Software Foundation,
019 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020 *
021 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022 * CA 95054 USA or visit www.sun.com if you need additional information or
023 * have any questions.
024 */
025
026 package java.awt;
027
028 import java.awt.peer.LightweightPeer;
029 import sun.awt.SunGraphicsCallback;
030
031 abstract class GraphicsCallback extends SunGraphicsCallback {
032
033 static final class PaintCallback extends GraphicsCallback {
034 private static PaintCallback instance = new PaintCallback();
035
036 private PaintCallback() {
037 }
038
039 public void run(Component comp, Graphics cg) {
040 comp.paint(cg);
041 }
042
043 static PaintCallback getInstance() {
044 return instance;
045 }
046 }
047
048 static final class PrintCallback extends GraphicsCallback {
049 private static PrintCallback instance = new PrintCallback();
050
051 private PrintCallback() {
052 }
053
054 public void run(Component comp, Graphics cg) {
055 comp.print(cg);
056 }
057
058 static PrintCallback getInstance() {
059 return instance;
060 }
061 }
062
063 static final class PaintAllCallback extends GraphicsCallback {
064 private static PaintAllCallback instance = new PaintAllCallback();
065
066 private PaintAllCallback() {
067 }
068
069 public void run(Component comp, Graphics cg) {
070 comp.paintAll(cg);
071 }
072
073 static PaintAllCallback getInstance() {
074 return instance;
075 }
076 }
077
078 static final class PrintAllCallback extends GraphicsCallback {
079 private static PrintAllCallback instance = new PrintAllCallback();
080
081 private PrintAllCallback() {
082 }
083
084 public void run(Component comp, Graphics cg) {
085 comp.printAll(cg);
086 }
087
088 static PrintAllCallback getInstance() {
089 return instance;
090 }
091 }
092
093 static final class PeerPaintCallback extends GraphicsCallback {
094 private static PeerPaintCallback instance = new PeerPaintCallback();
095
096 private PeerPaintCallback() {
097 }
098
099 public void run(Component comp, Graphics cg) {
100 comp.validate();
101 if (comp.peer instanceof LightweightPeer) {
102 comp.lightweightPaint(cg);
103 } else {
104 comp.peer.paint(cg);
105 }
106 }
107
108 static PeerPaintCallback getInstance() {
109 return instance;
110 }
111 }
112
113 static final class PeerPrintCallback extends GraphicsCallback {
114 private static PeerPrintCallback instance = new PeerPrintCallback();
115
116 private PeerPrintCallback() {
117 }
118
119 public void run(Component comp, Graphics cg) {
120 comp.validate();
121 if (comp.peer instanceof LightweightPeer) {
122 comp.lightweightPrint(cg);
123 } else {
124 comp.peer.print(cg);
125 }
126 }
127
128 static PeerPrintCallback getInstance() {
129 return instance;
130 }
131 }
132
133 static final class PaintHeavyweightComponentsCallback extends
134 GraphicsCallback {
135 private static PaintHeavyweightComponentsCallback instance = new PaintHeavyweightComponentsCallback();
136
137 private PaintHeavyweightComponentsCallback() {
138 }
139
140 public void run(Component comp, Graphics cg) {
141 if (comp.peer instanceof LightweightPeer) {
142 comp.paintHeavyweightComponents(cg);
143 } else {
144 comp.paintAll(cg);
145 }
146 }
147
148 static PaintHeavyweightComponentsCallback getInstance() {
149 return instance;
150 }
151 }
152
153 static final class PrintHeavyweightComponentsCallback extends
154 GraphicsCallback {
155 private static PrintHeavyweightComponentsCallback instance = new PrintHeavyweightComponentsCallback();
156
157 private PrintHeavyweightComponentsCallback() {
158 }
159
160 public void run(Component comp, Graphics cg) {
161 if (comp.peer instanceof LightweightPeer) {
162 comp.printHeavyweightComponents(cg);
163 } else {
164 comp.printAll(cg);
165 }
166 }
167
168 static PrintHeavyweightComponentsCallback getInstance() {
169 return instance;
170 }
171 }
172 }
|