Класс GlyphView.GlyphPainter
- java.lang.Object
-
- javax.swing.text.GlyphView.GlyphPainter
- Вложенный класс:
- GlyphView
public abstract static class GlyphView.GlyphPainter extends Object
Класс для выполнения отрисовки глифов. Его можно реализовать без состояния или для хранения некоторой информации в кэше, чтобы ускорить отрисовку и перевод модель/представление. Минимум, GlyphPainter позволяет реализации View выполнять свои задачи независимо от конкретной версии JVM и выбранных возможностей (например, форматирования для i18n и т. д.).
- С тех пор:
- 1.3
Конструкторы
| Конструктор | Описание |
|---|---|
GlyphPainter() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract float |
getAscent(GlyphView v) |
Возвращает значение восхождения. |
abstract int |
getBoundedPosition(GlyphView v,
int p0,
float x,
float len) |
Определяет расположение модели, которое представляет максимальное продвижение, помещающееся в заданный интервал. |
abstract float |
getDescent(GlyphView v) |
Возвращает значение спуска. |
abstract float |
getHeight(GlyphView v) |
Возвращает значение высоты. |
int |
getNextVisualPositionFrom(GlyphView v,
int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet) |
Предоставляет способ определения следующего визуально представленного расположения модели, в котором можно разместить курсор. |
GlyphView.GlyphPainter |
getPainter(GlyphView v,
int p0,
int p1) |
Создаёт рисовальщик для использования с заданным GlyphView. |
abstract float |
getSpan(GlyphView v,
int p0,
int p1,
TabExpander e,
float x) |
Определяет интервал глифов, задавая начальную позицию (для расширения табуляции). |
abstract Shape |
modelToView(GlyphView v,
int pos,
Position.Bias bias,
Shape a) |
Предоставляет отображение из координатного пространства модели документа в координатное пространство представления, отображённого на него. |
abstract void |
paint(GlyphView v,
Graphics g,
Shape a,
int p0,
int p1) |
Отображает глифы, представляющие заданный диапазон. |
abstract int |
viewToModel(GlyphView v,
float x,
float y,
Shape a,
Position.Bias[] biasReturn) |
Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Конструкторы
GlyphPainter
public GlyphPainter()
Методы
getSpan
public abstract float getSpan(GlyphView v,
int p0,
int p1,
TabExpander e,
float x)
Определяет интервал глифов, задавая начальную позицию (для расширения табуляции).
- Параметры:
-
v- theGlyphView -
p0- начальная позиция -
p1- конечная позиция -
e- способ расширения табуляции при обнаружении -
x- координата X - Возвращает:
- интервал глифов, заданный начальной позицией
getHeight
public abstract float getHeight(GlyphView v)
Возвращает значение высоты.
- Параметры:
-
v- theGlyphView - Возвращает:
- значение высоты
getAscent
public abstract float getAscent(GlyphView v)
Возвращает значение восхождения.
- Параметры:
-
v- theGlyphView - Возвращает:
- значение восхождения
getDescent
public abstract float getDescent(GlyphView v)
Возвращает значение спуска.
- Параметры:
-
v- theGlyphView - Возвращает:
- значение спуска
paint
public abstract void paint(GlyphView v,
Graphics g,
Shape a,
int p0,
int p1)
Отображает глифы, представляющие заданный диапазон.
- Параметры:
-
v- theGlyphView -
g- контекст графики -
a- текущее выделение представления -
p0- начальная позиция -
p1- конечная позиция
modelToView
public abstract Shape modelToView(GlyphView v,
int pos,
Position.Bias bias,
Shape a)
throws BadLocationException
Предоставляет отображение из координатного пространства модели документа в координатное пространство представления, отображённого на него. Это разделяется разрывными представлениями.
- Параметры:
-
v- theGlyphViewсодержащее целевое координатное пространство -
pos- позиция для преобразования -
bias- либоPosition.Bias.ForwardлибоPosition.Bias.Backward -
a- Границы представления - Возвращает:
- объём заданной позиции
- Исключения:
-
BadLocationException- если заданная позиция не представляет собой допустимое расположение в связанном документе - См. также:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
viewToModel
public abstract int viewToModel(GlyphView v,
float x,
float y,
Shape a,
Position.Bias[] biasReturn)
Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели.
- Параметры:
-
v- theGlyphViewдля предоставления отображения -
x- координата X -
y- координата Y -
a- выделенная область для отрисовки -
biasReturn- либоPosition.Bias.ForwardлибоPosition.Bias.Backwardвозвращается в качестве нулевого элемента этого массива - Возвращает:
- расположение в модели, которое наилучшим образом представляет заданную точку представления
- См. также:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
getBoundedPosition
public abstract int getBoundedPosition(GlyphView v,
int p0,
float x,
float len)
Определяет расположение модели, которое представляет максимальное продвижение, помещающееся в заданный интервал. Это можно использовать для разделения данного представления. Результат должен быть расположением, немного меньшим, чем заданное продвижение. Это отличается от viewToModel, которое возвращает ближайшую позицию, которая может быть больше максимального продвижения.
- Параметры:
-
v- представление для поиска расположения модели для разрыва. -
p0- расположение в модели, в котором фрагмент должен начать своё представление >= 0. -
x- графическое расположение по оси, которое будет занимать разрывное представление >= 0. Это может быть полезно для расчётов табуляции. -
len- указывает расстояние в представлении, где желателен потенциальный разрыв >= 0. - Возвращает:
- максимальное расположение модели, возможное для разрыва.
- См. также:
View.breakView(int, int, float, float)
getPainter
public GlyphView.GlyphPainter getPainter(GlyphView v,
int p0,
int p1)
Создаёт рисовальщик для использования с заданным GlyphView. Если рисовальщик несёт состояние, он может создать другой рисовальщик для представления нового GlyphView, который создаётся. Если рисовальщик не несёт существенного состояния, он может вернуть себя. По умолчанию возвращается сам себя.
- Параметры:
-
v- theGlyphViewдля предоставления рисовальщика -
p0- начальный смещение документа >= 0 -
p1- конечное смещение документа >= p0 - Возвращает:
- рисовальщик для использования с заданным GlyphView
getNextVisualPositionFrom
public int getNextVisualPositionFrom(GlyphView v,
int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet)
throws BadLocationException
Предоставляет способ определения следующего визуально представленного расположения модели, в котором можно разместить курсор. Некоторые представления могут быть невидимыми, они могут быть не в том же порядке, что и в модели, или они просто могут не позволять доступ к некоторым расположениям в модели.
- Параметры:
-
v- используемое представление -
pos- позиция для преобразования >= 0 -
b- либоPosition.Bias.ForwardлибоPosition.Bias.Backward -
a- выделенная область для отрисовки -
direction- направление от текущей позиции, которое можно рассматривать как клавиши со стрелками, обычно встречающиеся на клавиатуре. Это может быть SwingConstants.WEST, SwingConstants.EAST, SwingConstants.NORTH или SwingConstants.SOUTH. -
biasRet- либоPosition.Bias.ForwardлибоPosition.Bias.Backwardвозвращается в качестве нулевого элемента этого массива - Возвращает:
- расположение в модели, которое наилучшим образом представляет следующую визуальную позицию.
- Исключения:
-
BadLocationException- для плохого расположения в модели документа -
IllegalArgumentException- для недопустимого направления
© 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/javax/swing/text/GlyphView.GlyphPainter.html