updatePointer method
void
updatePointer(
- dynamic event
Implementation
void updatePointer(event) {
final box = listenableKey.currentContext?.findRenderObject() as RenderBox;
final size = box.size;
final local = box.globalToLocal(const Offset(0, 0));
_pointer.x = (event.clientX - local.dx) / size.width * 2 - 1;
_pointer.y = -(event.clientY - local.dy) / size.height * 2 + 1;
final tempKnot = Vector3(_knobSprite!.position.x+event.movementX-12,_knobSprite.position.y-event.movementY-12,1);
final tempOrigin = Vector3(origin.x/2,origin.y/2,1);
final len = tempKnot.distanceTo(tempOrigin);
final deltaX = (_knobSprite.position.x+event.movementX-12) - (origin.x/2);
final deltaY = (_knobSprite.position.y-event.movementY-1) - (origin.y/2);
_angle = 180-(atan2(deltaY, deltaX)*180)/pi;
if(len > (this.size/2)){
dragPosition.x = 0;
dragPosition.y = 0;
_intensity = 1.0;
}
else{
dragPosition.x = event.movementX;
dragPosition.y = -event.movementY;
_intensity = len/(this.size/2);
}
}