차단 > blockRendering > RenderInfo
블록 렌더링.RenderInfo 클래스
이 블록을 그리는 데 필요한 모든 크기 정보가 포함된 객체입니다.
이 측정 패스는 변경사항을 블록에 전파하지 않습니다 (단, 필드는 getSize()가 호출될 때 다시 렌더링되도록 선택할 수 있음). 그러나 반복적으로 호출하면 비용이 많이 들 수 있습니다.
서명:
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_(입력, 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 |
행의 이전 요소와 다음 요소를 기준으로 행의 스페이서 요소의 너비를 계산합니다. 예를 들어 수정 가능한 두 필드 사이에 패딩이 추가됩니다. |
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 사이에 새 행을 시작할지 결정합니다. |