Files
2026-01-18 00:13:02 +09:00

138 lines
3.4 KiB
CSS

/**
* ComfyUI Annotations Extension - Styles
*
* Overlay positioning and appearance.
* Supports both light and dark ComfyUI themes.
*/
/* ============================================================================
Overlay Container
============================================================================ */
.annotation-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 100;
overflow: hidden;
/* Default: pass-through to LiteGraph canvas */
pointer-events: none;
/* Prevent text selection while drawing */
user-select: none;
-webkit-user-select: none;
}
/* ============================================================================
Drawing Canvas
============================================================================ */
.annotation-canvas {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
/* Inherit pointer-events from parent */
pointer-events: inherit;
/* Smooth rendering for curves */
image-rendering: auto;
/* Touch action for drawing (disable browser gestures) */
touch-action: none;
}
/* ============================================================================
Cursor Styles (applied via JavaScript)
============================================================================ */
.annotation-canvas[data-mode="draw"] {
cursor: crosshair;
}
.annotation-canvas[data-mode="erase"] {
cursor: cell;
}
.annotation-canvas[data-mode="pan"] {
cursor: default;
}
/* ============================================================================
Future: Toolbar Styles (Milestone 4+)
============================================================================ */
/*
.annotation-toolbar {
position: absolute;
top: 20px;
left: 50%;
transform: translateX(-50%);
z-index: 1050;
pointer-events: auto;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: rgba(26, 26, 26, 0.9);
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 13px;
color: #e0e0e0;
}
body:not(.dark) .annotation-toolbar {
background: rgba(255, 255, 255, 0.95);
color: #333;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
*/
/* ============================================================================
Animations
============================================================================ */
@keyframes annotation-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.annotation-overlay.visible {
animation: annotation-fade-in 0.15s ease-out;
}
/* ============================================================================
High Contrast Mode Support
============================================================================ */
@media (prefers-contrast: high) {
.annotation-overlay {
/* Ensure strokes remain visible in high contrast */
}
}
/* ============================================================================
Reduced Motion Support
============================================================================ */
@media (prefers-reduced-motion: reduce) {
.annotation-overlay,
.annotation-overlay * {
animation: none !important;
transition: none !important;
}
}