封鎖 >blockRendering >RenderInfo
blockRendering.RenderInfo 類別
物件,包含繪製此區塊所需的所有尺寸資訊。
這項測量過程不會將變更傳播至區塊 (雖然在呼叫 getSize() 時,欄位可以選擇重新轉譯)。不過,重複呼叫可能所費不貲。
Signature:
export declare class RenderInfo
建構函式
建構函式 | 修飾符 | 說明 |
---|---|---|
(建構函式)(轉譯器, 區塊) | 建構 RenderInfo 類別的新例項 |
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
block_ | BlockSvg | ||
bottomRow | BottomRow | ||
constants_ | protected |
ConstantProvider | |
高度 | 數字 | 算繪區塊的高度,包括子區塊。 | |
inputRows | InputRow[] | 區塊上的輸入資料列陣列。 | |
isCollapsed | 布林值 | ||
isInline | 布林值 | ||
isInsertionMarker | 布林值 | ||
outputConnection | OutputConnection |空值 | ||
renderer_ |
|
轉譯器 | 目前使用的區塊轉譯器。 |
資料列 | 列[] | 包含大小資訊的 Row 物件陣列。 | |
RTL | 布林值 | ||
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_(prev, next) | 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 之間開始新的一列。 |