11<script setup lang="ts">
22import { computed , toRefs } from " vue" ;
33import { storeToRefs } from " pinia" ;
4- import type { FederatedPointerEvent , Graphics } from " pixi.js" ;
4+ import type { Cursor , FederatedPointerEvent , Graphics } from " pixi.js" ;
55
66import type { Bounds } from " @/api/gateway-api/generated-api" ;
77import { useWebGLCanvasStore } from " @/store/canvas/canvas-webgl" ;
@@ -58,6 +58,10 @@ const onControlPointerDown = (params: {
5858 direction: Directions ;
5959 pointerDownEvent: FederatedPointerEvent ;
6060}) => {
61+ if (! props .showTransformControls ) {
62+ return ;
63+ }
64+
6165 markPointerEventAsHandled (params .pointerDownEvent , {
6266 initiator: " annotation-transform" ,
6367 });
@@ -147,6 +151,13 @@ const renderBorder = (graphics: Graphics, border: TransformBorder) => {
147151 // hover area
148152 graphics .stroke ({ width: 2 , color: " transparent" , cap: " square" });
149153};
154+
155+ const getBorderCursor = (border : TransformBorder ): Cursor => {
156+ if (! props .showTransformControls ) {
157+ return " auto" ;
158+ }
159+ return getCursorStyle (border .direction ).cursor ;
160+ };
150161 </script >
151162
152163<template >
@@ -179,7 +190,7 @@ const renderBorder = (graphics: Graphics, border: TransformBorder) => {
179190 label =" TransformBorderTop"
180191 :renderable =" showSelection"
181192 event-mode =" static"
182- :cursor =" `${ borders.TransformBorderTop.direction}-resize` "
193+ :cursor =" getBorderCursor( borders.TransformBorderTop) "
183194 :position =" transformRectBounds"
184195 @render =" (g) => renderBorder(g, borders.TransformBorderTop)"
185196 @pointerdown.stop ="
@@ -194,7 +205,7 @@ const renderBorder = (graphics: Graphics, border: TransformBorder) => {
194205 label =" TransformBorderBottom"
195206 :renderable =" showSelection"
196207 event-mode =" static"
197- :cursor =" `${ borders.TransformBorderBottom.direction}-resize` "
208+ :cursor =" getBorderCursor( borders.TransformBorderBottom) "
198209 :position =" transformRectBounds"
199210 @render =" (g) => renderBorder(g, borders.TransformBorderBottom)"
200211 @pointerdown.stop ="
@@ -209,7 +220,7 @@ const renderBorder = (graphics: Graphics, border: TransformBorder) => {
209220 label =" TransformBorderLeft"
210221 :renderable =" showSelection"
211222 event-mode =" static"
212- :cursor =" `${ borders.TransformBorderLeft.direction}-resize` "
223+ :cursor =" getBorderCursor( borders.TransformBorderLeft) "
213224 :position =" transformRectBounds"
214225 @render =" (g) => renderBorder(g, borders.TransformBorderLeft)"
215226 @pointerdown.stop ="
@@ -224,7 +235,7 @@ const renderBorder = (graphics: Graphics, border: TransformBorder) => {
224235 label =" TransformBorderRight"
225236 :renderable =" showSelection"
226237 event-mode =" static"
227- :cursor =" `${ borders.TransformBorderRight.direction}-resize` "
238+ :cursor =" getBorderCursor( borders.TransformBorderRight) "
228239 :position =" transformRectBounds"
229240 @render =" (g) => renderBorder(g, borders.TransformBorderRight)"
230241 @pointerdown.stop ="
0 commit comments