cloudmr-ux 4.6.8 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CmrComponents/niivue-viewer/CloudMrNiivuePanel.d.ts +1 -0
- package/dist/CmrComponents/niivue-viewer/CloudMrNiivueViewer.js +42 -11
- package/dist/CmrComponents/niivue-viewer/mro-draw-toolkit/DrawColorPlatte.d.ts +1 -3
- package/dist/CmrComponents/niivue-viewer/mro-draw-toolkit/DrawColorPlatte.js +15 -32
- package/dist/CmrComponents/niivue-viewer/mro-draw-toolkit/MroDrawToolkit.js +5 -4
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ export type CloudMrDrawToolkitProps = Omit<DrawToolkitProps, "rois" | "selectedR
|
|
|
13
13
|
penDraftActive?: boolean;
|
|
14
14
|
onActivateEraser?: () => void;
|
|
15
15
|
onDeactivateDrawTools?: () => void;
|
|
16
|
+
onClearDrawing?: () => void;
|
|
16
17
|
shapeDraftActive?: boolean;
|
|
17
18
|
onApplyShapeDraft?: () => void;
|
|
18
19
|
onCancelShapeDraft?: () => void;
|
|
@@ -931,6 +931,46 @@ export default function CloudMrNiivueViewer(props) {
|
|
|
931
931
|
penDraftRef.current = null;
|
|
932
932
|
}
|
|
933
933
|
};
|
|
934
|
+
function discardShapeDraft() {
|
|
935
|
+
setShapeDraft(null);
|
|
936
|
+
shapeDraftRef.current = null;
|
|
937
|
+
nv._cloudMrShapeDraftActive = false;
|
|
938
|
+
}
|
|
939
|
+
function discardPenDraft() {
|
|
940
|
+
var _a;
|
|
941
|
+
setPenDraft(null);
|
|
942
|
+
penDraftRef.current = null;
|
|
943
|
+
nv._cloudMrPenDraftActive = false;
|
|
944
|
+
(_a = nv.cloudMrResetPolyline) === null || _a === void 0 ? void 0 : _a.call(nv);
|
|
945
|
+
setPolylineVertexCount(0);
|
|
946
|
+
}
|
|
947
|
+
function resetNiivueDrawSession() {
|
|
948
|
+
nv.drawShapeStartLocation = [NaN, NaN, NaN];
|
|
949
|
+
nv.drawShapePreviewBitmap = null;
|
|
950
|
+
nv._cloudMrFreehandSessionStartBitmap = null;
|
|
951
|
+
nv._cloudMrPolylineVertices = null;
|
|
952
|
+
nv._cloudMrPolylineBaseBitmap = null;
|
|
953
|
+
nv._cloudMrPolylineSessionStartBitmap = null;
|
|
954
|
+
nv._cloudMrToolKindBitmap = null;
|
|
955
|
+
}
|
|
956
|
+
function clearDrawingHandler() {
|
|
957
|
+
var _a;
|
|
958
|
+
// Discard drafts without restoring baseBitmap — clearDrawing wipes the canvas anyway.
|
|
959
|
+
discardShapeDraft();
|
|
960
|
+
discardPenDraft();
|
|
961
|
+
resetNiivueDrawSession();
|
|
962
|
+
setDrawShapeTool(null);
|
|
963
|
+
nv.opts.penType = NI_PEN_TYPE.PEN;
|
|
964
|
+
nv.opts.deferShapeCommit = false;
|
|
965
|
+
nv.opts.deferFreehandCommit = false;
|
|
966
|
+
nv.opts.polylinePenMode = false;
|
|
967
|
+
(_a = nv.cloudMrResetPolyline) === null || _a === void 0 ? void 0 : _a.call(nv);
|
|
968
|
+
nvSetDrawingEnabled(false);
|
|
969
|
+
nv.clearDrawing();
|
|
970
|
+
nv.drawScene();
|
|
971
|
+
resampleImage();
|
|
972
|
+
setDrawingChanged(false);
|
|
973
|
+
}
|
|
934
974
|
function cancelShapeDraft() {
|
|
935
975
|
var draft = shapeDraftRef.current;
|
|
936
976
|
if (!draft)
|
|
@@ -1066,16 +1106,6 @@ export default function CloudMrNiivueViewer(props) {
|
|
|
1066
1106
|
return undefined;
|
|
1067
1107
|
}
|
|
1068
1108
|
var onKeyDown = function (event) {
|
|
1069
|
-
if (event.key === "Escape") {
|
|
1070
|
-
event.preventDefault();
|
|
1071
|
-
if (shapeDraft) {
|
|
1072
|
-
cancelShapeDraft();
|
|
1073
|
-
}
|
|
1074
|
-
else if (penDraft) {
|
|
1075
|
-
cancelPenDraftHandler();
|
|
1076
|
-
}
|
|
1077
|
-
return;
|
|
1078
|
-
}
|
|
1079
1109
|
if (event.key === "Enter") {
|
|
1080
1110
|
event.preventDefault();
|
|
1081
1111
|
if (shapeDraft) {
|
|
@@ -1594,7 +1624,8 @@ export default function CloudMrNiivueViewer(props) {
|
|
|
1594
1624
|
brushSize: brushSize,
|
|
1595
1625
|
updateBrushSize: nvUpdateBrushSize,
|
|
1596
1626
|
onActivateEraser: activateEraser,
|
|
1597
|
-
onDeactivateDrawTools: deactivateDrawTools
|
|
1627
|
+
onDeactivateDrawTools: deactivateDrawTools,
|
|
1628
|
+
onClearDrawing: clearDrawingHandler
|
|
1598
1629
|
};
|
|
1599
1630
|
return (_jsxs(Box, __assign({ sx: {
|
|
1600
1631
|
display: 'flex',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export default function DrawColorPlatte({ expanded, updateDrawPen, setDrawingEnabled, showPenModes, penDrawMode, onPenDrawModeChange, polylineVertexCount, penDraftActive, onApplyPenDraft,
|
|
1
|
+
export default function DrawColorPlatte({ expanded, updateDrawPen, setDrawingEnabled, showPenModes, penDrawMode, onPenDrawModeChange, polylineVertexCount, penDraftActive, onApplyPenDraft, onFillPenDraft, brushSize, updateBrushSize, shapeDraftActive, onApplyShapeDraft, }: {
|
|
2
2
|
expanded: any;
|
|
3
3
|
updateDrawPen: any;
|
|
4
4
|
setDrawingEnabled: any;
|
|
@@ -8,11 +8,9 @@ export default function DrawColorPlatte({ expanded, updateDrawPen, setDrawingEna
|
|
|
8
8
|
polylineVertexCount?: number | undefined;
|
|
9
9
|
penDraftActive?: boolean | undefined;
|
|
10
10
|
onApplyPenDraft: any;
|
|
11
|
-
onCancelPenDraft: any;
|
|
12
11
|
onFillPenDraft: any;
|
|
13
12
|
brushSize?: number | undefined;
|
|
14
13
|
updateBrushSize: any;
|
|
15
14
|
shapeDraftActive?: boolean | undefined;
|
|
16
15
|
onApplyShapeDraft: any;
|
|
17
|
-
onCancelShapeDraft: any;
|
|
18
16
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -11,12 +11,11 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
/**
|
|
14
|
-
* Pen palette adds freehand vs polyline mode; pen/shape drafts show Apply
|
|
14
|
+
* Pen palette adds freehand vs polyline mode; pen/shape drafts show Apply while adjusting.
|
|
15
15
|
*/
|
|
16
16
|
import { Stack, IconButton, Button, Tooltip, Typography } from "@mui/material";
|
|
17
17
|
import FiberManualRecordIcon from "@mui/icons-material/FiberManualRecord";
|
|
18
18
|
import CheckIcon from "@mui/icons-material/Check";
|
|
19
|
-
import CloseIcon from "@mui/icons-material/Close";
|
|
20
19
|
import { BrushSizeSlider } from "./BrushSizeSlider";
|
|
21
20
|
var FILLED_COLORS = [
|
|
22
21
|
{ sx: { color: "red" } },
|
|
@@ -37,7 +36,7 @@ var modeBtnSx = function (active) { return ({
|
|
|
37
36
|
px: 0.75
|
|
38
37
|
}); };
|
|
39
38
|
export default function DrawColorPlatte(_a) {
|
|
40
|
-
var expanded = _a.expanded, updateDrawPen = _a.updateDrawPen, setDrawingEnabled = _a.setDrawingEnabled, _b = _a.showPenModes, showPenModes = _b === void 0 ? false : _b, _c = _a.penDrawMode, penDrawMode = _c === void 0 ? "freehand" : _c, onPenDrawModeChange = _a.onPenDrawModeChange, _d = _a.polylineVertexCount, polylineVertexCount = _d === void 0 ? 0 : _d, _e = _a.penDraftActive, penDraftActive = _e === void 0 ? false : _e, onApplyPenDraft = _a.onApplyPenDraft,
|
|
39
|
+
var expanded = _a.expanded, updateDrawPen = _a.updateDrawPen, setDrawingEnabled = _a.setDrawingEnabled, _b = _a.showPenModes, showPenModes = _b === void 0 ? false : _b, _c = _a.penDrawMode, penDrawMode = _c === void 0 ? "freehand" : _c, onPenDrawModeChange = _a.onPenDrawModeChange, _d = _a.polylineVertexCount, polylineVertexCount = _d === void 0 ? 0 : _d, _e = _a.penDraftActive, penDraftActive = _e === void 0 ? false : _e, onApplyPenDraft = _a.onApplyPenDraft, onFillPenDraft = _a.onFillPenDraft, _f = _a.brushSize, brushSize = _f === void 0 ? 1 : _f, updateBrushSize = _a.updateBrushSize, _g = _a.shapeDraftActive, shapeDraftActive = _g === void 0 ? false : _g, onApplyShapeDraft = _a.onApplyShapeDraft;
|
|
41
40
|
return (_jsxs(Stack, __assign({ style: {
|
|
42
41
|
position: "absolute",
|
|
43
42
|
top: "100%",
|
|
@@ -54,38 +53,14 @@ export default function DrawColorPlatte(_a) {
|
|
|
54
53
|
}, direction: "column", spacing: 0.5, sx: { py: expanded ? 0.5 : 0 } }, { children: [showPenModes && expanded && (_jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 0.5, sx: { px: 0.75, pt: 0.25 } }, { children: [_jsx(Button, __assign({ size: "small", onClick: function () { return onPenDrawModeChange === null || onPenDrawModeChange === void 0 ? void 0 : onPenDrawModeChange("freehand"); }, sx: modeBtnSx(penDrawMode === "freehand") }, { children: "Freehand" })), _jsx(Button, __assign({ size: "small", onClick: function () { return onPenDrawModeChange === null || onPenDrawModeChange === void 0 ? void 0 : onPenDrawModeChange("polyline"); }, sx: modeBtnSx(penDrawMode === "polyline") }, { children: "Polyline" }))] }))), showPenModes && expanded && updateBrushSize && (_jsx(BrushSizeSlider, { label: "Line thickness", brushSize: brushSize, updateBrushSize: updateBrushSize })), _jsx(Stack, __assign({ direction: "row" }, { children: FILLED_COLORS.map(function (color, index) { return (_jsx(IconButton, __assign({ onClick: function () {
|
|
55
54
|
updateDrawPen({ target: { value: index + 1 } });
|
|
56
55
|
setDrawingEnabled(true);
|
|
57
|
-
} }, { children: _jsx(FiberManualRecordIcon, { sx: color.sx }) }), index)); }) })), showPenModes && penDrawMode === "polyline" && expanded && polylineVertexCount === 0 && (_jsx(Typography, __assign({ sx: { px: 1, pb: 0.5, fontSize: "0.68rem", color: "#aaa", userSelect: "none" } }, { children: "Click each vertex to draw connected line segments" }))), showPenModes && penDraftActive && expanded && (_jsxs(Stack, __assign({ direction: "row", alignItems: "center", justifyContent: "
|
|
58
|
-
color: "#
|
|
59
|
-
fontSize: ACTION_FONT_SIZE,
|
|
60
|
-
textTransform: "none",
|
|
61
|
-
minWidth: 0,
|
|
62
|
-
py: 0.25,
|
|
63
|
-
px: 0.75,
|
|
64
|
-
"& .MuiButton-startIcon": { mr: 0.5, ml: 0 }
|
|
65
|
-
} }, { children: "Cancel" })) })), _jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 1 }, { children: [penDrawMode === "polyline" && polylineVertexCount >= 3 && (_jsx(Tooltip, __assign({ title: "Fill interior (keeps outline editable until Apply)" }, { children: _jsx(Button, __assign({ size: "small", "aria-label": "fill polyline", onClick: function () { return onFillPenDraft === null || onFillPenDraft === void 0 ? void 0 : onFillPenDraft(); }, sx: {
|
|
66
|
-
color: "#c9a0e8",
|
|
67
|
-
fontSize: ACTION_FONT_SIZE,
|
|
68
|
-
textTransform: "none",
|
|
69
|
-
minWidth: 0,
|
|
70
|
-
py: 0.25,
|
|
71
|
-
px: 0.75
|
|
72
|
-
} }, { children: "Fill" })) }))), _jsx(Tooltip, __assign({ title: "Apply shape (enter or right-click)" }, { children: _jsx(Button, __assign({ size: "small", "aria-label": "apply pen draft", onClick: function () { return onApplyPenDraft === null || onApplyPenDraft === void 0 ? void 0 : onApplyPenDraft(); }, startIcon: _jsx(CheckIcon, { sx: { fontSize: ACTION_ICON_SIZE } }), sx: {
|
|
73
|
-
color: "#c9a0e8",
|
|
74
|
-
fontSize: ACTION_FONT_SIZE,
|
|
75
|
-
textTransform: "none",
|
|
76
|
-
minWidth: 0,
|
|
77
|
-
py: 0.25,
|
|
78
|
-
px: 0.75,
|
|
79
|
-
"& .MuiButton-startIcon": { mr: 0.5, ml: 0 }
|
|
80
|
-
} }, { children: "Apply" })) }))] }))] }))), shapeDraftActive && expanded && (_jsxs(Stack, __assign({ direction: "row", alignItems: "center", justifyContent: "space-between", sx: { px: 1, py: 0.5, borderTop: "1px solid #555", width: "100%" } }, { children: [_jsx(Tooltip, __assign({ title: "Cancel shape (Esc)" }, { children: _jsx(Button, __assign({ size: "small", "aria-label": "cancel shape", onClick: function () { return onCancelShapeDraft === null || onCancelShapeDraft === void 0 ? void 0 : onCancelShapeDraft(); }, startIcon: _jsx(CloseIcon, { sx: { fontSize: ACTION_ICON_SIZE } }), sx: {
|
|
81
|
-
color: "#ccc",
|
|
56
|
+
} }, { children: _jsx(FiberManualRecordIcon, { sx: color.sx }) }), index)); }) })), showPenModes && penDrawMode === "polyline" && expanded && polylineVertexCount === 0 && (_jsx(Typography, __assign({ sx: { px: 1, pb: 0.5, fontSize: "0.68rem", color: "#aaa", userSelect: "none" } }, { children: "Click each vertex to draw connected line segments" }))), showPenModes && penDraftActive && expanded && (_jsxs(Stack, __assign({ direction: "row", alignItems: "center", justifyContent: "flex-end", spacing: 1, sx: { px: 1, py: 0.5, borderTop: "1px solid #555", width: "100%" } }, { children: [penDrawMode === "polyline" && polylineVertexCount >= 3 && (_jsx(Tooltip, __assign({ title: "Fill interior (keeps outline editable until Apply)" }, { children: _jsx(Button, __assign({ size: "small", "aria-label": "fill polyline", onClick: function () { return onFillPenDraft === null || onFillPenDraft === void 0 ? void 0 : onFillPenDraft(); }, sx: {
|
|
57
|
+
color: "#c9a0e8",
|
|
82
58
|
fontSize: ACTION_FONT_SIZE,
|
|
83
59
|
textTransform: "none",
|
|
84
60
|
minWidth: 0,
|
|
85
61
|
py: 0.25,
|
|
86
|
-
px: 0.75
|
|
87
|
-
|
|
88
|
-
} }, { children: "Cancel" })) })), _jsx(Tooltip, __assign({ title: "Apply shape (enter or right-click)" }, { children: _jsx(Button, __assign({ size: "small", "aria-label": "apply shape", onClick: function () { return onApplyShapeDraft === null || onApplyShapeDraft === void 0 ? void 0 : onApplyShapeDraft(); }, startIcon: _jsx(CheckIcon, { sx: { fontSize: ACTION_ICON_SIZE } }), sx: {
|
|
62
|
+
px: 0.75
|
|
63
|
+
} }, { children: "Fill" })) }))), _jsx(Tooltip, __assign({ title: "Apply shape (enter or right-click)" }, { children: _jsx(Button, __assign({ size: "small", "aria-label": "apply pen draft", onClick: function () { return onApplyPenDraft === null || onApplyPenDraft === void 0 ? void 0 : onApplyPenDraft(); }, startIcon: _jsx(CheckIcon, { sx: { fontSize: ACTION_ICON_SIZE } }), sx: {
|
|
89
64
|
color: "#c9a0e8",
|
|
90
65
|
fontSize: ACTION_FONT_SIZE,
|
|
91
66
|
textTransform: "none",
|
|
@@ -93,5 +68,13 @@ export default function DrawColorPlatte(_a) {
|
|
|
93
68
|
py: 0.25,
|
|
94
69
|
px: 0.75,
|
|
95
70
|
"& .MuiButton-startIcon": { mr: 0.5, ml: 0 }
|
|
96
|
-
} }, { children: "Apply" })) }))] })))
|
|
71
|
+
} }, { children: "Apply" })) }))] }))), shapeDraftActive && expanded && (_jsx(Stack, __assign({ direction: "row", alignItems: "center", justifyContent: "flex-end", sx: { px: 1, py: 0.5, borderTop: "1px solid #555", width: "100%" } }, { children: _jsx(Tooltip, __assign({ title: "Apply shape (enter or right-click)" }, { children: _jsx(Button, __assign({ size: "small", "aria-label": "apply shape", onClick: function () { return onApplyShapeDraft === null || onApplyShapeDraft === void 0 ? void 0 : onApplyShapeDraft(); }, startIcon: _jsx(CheckIcon, { sx: { fontSize: ACTION_ICON_SIZE } }), sx: {
|
|
72
|
+
color: "#c9a0e8",
|
|
73
|
+
fontSize: ACTION_FONT_SIZE,
|
|
74
|
+
textTransform: "none",
|
|
75
|
+
minWidth: 0,
|
|
76
|
+
py: 0.25,
|
|
77
|
+
px: 0.75,
|
|
78
|
+
"& .MuiButton-startIcon": { mr: 0.5, ml: 0 }
|
|
79
|
+
} }, { children: "Apply" })) })) })))] })));
|
|
97
80
|
}
|
|
@@ -189,12 +189,13 @@ export function MroDrawToolkit(props) {
|
|
|
189
189
|
alignItems: "center",
|
|
190
190
|
gap: 4,
|
|
191
191
|
overflow: "visible"
|
|
192
|
-
} }, { children: [_jsxs(Box, __assign({ sx: { position: "relative", zIndex: expandedOption === "d" ? 1600 : "auto", display: "inline-flex", alignItems: "center" } }, { children: [_jsx(Tooltip, __assign({ title: "Pen" }, { children: _jsx(IconButton, __assign({ "aria-label": "pen", size: "small", onClick: clickPen, sx: __assign(__assign({}, toolBtnSx), shapeSelectedSx("pen")) }, { children: _jsx(DrawIcon, { sx: { color: "inherit" } }) })) })), _jsx(DrawColorPlatte, { expanded: expandedOption === "d", updateDrawPen: props.updateDrawPen, setDrawingEnabled: props.setDrawingEnabled, showPenModes: true, penDrawMode: props.penDrawMode, onPenDrawModeChange: props.onPenDrawModeChange, polylineVertexCount: props.polylineVertexCount, onCancelPolyline: props.onCancelPolyline, penDraftActive: props.penDraftActive, onApplyPenDraft: props.onApplyPenDraft,
|
|
192
|
+
} }, { children: [_jsxs(Box, __assign({ sx: { position: "relative", zIndex: expandedOption === "d" ? 1600 : "auto", display: "inline-flex", alignItems: "center" } }, { children: [_jsx(Tooltip, __assign({ title: "Pen" }, { children: _jsx(IconButton, __assign({ "aria-label": "pen", size: "small", onClick: clickPen, sx: __assign(__assign({}, toolBtnSx), shapeSelectedSx("pen")) }, { children: _jsx(DrawIcon, { sx: { color: "inherit" } }) })) })), _jsx(DrawColorPlatte, { expanded: expandedOption === "d", updateDrawPen: props.updateDrawPen, setDrawingEnabled: props.setDrawingEnabled, showPenModes: true, penDrawMode: props.penDrawMode, onPenDrawModeChange: props.onPenDrawModeChange, polylineVertexCount: props.polylineVertexCount, onCancelPolyline: props.onCancelPolyline, penDraftActive: props.penDraftActive, onApplyPenDraft: props.onApplyPenDraft, onFillPenDraft: props.onFillPenDraft, brushSize: props.brushSize, updateBrushSize: props.updateBrushSize })] })), _jsxs(Box, __assign({ sx: { position: "relative", zIndex: expandedOption === "r" ? 1600 : "auto", display: "inline-flex", alignItems: "center" } }, { children: [_jsx(Tooltip, __assign({ title: "Rectangle" }, { children: _jsx(IconButton, __assign({ "aria-label": "rectangle", size: "small", onClick: clickRectangle, sx: __assign(__assign({}, toolBtnSx), shapeSelectedSx("rectangle")) }, { children: _jsx(CropSquareOutlinedIcon, { sx: { color: "inherit" } }) })) })), _jsx(DrawColorPlatte, { expanded: expandedOption === "r", updateDrawPen: props.updateDrawPen, setDrawingEnabled: props.setDrawingEnabled, shapeDraftActive: props.shapeDraftActive && drawShapeTool === "rectangle", onApplyShapeDraft: props.onApplyShapeDraft })] })), _jsxs(Box, __assign({ sx: { position: "relative", zIndex: expandedOption === "l" ? 1600 : "auto", display: "inline-flex", alignItems: "center" } }, { children: [_jsx(Tooltip, __assign({ title: "Ellipse" }, { children: _jsx(IconButton, __assign({ "aria-label": "ellipse", size: "small", onClick: clickEllipse, sx: __assign(__assign({}, toolBtnSx), shapeSelectedSx("ellipse")) }, { children: _jsx(CircleOutlinedIcon, { sx: { color: "inherit" } }) })) })), _jsx(DrawColorPlatte, { expanded: expandedOption === "l", updateDrawPen: props.updateDrawPen, setDrawingEnabled: props.setDrawingEnabled, shapeDraftActive: props.shapeDraftActive && drawShapeTool === "ellipse", onApplyShapeDraft: props.onApplyShapeDraft })] })), _jsxs(Box, __assign({ sx: { position: "relative", zIndex: expandedOption === "e" ? 1600 : "auto", display: "inline-flex", alignItems: "center" } }, { children: [_jsx(Tooltip, __assign({ title: "Eraser" }, { children: _jsx(IconButton, __assign({ "aria-label": "erase", size: "small", onClick: clickEraser, sx: __assign(__assign({}, toolBtnSx), (eraserActive
|
|
193
193
|
? { backgroundColor: "rgba(88, 15, 139, 0.12)", color: "#580f8b" }
|
|
194
194
|
: {})) }, { children: filled || !eraserActive ? (_jsx(EraserIcon, {})) : (_jsx(AutoFixNormalOutlinedIcon, { sx: { color: ICON_COLOR } })) })) })), _jsx(EraserPlatte, { expandEraseOptions: expandedOption === "e", updateDrawPen: props.updateDrawPen, setDrawingEnabled: props.setDrawingEnabled, brushSize: props.brushSize, updateBrushSize: props.updateBrushSize })] })), _jsx(Tooltip, __assign({ title: "Undo" }, { children: _jsx(IconButton, __assign({ "aria-label": "revert", size: "small", onClick: function () { return props.drawUndo(); }, sx: toolBtnSx }, { children: _jsx(ReplyIcon, { sx: { color: ICON_COLOR } }) })) })), _jsx(Tooltip, __assign({ title: "Save screenshot" }, { children: _jsx("span", { children: _jsx(IconButton, __assign({ "aria-label": "capture", size: "small", disabled: !vol, onClick: function () { return vol && props.nv.saveScene("".concat(vol.name, "_drawing.png")); }, sx: toolBtnSx }, { children: _jsx(CameraAltIcon, { sx: { color: ICON_COLOR } }) })) }) })), _jsx(Tooltip, __assign({ title: "Clear drawing" }, { children: _jsx(IconButton, __assign({ "aria-label": "delete", size: "small", onClick: function () {
|
|
195
|
-
|
|
196
|
-
props.
|
|
197
|
-
|
|
195
|
+
var _a;
|
|
196
|
+
(_a = props.onClearDrawing) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
197
|
+
setExpandedOption("n");
|
|
198
|
+
setExpandOpacityOptions(false);
|
|
198
199
|
}, sx: toolBtnSx }, { children: _jsx(DeleteIcon, { sx: { color: ICON_COLOR } }) })) })), _jsx(Tooltip, __assign({ title: "ROI visibility" }, { children: _jsx(IconButton, __assign({ "aria-label": "visible", size: "small", onClick: function () { return props.toggleROIVisible(); }, sx: toolBtnSx }, { children: props.roiVisible ? (_jsx(VisibilityIcon, { sx: { color: ICON_COLOR } })) : (_jsx(VisibilityOffIcon, { sx: { color: ICON_COLOR, opacity: 0.45 } })) })) })), _jsxs(Box, __assign({ sx: {
|
|
199
200
|
position: "relative",
|
|
200
201
|
zIndex: expandOpacityOptions ? 1600 : "auto",
|