Интерфейс WritableRenderedImage
- Все суперинтерфейсы:
- RenderedImage
- Все известные реализующие классы:
- BufferedImage
public interface WritableRenderedImage extends RenderedImage
WritableRenderedImage — это общий интерфейс для объектов, которые содержат или могут генерировать данные изображения в виде растровых изображений и которые могут быть изменены и/или перезаписаны. Данные изображения могут храниться/генерироваться как одна плитка или регулярный массив плиток.
WritableRenderedImage предоставляет уведомления другим заинтересованным объектам, когда плитка вызывается для записи (через метод getWritableTile) и когда последний автор определенной плитки отказывается от доступа (через вызов releaseWritableTile). Кроме того, он позволяет любому вызывающему объекту определить, есть ли в настоящее время какие-либо вызываемые плитки (через hasTileWriters) и получить список таких плиток (через getWritableTileIndices в виде вектора объектов Point).
Объекты, которые хотят получать уведомления об изменениях в возможности записи плиток, должны реализовать интерфейс TileObserver и добавляются вызовом addTileObserver. Несколько вызовов addTileObserver для одного и того же объекта приведут к нескольким уведомлениям. Существующий наблюдатель может уменьшить свои уведомления, вызвав removeTileObserver; если у наблюдателя не было уведомлений, операция является пустой.
Для WritableRenderedImage необходимо гарантировать, что уведомления происходят только тогда, когда первый автор получает плитку и последний автор ее освобождает.
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addTileObserver(TileObserver to) Добавляет наблюдателя. |
WritableRaster |
getWritableTile(int tileX,
int tileY) Вызывает плитку для записи. |
Point[] |
getWritableTileIndices() Возвращает массив объектов Point, указывающих, какие плитки вызваны для записи. |
boolean |
hasTileWriters() Возвращает, вызвана ли какая-либо плитка для записи. |
boolean |
isTileWritable(int tileX,
int tileY) Возвращает, вызвана ли плитка для записи в данный момент. |
void |
releaseWritableTile(int tileX,
int tileY) Отказывается от права записи в плитку. |
void |
removeTileObserver(TileObserver to) Удаляет наблюдателя. |
void |
setData(Raster r) Устанавливает прямоугольник изображения содержимым Raster r, который предполагается находящимся в той же системе координат, что и WritableRenderedImage. |
Методы, унаследованные от интерфейса java.awt.image.RenderedImage
copyData, getColorModel, getData, getData, getHeight, getMinTileX, getMinTileY, getMinX, getMinY, getNumXTiles, getNumYTiles, getProperty, getPropertyNames, getSampleModel, getSources, getTile, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getWidth Методы
addTileObserver
void addTileObserver(TileObserver to)
Добавляет наблюдателя. Если наблюдатель уже присутствует, он получит несколько уведомлений.
- Параметры:
-
to- указанныйTileObserver
removeTileObserver
void removeTileObserver(TileObserver to)
Удаляет наблюдателя. Если наблюдатель не был зарегистрирован, ничего не происходит. Если наблюдатель был зарегистрирован для нескольких уведомлений, он теперь будет зарегистрирован для на одно уведомление меньше.
- Параметры:
-
to- указанныйTileObserver
getWritableTile
WritableRaster getWritableTile(int tileX,
int tileY) Вызывает плитку для записи. WritableRenderedImage отвечает за уведомление всех своих TileObservers, когда плитка переходит от отсутствия авторов к одному автору.
- Параметры:
-
tileX- индекс X плитки. -
tileY- индекс Y плитки. - Возвращает:
- плитка для записи.
releaseWritableTile
void releaseWritableTile(int tileX,
int tileY) Отказывается от права записи в плитку. Если вызывающий объект продолжает запись в плитку, результаты не определены. Вызовы этого метода должны появляться только в соответствующих парах с вызовами getWritableTile; любое другое использование приведет к неопределенным результатам. WritableRenderedImage отвечает за уведомление всех своих TileObservers, когда плитка переходит от одного автора к отсутствию авторов.
- Параметры:
-
tileX- индекс X плитки. -
tileY- индекс Y плитки.
isTileWritable
boolean isTileWritable(int tileX,
int tileY) Возвращает, вызвана ли плитка для записи в данный момент.
- Параметры:
-
tileX- индекс X плитки. -
tileY- индекс Y плитки. - Возвращает:
-
trueесли указанная плитка вызвана для записи;falseв противном случае.
getWritableTileIndices
Point[] getWritableTileIndices()
Возвращает массив объектов Point, указывающих, какие плитки вызваны для записи. Возвращает null, если никакие не вызваны.
- Возвращает:
- массив, содержащий расположения плиток, которые вызваны для записи.
hasTileWriters
boolean hasTileWriters()
Возвращает, вызвана ли какая-либо плитка для записи. Семантически эквивалентно (getWritableTileIndices() != null).
- Возвращает:
-
trueесли какие-либо плитки вызваны для записи;falseв противном случае.
setData
void setData(Raster r)
Устанавливает прямоугольник изображения содержимым Raster r, который предполагается находящимся в той же системе координат, что и WritableRenderedImage. Операция обрезается до границ WritableRenderedImage.
- Параметры:
-
r- указанныйRaster
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.