BlockDragger 클래스
블록 드래거의 클래스입니다. 마우스나 터치로 드래그하는 경우 작업공간에서 블록을 이동합니다.
Signature:
export declare class BlockDragger implements IBlockDragger
구현: IBlockDragger
생성자
생성자 | 수정자 | 설명 |
---|---|---|
(생성자)(블록, 작업공간) | BlockDragger 클래스의 새 인스턴스를 구성합니다. |
속성
속성 | 수정자 | 유형 | 설명 |
---|---|---|---|
connectionPreviewer | protected |
IConnectionPreviewer | |
draggingBlock_ | protected |
BlockSvg | 드래그되는 스택에서 상단 블록입니다. |
dragIconData_ | protected |
IconPositionData[] | |
startXY_ | protected |
좌표 | |
workspace_ | protected |
WorkspaceSvg | 블록을 드래그하는 작업공간입니다. |
wouldDeleteBlock_ | protected |
boolean | 즉시 삭제할 경우 차단이 삭제될지 여부입니다. |
방법
메서드 | 수정자 | 설명 |
---|---|---|
disconnectBlock_(healStack, currentDragDeltaXY) | protected |
블록 연결을 해제하고 새 위치로 이동합니다. |
드래그(예: 델타) | 지정된 이벤트에 따라 블록 드래그 단계를 실행합니다. 그에 따라 디스플레이를 업데이트합니다. | |
dragIcons_() | protected |
이 드래그에 연결된 모든 아이콘을 이동합니다. |
endDrag(e, currentDragDeltaXY) | 블록 드래그를 완료하고 블록을 작업공간에 다시 놓습니다. | |
fireDragEndEvent_() | protected |
블록 드래그가 끝날 때 UI 이벤트를 실행합니다. |
fireDragStartEvent_() | protected |
블록 드래그가 시작될 때 UI 이벤트를 실행합니다. |
fireMoveEvent_() | protected |
블록 드래그가 끝날 때 이동 이벤트를 실행합니다. |
getInsertionMarkers() | 현재 있는 삽입 마커의 목록을 가져옵니다. 드래그에는 0개, 1개 또는 2개의 삽입 마커가 있습니다. | |
getNewLocationAfterDrag_(currentDragDeltaXY) | protected |
블록을 드래그한 후 드래그 델타와 새 위치 값을 계산합니다. |
maybeDeleteBlock_() | protected |
허용되는 경우 드래그 블록을 삭제할 수 있습니다. this.wouldDeleteBlock_ 가 true가 아니면 차단이 삭제되지 않습니다. 블록 드래그가 끝날 때 호출되어야 합니다. |
pixelsToWorkspaceUnits_(pixelCoord) | protected |
뮤테이터 작업공간의 수정을 포함하여 좌표 객체를 픽셀에서 작업공간 단위로 변환합니다. 이 함수는 다른 출처를 고려하지 않습니다. 단순히 입력의 x 및 y 값을 확장합니다. |
shouldDisconnect_(healStack) | protected |
드래그가 시작될 때 블록의 연결을 해제해야 하는지 여부를 나타냅니다. |
startDrag(currentDragDeltaXY, healStack) | 블록을 드래그하기 시작합니다. | |
updateBlockAfterMove_() | protected |
필요한 정보를 업데이트하여 특정 위치에 블록을 배치합니다. |
updateCursorDuringBlockDrag_() | protected |
커서 (및 가능한 경우 휴지통 덮개)를 업데이트하여 드래그 블록이 즉시 삭제될 경우 삭제될지 결정합니다. |
updateToolboxStyle_(isEnd) | protected |
도구 상자의 커서 스타일을 추가하거나 삭제합니다. 이는 삭제 가능한 블록이 도구 상자 위에 있을 때 x를 표시하도록 커서를 변경합니다. |