a335d7c88ef4381f965813458962419a72cb7098Neil Madden/*
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * Copyright (c) 1997, 1998, Oracle and/or its affiliates. All rights reserved.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden *
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * This code is free software; you can redistribute it and/or modify it
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * under the terms of the GNU General Public License version 2 only, as
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * published by the Free Software Foundation. Oracle designates this
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * particular file as subject to the "Classpath" exception as provided
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * by Oracle in the LICENSE file that accompanied this code.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden *
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * This code is distributed in the hope that it will be useful, but WITHOUT
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
c9ba1a8f3afcf43e26fe5b062ac652b347b283fbJames Phillpotts * version 2 for more details (a copy is included in the LICENSE file that
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * accompanied this code).
a335d7c88ef4381f965813458962419a72cb7098Neil Madden *
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * You should have received a copy of the GNU General Public License version
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * 2 along with this work; if not, write to the Free Software Foundation,
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden *
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * or visit www.oracle.com if you need additional information or have any
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * questions.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden */
a335d7c88ef4381f965813458962419a72cb7098Neil Madden
a335d7c88ef4381f965813458962419a72cb7098Neil Maddenpackage java.awt.image;
a335d7c88ef4381f965813458962419a72cb7098Neil Madden
a335d7c88ef4381f965813458962419a72cb7098Neil Madden/**
c42550c0e86e2c3f821f5e754ea8ba52d8bb5427Tony Bamford * An interface for objects that wish to be informed when tiles
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * of a WritableRenderedImage become modifiable by some writer via
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * a call to getWritableTile, and when they become unmodifiable via
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * the last call to releaseWritableTile.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden *
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * @see WritableRenderedImage
a335d7c88ef4381f965813458962419a72cb7098Neil Madden *
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * @author Thomas DeWeese
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * @author Daniel Rice
a335d7c88ef4381f965813458962419a72cb7098Neil Madden */
a335d7c88ef4381f965813458962419a72cb7098Neil Maddenpublic interface TileObserver {
a335d7c88ef4381f965813458962419a72cb7098Neil Madden
a335d7c88ef4381f965813458962419a72cb7098Neil Madden /**
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * A tile is about to be updated (it is either about to be grabbed
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * for writing, or it is being released from writing).
a335d7c88ef4381f965813458962419a72cb7098Neil Madden *
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * @param source the image that owns the tile.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * @param tileX the X index of the tile that is being updated.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * @param tileY the Y index of the tile that is being updated.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * @param willBeWritable If true, the tile will be grabbed for writing;
a335d7c88ef4381f965813458962419a72cb7098Neil Madden * otherwise it is being released.
a335d7c88ef4381f965813458962419a72cb7098Neil Madden */
a335d7c88ef4381f965813458962419a72cb7098Neil Madden public void tileUpdate(WritableRenderedImage source,
a335d7c88ef4381f965813458962419a72cb7098Neil Madden int tileX, int tileY,
a335d7c88ef4381f965813458962419a72cb7098Neil Madden boolean willBeWritable);
a335d7c88ef4381f965813458962419a72cb7098Neil Madden
a335d7c88ef4381f965813458962419a72cb7098Neil Madden}
a335d7c88ef4381f965813458962419a72cb7098Neil Madden