| <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> |