File size: 1,402 Bytes
aceb1b2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/* Segmentation Tool Styles */

/* Eraser cursor visualization */
.segmentation-eraser-cursor {
    position: absolute;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    pointer-events: none;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
    transform: translate(-50%, -50%);
    z-index: 100;
}

/* Segmentation tool button active states */
.tool-btn[data-tool="fill"].active {
    background-color: #dbeafe;
    border-color: #3b82f6;
    color: #1d4ed8;
}

.tool-btn[data-tool="eraser"].active {
    background-color: #fef2f2;
    border-color: #ef4444;
    color: #dc2626;
}

/* Eraser size control */
.segmentation-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    padding: 4px 8px;
    font-size: 0.8rem;
    color: #64748b;
}

.segmentation-controls label {
    font-weight: 500;
    white-space: nowrap;
}

.segmentation-controls input[type="range"] {
    width: 80px;
    height: 4px;
}

.segmentation-controls .fill-tolerance-control,
.segmentation-controls .eraser-size-control {
    display: none;
}

.segmentation-controls .fill-tolerance-control.visible,
.segmentation-controls .eraser-size-control.visible {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Mask overlay canvas */
.segmentation-mask-overlay {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    opacity: 0.4;
}