ブロックする >blockRendering >RenderInfo
blockRendering.RenderInfo クラス
このブロックの描画に必要なすべてのサイズ情報を含むオブジェクト。
この測定パスでは、変更がブロックに伝播されません(ただし、getSize() が呼び出されたときに、フィールドの再レンダリングが選択されることがあります)。ただし、これを繰り返し呼び出すとコストがかかる可能性があります。
署名:
export declare class RenderInfo
コンストラクタ
| コンストラクタ | 修飾子 | 説明 |
|---|---|---|
| (コンストラクタ)(レンダラ, ブロック) | RenderInfo クラスの新しいインスタンスを作成します。 |
プロパティ
| プロパティ | 修飾子 | タイプ | 説明 |
|---|---|---|---|
| block_ | BlockSvg | ||
| bottomRow | BottomRow | ||
| constants_ | protected |
ConstantProvider | |
| 高さ | 数値 | レンダリングされたブロックの高さ(子ブロックを含む)。 | |
| inputRows | InputRow[] | ブロック上の入力行の配列。 | |
| isCollapsed | ブール値 | ||
| isInline | ブール値 | ||
| isInsertionMarker | ブール値 | ||
| outputConnection | OutputConnection(出力接続) |null | ||
| 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 |
ブロックのすべてのレンダリング可能な部分を表す Measurable オブジェクトの行を作成します。 |
| finalize_() | protected |
レンダリング情報オブジェクトに最終的な変更を加えます。具体的には、各行の y 位置を保存し、ブロック全体の高さを記録します。 |
| getDesiredRowWidth_(_row) | protected |
入力行に必要な幅を計算します。 |
| getElemCenterline_(row, elem) | protected |
レンダリングされた行に含まれる要素の中心線を計算します。この基本実装では、特殊なケースなしで、行の中央に中心線が配置されます。(少なくとも)最上位行と最下位行を処理するための追加のロジックが必要になる可能性があります。 |
| getInRowSpacing_(前へ, 次へ) | protected |
その行の前後の要素に基づいて、行のスペーサー要素の幅を計算します。たとえば、編集可能な 2 つのフィールドの間にパディングが追加されます。 |
| 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 |
2 つの Blockly.Inputs の間で新しい行を開始するかどうかを決定します。 |