/* * Copyright (c) 1999, 2000, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package java.awt; import java.awt.peer.LightweightPeer; import sun.awt.SunGraphicsCallback; abstract class GraphicsCallback extends SunGraphicsCallback { static final class PaintCallback extends GraphicsCallback { private static PaintCallback instance = new PaintCallback(); private PaintCallback() {} public void run(Component comp, Graphics cg) { comp.paint(cg); } static PaintCallback getInstance() { return instance; } } static final class PrintCallback extends GraphicsCallback { private static PrintCallback instance = new PrintCallback(); private PrintCallback() {} public void run(Component comp, Graphics cg) { comp.print(cg); } static PrintCallback getInstance() { return instance; } } static final class PaintAllCallback extends GraphicsCallback { private static PaintAllCallback instance = new PaintAllCallback(); private PaintAllCallback() {} public void run(Component comp, Graphics cg) { comp.paintAll(cg); } static PaintAllCallback getInstance() { return instance; } } static final class PrintAllCallback extends GraphicsCallback { private static PrintAllCallback instance = new PrintAllCallback(); private PrintAllCallback() {} public void run(Component comp, Graphics cg) { comp.printAll(cg); } static PrintAllCallback getInstance() { return instance; } } static final class PeerPaintCallback extends GraphicsCallback { private static PeerPaintCallback instance = new PeerPaintCallback(); private PeerPaintCallback() {} public void run(Component comp, Graphics cg) { comp.validate(); if (comp.peer instanceof LightweightPeer) { comp.lightweightPaint(cg); } else { comp.peer.paint(cg); } } static PeerPaintCallback getInstance() { return instance; } } static final class PeerPrintCallback extends GraphicsCallback { private static PeerPrintCallback instance = new PeerPrintCallback(); private PeerPrintCallback() {} public void run(Component comp, Graphics cg) { comp.validate(); if (comp.peer instanceof LightweightPeer) { comp.lightweightPrint(cg); } else { comp.peer.print(cg); } } static PeerPrintCallback getInstance() { return instance; } } static final class PaintHeavyweightComponentsCallback extends GraphicsCallback { private static PaintHeavyweightComponentsCallback instance = new PaintHeavyweightComponentsCallback(); private PaintHeavyweightComponentsCallback() {} public void run(Component comp, Graphics cg) { if (comp.peer instanceof LightweightPeer) { comp.paintHeavyweightComponents(cg); } else { comp.paintAll(cg); } } static PaintHeavyweightComponentsCallback getInstance() { return instance; } } static final class PrintHeavyweightComponentsCallback extends GraphicsCallback { private static PrintHeavyweightComponentsCallback instance = new PrintHeavyweightComponentsCallback(); private PrintHeavyweightComponentsCallback() {} public void run(Component comp, Graphics cg) { if (comp.peer instanceof LightweightPeer) { comp.printHeavyweightComponents(cg); } else { comp.printAll(cg); } } static PrintHeavyweightComponentsCallback getInstance() { return instance; } } }