blockly > blockRendering > RenderInfo

blockRendering.RenderInfo 클래스

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

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

Signature:

export declare class RenderInfo 

생성자

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

속성

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

protected

readonly

렌더기 사용 중인 블록 렌더기입니다.
[] 크기 정보를 포함하는 Row 객체의 배열입니다.
RTL boolean
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 블록의 렌더링 가능한 모든 부분을 나타내는 측정 가능한 객체의 행을 만듭니다.
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 사이에 새 행을 시작할지 결정합니다.