blockly > blockRendering > RenderInfo
blockRendering.RenderInfo 类
一个对象,包含绘制该砌块所需的所有大小信息。
此测量遍历不会将更改传播到块(尽管字段可能会在调用 getSize() 时选择重新渲染)。但是,反复调用它可能成本高昂。
Signature:
export declare class RenderInfo
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(构造函数)(渲染程序、块) | 构造 RenderInfo 类的新实例 |
属性
媒体资源 | 修饰符 | 类型 | 说明 |
---|---|---|---|
block_ | BlockSvg | ||
bottomRow | BottomRow | ||
constants_ | protected |
ConstantProvider | |
高度 | number | 渲染块(包括子块)的高度。 | |
inputRows | InputRow[] | 块上的输入行的数组。 | |
isCollapsed | boolean | ||
isInline | boolean | ||
isInsertionMarker | boolean | ||
outputConnection | OutputConnection | null | ||
renderer_ |
|
渲染程序 | 正在使用的块渲染程序。 |
行 | 行[] | 包含大小信息的 Row 对象数组。 | |
RTL | boolean | ||
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 |
创建 Measurable 对象行,表示代码块的所有可渲染部分。 |
finalize_() | protected |
对呈现信息对象进行最后的更改。尤其需要存储每行的 y 位置,并记录整个块的高度。 |
getDesiredRowWidth_(_row) | protected |
计算输入行的所需宽度。 |
getElemCenterline_(row, elem) | protected |
计算已渲染行中的某个元素的中心线。此基本实现会将中心线垂直置于行的中间,没有特殊情况。您可能需要额外的逻辑来处理(至少)顶部行和底部行。 |
getInRowSpacing_(prev, next) | protected |
根据该行的前一个元素和后一个元素计算行中分隔符元素的宽度。例如,在两个可编辑字段之间添加额外的内边距。 |
getMeasureableForConnection(conn) | 返回与指定连接相关联的可衡量连接。 | |
getRenderer() | 获取正在使用的块渲染程序。 | |
getSpacerRowHeight_(_prev, _next) | protected |
计算分隔符行的高度。 |
getSpacerRowWidth_(_prev, _next) | protected |
计算分隔符行的宽度。 |
makeSpacerRow_(prev, next) | protected |
创建要在上一页和下一页之间的分隔符行,并设置其大小。 |
measure() | 使用绘制块所需的所有大小信息填充此对象。 此测量遍历不会将更改传播到块(尽管字段可能会在调用 getSize() 时选择重新渲染)。但是,反复调用它可能成本高昂。 |
|
populateBottomRow_() | protected |
创建底部行中的所有非分隔符元素。 |
populateTopRow_() | protected |
创建属于顶行的所有非分隔符元素。 |
recordElemPositions_(row) | protected |
记录给定行中元素的最终位置信息,以用于绘图。这至少会记录 xPo 和每个元素的中心线。 |
shouldStartNewRow_(currInput, prevInput) | protected |
决定是否在两个 Blockly.Inputs 之间另起一行。 |