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_

protected

readonly

渲染程序 正在使用的块渲染程序。
[] 包含大小信息的 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 之间另起一行。