| <template> | |
| <div :class="`mouse-selection quadrant-${quadrant}`" | |
| :style="{ | |
| top: top + 'px', | |
| left: left + 'px', | |
| width: width + 'px', | |
| height: height + 'px', | |
| }" | |
| ></div> | |
| </template> | |
| <script lang="ts" setup> | |
| defineProps<{ | |
| top: number | |
| left: number | |
| width: number | |
| height: number | |
| quadrant: number | |
| }>() | |
| </script> | |
| <style lang="scss" scoped> | |
| .mouse-selection { | |
| position: absolute; | |
| background-color: rgba($themeColor, 0.1); | |
| border: 1px solid $themeColor; | |
| z-index: 200; | |
| &.quadrant-1 { | |
| transform-origin: 50% 0; | |
| transform: rotate(180deg); | |
| } | |
| &.quadrant-2 { | |
| transform-origin: 0 0; | |
| transform: rotate(180deg); | |
| } | |
| &.quadrant-3 { | |
| transform-origin: 0 50%; | |
| transform: rotate(180deg); | |
| } | |
| &.quadrant-4 { | |
| transform-origin: 0 0; | |
| transform: rotate(0deg); | |
| } | |
| } | |
| </style> |