측정항목 관리자

측정항목 관리자는 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로 구성됩니다. 표시 영역은 표시되는 작업공간의 일부입니다. 여기에는 두 가지 유형의 도구 상자 모두 포함되지 않습니다.

도구 상자를 포함하지 않는 영역 주위에 파란색 직사각형이 있는 블록리 작업공간

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

블록리 작업공간에서 도구 상자를 제외한 영역 주위에 파란색 직사각형이 표시되고 왼쪽 상단을 기준으로 원점이 표시되어 있습니다.

절대 측정항목

workspace.getMetricsManager().getAbsoluteMetrics();

절대 측정항목은 pareng SVG에서 가져온 표시 영역의 topleft 오프셋으로 구성됩니다. 도구 상자가 작업공간에서 배치되는 위치에 따라 일반적으로 도구 상자의 너비 또는 높이가 됩니다.

도구 상자 오른쪽과 작업공간 상단에 파란색 선이 있는 블록리 작업공간 가로 도구 상자가 있는 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

작업공간 좌표는 일반적으로 블록, 작업공간 주석과 같이 작업공간에 있는 항목에 사용됩니다. 사용자가 확대 및 축소해도 작업공간 좌표는 변경되지 않습니다.

측정항목 재정의

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

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