封鎖 >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 之間開始新的一列。 |