lost-sia
Version:
Single Image Annotation Tool
2 lines (1 loc) • 856 B
JavaScript
import{jsx as s}from"react/jsx-runtime";import{Component as o}from"react";class i extends o{constructor(e){super(e),this.state={selAreaCss:"sel-area-off"}}componentDidMount(){this.props.enable?this.enableSelArea():this.disableSelArea()}componentDidUpdate(){this.props.enable?this.enableSelArea():this.disableSelArea()}onMouseMove(e){this.props.onMouseMove&&this.props.onMouseMove(e)}onMouseUp(e){this.props.onMouseUp&&this.props.onMouseUp(e)}enableSelArea(){this.state.selAreaCss!=="sel-area-on"&&this.setState({selAreaCss:"sel-area-on"})}disableSelArea(){this.state.selAreaCss!=="sel-area-off"&&this.setState({selAreaCss:"sel-area-off"})}render(){return s("circle",{cx:this.props.svg.width/2,cy:this.props.svg.height/2,r:"100%",className:this.state.selAreaCss,onMouseMove:e=>{this.onMouseMove(e)},onMouseUp:e=>{this.onMouseUp(e)}})}}export{i as default};