java.lang.Object
javax.swing.text.GlyphView.GlyphPainter
- 封闭类:
-
GlyphView
用于执行字形渲染的类。这可以实现为无状态,或者保存一些信息作为缓存以便更快地进行渲染和模型/视图转换。至少,GlyphPainter允许View实现独立于特定版本的JVM和功能选择(例如i18n的形状等)执行其职责。
- 自版本:
- 1.3
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract float
返回上升值。abstract int
getBoundedPosition
(GlyphView v, int p0, float x, float len) 确定表示适合给定跨度的最大前进的模型位置。abstract float
返回下降值。abstract float
返回高度。int
getNextVisualPositionFrom
(GlyphView v, int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) 提供一种确定下一个可视表示的模型位置的方法,可以在其中放置插入符号。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
绘制表示给定范围的字形。abstract int
viewToModel
(GlyphView v, float x, float y, Shape a, Position.Bias[] biasReturn) 提供从视图坐标空间到模型的逻辑坐标空间的映射。
-
Constructor Details
-
GlyphPainter
protected GlyphPainter()子类调用的构造函数。
-
-
Method Details
-
getSpan
确定给定起始位置的字形跨度(用于制表符展开)。- 参数:
-
v
-GlyphView
-
p0
- 起始位置 -
p1
- 结束位置 -
e
- 遇到制表符时如何展开 -
x
- X坐标 - 返回:
- 给定起始位置的字形跨度
-
getHeight
返回高度。- 参数:
-
v
-GlyphView
- 返回:
- 高度
-
getAscent
返回上升值。- 参数:
-
v
-GlyphView
- 返回:
- 上升值
-
getDescent
返回下降值。- 参数:
-
v
-GlyphView
- 返回:
- 下降值
-
paint
绘制表示给定范围的字形。- 参数:
-
v
-GlyphView
-
g
- 图形上下文 -
a
- 视图的当前分配 -
p0
- 起始位置 -
p1
- 结束位置
-
modelToView
public abstract Shape modelToView(GlyphView v, int pos, Position.Bias bias, Shape a) throws BadLocationException 提供从文档模型坐标空间到其映射视图的坐标空间的映射。这是由断开的视图共享的。- 参数:
-
v
- 包含目标坐标空间的GlyphView
-
pos
- 要转换的位置 -
bias
-Position.Bias.Forward
或Position.Bias.Backward
-
a
- 视图的边界 - 返回:
- 给定位置的边界框
- 抛出:
-
BadLocationException
- 如果给定位置在关联文档中不表示有效位置 - 参见:
-
viewToModel
提供从视图坐标空间到模型的逻辑坐标空间的映射。- 参数:
-
v
- 要为其提供映射的GlyphView
-
x
- X坐标 -
y
- Y坐标 -
a
- 要渲染的分配区域 -
biasReturn
- 作为该数组的第零个元素返回的Position.Bias.Forward
或Position.Bias.Backward
- 返回:
- 最佳表示给定视图点的模型位置
- 参见:
-
getBoundedPosition
确定表示适合给定跨度的最大前进的模型位置。这可用于分割给定视图。结果应该是刚好少于给定前进的位置。这与viewToModel不同,后者返回可能超出最大前进的最接近位置。- 参数:
-
v
- 要在其中找到要中断的模型位置的视图。 -
p0
- 片段应该从其表示开始的模型位置 >= 0。 -
x
- 沿着破碎视图将占据的轴的图形位置 >= 0。这对于诸如制表符计算之类的事情可能很有用。 -
len
- 指定希望在视图中的距离 >= 0 的位置处进行潜在中断。 - 返回:
- 可以中断的最大模型位置。
- 参见:
-
getPainter
为给定的GlyphView创建一个要使用的绘制器。如果绘制器带有状态,它可以创建另一个绘制器来表示正在创建的新GlyphView。如果绘制器不持有任何重要状态,它可以返回自身。默认行为是返回自身。- 参数:
-
v
- 要为其提供绘制器的GlyphView
-
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
- 对于无效方向
-