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 之间开始新行。 |