측정항목 관리자

측정항목 관리자는 블록 작업공간 이 가이드에서는 측정항목 관리자에서 반환된 각 측정항목 세트의 의미를 설명합니다. 측정항목 관리자에 관한 자세한 내용은 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();

절대 측정항목은 pareng 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

작업공간 좌표는 일반적으로 작업공간에 있는 항목에 사용됩니다. 예를 들어 블록, 작업공간 주석 등의 설명이 포함됩니다 사용자가 확대/축소해도 워크스페이스 좌표는 변경되지 않습니다.

측정항목 재정의

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

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