blockly > blockRendering > RenderInfo

blockRendering.RenderInfo 類別

一個物件,其中包含繪製此區塊所需的所有大小資訊。

這項測量過程不會將變更傳播至區塊 (雖然在呼叫 getSize() 時,欄位可能會選擇重新算繪)。不過,重複呼叫可能會耗費大量資源。

Signature:

export declare class RenderInfo 

建構函式

建構函式 修飾符 說明
(建構函式)(轉譯器, 區塊) 建構 RenderInfo 類別的新例項

屬性

屬性 修飾符 類型 說明
block_ BlockSvg
bottomRow BottomRow
constants_ protected ConstantProvider
高度 號碼 轉譯區塊的高度,包括子區塊。
inputRows InputRow[] 區塊上的輸入資料列陣列。
isCollapsed boolean
isInline boolean
isInsertionMarker boolean
outputConnection OutputConnection | 空值
renderer_

protected

readonly

轉譯器 使用中的區塊轉譯器。
資料列 [] 包含大小設定資訊的 Row 物件陣列。
RTL boolean
startX 號碼
startY 號碼
statementEdge 號碼
topRow TopRow
寬度 號碼 算繪區塊的寬度,不包括子區塊。這是轉譯 LTR 時區塊的右側邊緣。
widthWithChildren 號碼 轉譯區塊的寬度,包括子區塊。

方法

方法 修飾符 說明
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_(列, 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.Inputs 之間開始新的資料列。