Класс BufferCapabilities

Все реализуемые интерфейсы:
Cloneable
public class BufferCapabilities
extends Object
implements Cloneable

Возможности и свойства буферов.

С момента:
1.4
См. также:
BufferStrategy.getCapabilities(), GraphicsConfiguration.getBufferCapabilities()

Вложенные классы

Модификатор и тип Класс Описание
static class  BufferCapabilities.FlipContents

Безопасная по типам перечисление возможного содержимого заднего буфера после перелистывания страницы

Конструкторы

Конструктор Описание
BufferCapabilities​(ImageCapabilities frontCaps, ImageCapabilities backCaps, BufferCapabilities.FlipContents flipContents)

Создает новый объект для задания возможностей буферизации

Методы

Модификатор и тип Метод Описание
Object clone()

Создает и возвращает копию этого объекта.

ImageCapabilities getBackBufferCapabilities()
BufferCapabilities.FlipContents getFlipContents()
ImageCapabilities getFrontBufferCapabilities()
boolean isFullScreenRequired()
boolean isMultiBufferAvailable()
boolean isPageFlipping()

Методы, объявленные в классе java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

BufferCapabilities

public BufferCapabilities(ImageCapabilities frontCaps,
                          ImageCapabilities backCaps,
                          BufferCapabilities.FlipContents flipContents)

Создает новый объект для задания возможностей буферизации

Параметры:
frontCaps - возможности переднего буфера; не может быть null
backCaps - возможности заднего и промежуточных буферов; не может быть null
flipContents - содержимое заднего буфера после перелистывания страницы, null если перелистывание страницы не используется (подразумевает копирование)
Исключения:
IllegalArgumentException - если frontCaps или backCaps имеют null

Методы

getFrontBufferCapabilities

public ImageCapabilities getFrontBufferCapabilities()
Возвращает:
возможности изображения переднего (отображаемого) буфера

getBackBufferCapabilities

public ImageCapabilities getBackBufferCapabilities()
Возвращает:
возможности изображения всех задних буферов (промежуточные буферы считаются задними буферами)

isPageFlipping

public boolean isPageFlipping()
Возвращает:
использует ли стратегия буферов перелистывание страницы; набор буферов, использующих перелистывание, может обмениваться содержимым внутри между передним буфером и одним или несколькими задними буферами, переключая указатель видео (или копируя память внутри). Не использующий перелистывание набор буферов использует копирование для копирования содержимого из одного буфера в другой; в этом случае, getFlipContents возвращает null

getFlipContents

public BufferCapabilities.FlipContents getFlipContents()
Возвращает:
результирующее содержимое заднего буфера после перелистывания страницы. Это значение null когда isPageFlipping возвращает false, подразумевая копирование. Оно может быть одним из FlipContents.UNDEFINED (предполагаемое значение по умолчанию), FlipContents.BACKGROUND, FlipContents.PRIOR, или FlipContents.COPIED.
См. также:
isPageFlipping(), BufferCapabilities.FlipContents.UNDEFINED, BufferCapabilities.FlipContents.BACKGROUND, BufferCapabilities.FlipContents.PRIOR, BufferCapabilities.FlipContents.COPIED

isFullScreenRequired

public boolean isFullScreenRequired()
Возвращает:
является ли перелистывание страницы доступным только в полноэкранном режиме. Если это true, требуется полноэкранный режим для перелистывания страницы.
См. также:
isPageFlipping(), GraphicsDevice.setFullScreenWindow(java.awt.Window)

isMultiBufferAvailable

public boolean isMultiBufferAvailable()
Возвращает:
можно ли выполнить перелистывание страницы с использованием более двух буферов (один или несколько промежуточных буферов, а также передний и задний буферы).
См. также:
isPageFlipping()

clone

public Object clone()

Описание скопировано из класса: Object

Создает и возвращает копию этого объекта. Точное значение «копии» может зависеть от класса объекта. Общий замысел заключается в том, что для любого объекта x, выражение:

x.clone() != x
будет истинным, а выражение:
x.clone().getClass() == x.getClass()
будет true, но это не абсолютные требования. Хотя обычно верно, что:
x.clone().equals(x)
будет true, это не абсолютное требование.

По соглашению возвращаемый объект должен быть получен путем вызова super.clone. Если класс и все его суперклассы (кроме Object) подчиняются этому соглашению, то будет верно, что x.clone().getClass() == x.getClass().

По соглашению объект, возвращаемый этим методом, должен быть независимым от этого объекта (который клонируется). Для достижения этой независимости может потребоваться изменить один или несколько полей объекта, возвращаемого super.clone перед его возвращением. Как правило, это означает копирование любых изменяемых объектов, которые составляют внутреннюю «глубокую структуру» клонируемого объекта, и замена ссылок на эти объекты ссылками на копии. Если класс содержит только примитивные поля или ссылки на неизменяемые объекты, то обычно верно, что никакие поля в объекте, возвращаемом super.clone, не нужно изменять.

Метод clone для класса Object выполняет определённую операцию клонирования. Сначала, если класс этого объекта не реализует интерфейс Cloneable, выбрасывается CloneNotSupportedException. Обратите внимание, что все массивы считаются реализующими интерфейс Cloneable, и что возвращаемый тип метода clone типа массива T[] является T[], где T — любой ссылочный или примитивный тип. В противном случае этот метод создаёт новый экземпляр класса этого объекта и инициализирует все его поля точно содержимым соответствующих полей этого объекта, как если бы они были присвоены; содержимое самих полей не клонируется. Таким образом, этот метод выполняет «поверхностное копирование» этого объекта, а не операцию «глубокого копирования».

Класс Object сам по себе не реализует интерфейс Cloneable, поэтому вызов метода clone на объекте, класс которого Object, приведёт к сбою во время выполнения.

Переопределяет:
clone в классе Object
Возвращает:
копия объекта BufferCapabilities.
См. также:
Cloneable

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/BufferCapabilities.html

Spec-Zone .ru
спецификации, руководства, описания, API