blockly >blockRendering >RenderInfo
blockRendering.RenderInfo 类
一个对象,包含绘制此砌块所需的所有大小信息。
此测量遍历不会将更改传播到块(尽管字段可能会选择在调用 getSize() 时重新渲染)。但是,重复调用它的开销可能会很大。
Signature:
export declare class RenderInfo
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(structor)(renderer, block) | 构造 RenderInfo 类的新实例 |
属性
属性 | 修饰符 | 类型 | 说明 |
---|---|---|---|
block_ | BlockSvg | ||
bottomRow | BottomRow | ||
constants_ | protected |
ConstantProvider | |
高度 | number | 已渲染块(包括子块)的高度。 | |
inputRows | InputRow[] | 块上的输入行数组。 | |
isCollapsed | 布尔值 | ||
isInline | 布尔值 | ||
isInsertionMarker | 布尔值 | ||
outputConnection | OutputConnection |null | ||
renderer_ |
|
渲染程序 | 正在使用的块渲染程序。 |
行 | 排[] | 包含大小信息的 Row 对象数组。 | |
RTL | 布尔值 | ||
startX | number | ||
startY | number | ||
statementEdge | number | ||
topRow | TopRow | ||
宽度 | number | 已渲染块的宽度,不包括子块。这是从 LTR 渲染时块的右边缘。 | |
widthWithChildren | number | 已渲染块的宽度,包括子块。 |
方法
方法 | 修饰符 | 说明 |
---|---|---|
addAlignmentPadding_(row, missingSpace) | protected |
修改给定行,以在其字段周围添加给定的内边距。内边距的确切位置取决于字段中最后一个输入的对齐属性。 |
addElemSpacing_() | protected |
在每行内的元素之间及元素周围添加水平间距。 |
addInput_(input, activeRow) | protected |
根据需要向活动行添加输入元素,并记录该行上的输入类型。 |
addRowSpacing_() | protected |
在行之间添加分隔符并设置行大小。 |
alignRowElements_() | protected |
为了确保所有行的右侧对齐,可能需要额外的间距。只有在第一次传递后,才能计算所有行的大小。 |
alignStatementRow_(row) | protected |
根据计算出的边界对齐语句行的元素。与其他类型的行不同,语句行会在多个位置增加空格。 |
computeBounds_() | protected |
确定块的右边缘和语句输入的右边缘应放置在何处。 |
createRows_() | protected |
创建可衡量对象的行,用于表示块的所有可渲染部分。 |
finalize_() | protected |
对呈现信息对象进行最终更改。尤其要存储每行的 y 位置,并记录整个块的高度。 |
getDesiredRowWidth_(_row) | protected |
计算输入行的所需宽度。 |
getElemCenterline_(row, elem) | protected |
计算呈现行中某个元素的中心线。此基本实现将中心线垂直置于行的中间,没有特殊情况。您可能需要额外的逻辑来处理(至少)顶部和底部行。 |
getInRowSpacing_(上一页, 下一页) | protected |
根据行中的上一个和下一个元素计算该行中分隔符元素的宽度。例如,在两个可编辑字段之间添加额外的内边距。 |
getMeasureableForConnection(conn) | 返回与指定连接相关联的可衡量连接。 | |
getRenderer() | 获取正在使用的块渲染程序。 | |
getSpacerRowHeight_(_prev, _next) | protected |
计算分隔符行的高度。 |
getSpacerRowWidth_(_prev, _next) | protected |
计算分隔符行的宽度。 |
makeSpacerRow_(上一页,下一页) | protected |
创建一个在上一页和下一页之间插入的分隔符行,并设置其大小。 |
measure() | 使用绘制砌块所需的所有大小信息填充此对象。 此测量遍历不会将更改传播到块(尽管字段可能会选择在调用 getSize() 时重新渲染)。但是,重复调用它的开销可能会很大。 |
|
populateBottomRow_() | protected |
创建属于底部行的所有非分隔符元素。 |
populateTopRow_() | protected |
创建属于顶行的所有非空格元素。 |
recordElemPositions_(row) | protected |
记录指定行中元素的最终位置信息,以供绘制时使用。至少这可以记录每个元素的 xPos 和中心线。 |
shouldStartNewRow_(currInput, prevInput) | protected |
决定是否在两个 Blockly.Input 之间开始新行。 |