blockly > blockRendering > RenderInfo
blockRendering.RenderInfo クラス
このブロックの描画に必要なすべてのサイズ情報を含むオブジェクト。
この測定パスはブロックに変更を伝播しません(ただし、getSize() が呼び出されたときにフィールドによって再レンダリングが行われることがあります)。ただし、これを繰り返し呼び出すとコストが高くなる場合があります。
署名:
export declare class RenderInfo
コンストラクタ
コンストラクタ | 修飾子 | 説明 |
---|---|---|
(コンストラクタ)(レンダラ, ブロック) | RenderInfo クラスの新しいインスタンスを作成します。 |
プロパティ
プロパティ | 修飾子 | タイプ | 説明 |
---|---|---|---|
block_ | BlockSvg | ||
bottomRow | BottomRow | ||
constants_ | protected |
ConstantProvider | |
高さ | 数値 | レンダリングされたブロックの高さ(子ブロックを含む)。 | |
inputRows | InputRow[] | ブロック上の入力行の配列。 | |
isCollapsed | boolean | ||
isInline | boolean | ||
isInsertionMarker | boolean | ||
outputConnection | OutputConnection | null | ||
renderer_ |
|
レンダラ | 使用中のブロック レンダラ。 |
行 | 行[] | サイズ設定情報を含む Row オブジェクトの配列。 | |
RTL | boolean | ||
startX | 数値 | ||
startY | 数値 | ||
statementEdge | 数値 | ||
topRow | TopRow | ||
幅 | 数値 | レンダリングされたブロックの幅(子ブロックを除く)。LTR をレンダリングしたときのブロックの右端です。 | |
widthWithChildren | 数値 | レンダリングされたブロックの幅(子ブロックを含む)。 |
Methods
メソッド | 修飾子 | 説明 |
---|---|---|
addAlignmentPadding_(行, 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 |
その行の前後の要素に基づいて、行のスペーサー要素の幅を計算します。たとえば、編集可能な 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 |
描画に使用するため、指定された行の要素に関する最終的な位置情報を記録します。少なくとも各要素の xPos と中心線が記録されます。 |
shouldStartNewRow_(currInput, prevInput) | protected |
2 つの Blockly.Inputs の間に新しい行を開始するかどうかを決定します。 |