차단 > blockRendering > RenderInfo

블록 렌더링.RenderInfo 클래스

이 블록을 그리는 데 필요한 모든 크기 정보가 포함된 객체입니다.

이 측정 패스는 변경사항을 블록에 전파하지 않습니다 (단, 필드는 getSize()가 호출될 때 다시 렌더링되도록 선택할 수 있음). 그러나 반복적으로 호출하면 비용이 많이 들 수 있습니다.

서명:

export declare class RenderInfo 

생성자

생성자 수정자 설명
(생성자)(렌더러, 블록) RenderInfo 클래스의 새 인스턴스를 생성합니다.

속성

속성 수정자 유형 설명
block_ BlockSvg
bottomRow BottomRow
constants_ protected ConstantProvider
높이 숫자 하위 블록을 포함한 렌더링된 블록의 높이입니다.
inputRows InputRow[] 블록의 입력 행 배열.
isCollapsed 부울
isInline 부울
isInsertionMarker 부울
outputConnection OutputConnection을 없음
renderer_

protected

readonly

렌더기 사용 중인 블록 렌더러입니다.
[] 크기 정보를 포함하는 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 사이에 새 행을 시작할지 결정합니다.