측정항목 관리자

측정항목 관리자는 Blockly 작업공간과 관련된 모든 측정항목을 수집하고 보고합니다. 이 가이드에서는 측정항목 관리자에서 반환된 각 측정항목 세트의 의미를 설명합니다. 측정항목 관리자에 대한 자세한 내용은 2021년 측정항목 심층 분석을 시청하세요.

측정항목

도구 상자 측정항목

workspace.getMetricsManager().getToolboxMetrics();

도구 상자 측정항목은 카테고리 도구 상자의 height, width, position로 구성됩니다. 여기에는 도구 상자에 연결된 플라이아웃에 관한 정보가 포함되지 않습니다.

도구 상자의 너비와 높이를 보여주는 화살표가 있는 Blockly 작업 영역

도구 상자의 positionBlockly.utils.toolbox.Position 유형입니다.

플라이아웃 측정항목

workspace.getMetricsManager().getFlyoutMetrics();

확장 패널 측정항목은 확장 패널 도구 상자의 height, width, position로 구성됩니다. 이것은 카테고리 도구 상자에 연결된 플라이아웃이 아닙니다. 이는 아래 사진에 표시된 플라이아웃 도구 상자에만 적용됩니다.

플라이아웃의 너비와 높이를 보여주는 화살표가 있는 Blockly 작업 영역

플라이아웃의 positionBlockly.utils.toolbox.Position 유형입니다.

SVG 측정항목

workspace.getMetricsManager().getSvgMetrics();

SVG 측정항목은 작업공간의 상위 SVG의 widthheight로 구성됩니다. 기본 작업 영역의 경우 blocklySvg 클래스가 있는 SVG입니다. 이 SVG에는 표시되는 작업 영역과 도구 상자가 포함됩니다.

파란색 직사각형으로 둘러싸인 Blockly 작업공간

측정항목 보기

workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);

뷰 측정항목은 뷰포트의 height, width, top, left로 구성됩니다. 표시 영역은 워크스페이스에서 표시되는 부분입니다. 이에는 두 유형의 툴박스가 모두 포함되지 않습니다.

툴박스를 포함하지 않는 영역 주위에 파란색 직사각형이 있는 Blockly 작업 영역

왼쪽 상단은 작업공간 원점을 기준으로 합니다. 작업 영역을 드래그하면 뷰포트의 상단 및 왼쪽 위치가 업데이트됩니다.

도구 상자를 포함하지 않는 영역 주위에 파란색 직사각형이 있고 원점이 왼쪽 상단에서 오프셋된 Blockly 작업공간

절대 측정항목

workspace.getMetricsManager().getAbsoluteMetrics();

절대 측정항목은 상위 SVG의 뷰포트 topleft 오프셋으로 구성됩니다. 작업 영역에서 도구 상자가 배치된 위치에 따라 이는 일반적으로 도구 상자의 너비 또는 높이입니다.

도구 상자 오른쪽에 있고 작업 영역 상단에 있는 파란색 선이 있는 Blockly 작업 영역 가로 도구 상자가 있는 Blockly 작업공간 작업공간 왼쪽과 도구 상자 아래에 파란색 선이 있습니다.

콘텐츠 통계

workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);

콘텐츠 측정항목은 블록이나 작업 공간 댓글 주변의 경계 상자에 있는 height, width, top, left로 구성됩니다.

작업공간 콘텐츠 주위에 파란색 상자가 있는 Blockly 작업공간

스크롤 측정항목

workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);

스크롤 측정항목은 스크롤 가능한 영역의 height, width, top, left로 구성됩니다. 이동 가능한 작업공간의 경우 스크롤 가능한 영역은 콘텐츠 영역에 패딩이 추가된 영역입니다.

큰 파란색 상자로 둘러싸인 Blockly 작업 영역

좌표계

기본적으로 측정항목 관리자가 계산한 모든 측정항목은 픽셀 좌표로 반환됩니다. 해당하는 경우 측정항목 메서드에 true를 전달하여 작업공간 좌표로 특정 측정항목을 가져올 수 있습니다. 예를 들면 metricsManager.getViewMetrics(true)입니다.

workspaceCoordinate = pixelCoordinates / workspace.scale

워크스페이스 좌표는 일반적으로 블록, 워크스페이스 댓글 등 워크스페이스에 있는 항목에 사용됩니다. 사용자가 확대/축소해도 Workspace 좌표는 변경되지 않습니다.

측정항목 재정의

작업공간에 자체 측정항목을 제공하려는 개발자는 IMetricsManager 인터페이스를 구현하거나 Blockly.MetricsManager를 확장하는 대체 측정항목 관리자 객체를 등록할 수 있습니다.

이러한 예는 연속 도구 상자 플러그인 또는 고정된 가장자리 플러그인에서 확인할 수 있습니다.