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