public bool OnMouseLeftDown(Point mouse, Point imageLocation, float imageZoom) { if (metadata == null || screenToolManager == null) { return(false); } // At this point we must know the current timestamp and metadata should be valid. // TODO: Handle magnifier. // TODO: see if this could handle whole image manipulation as well, but at the moment the resizers are stored in the viewport. bool handled = false; ImageToViewportTransformer transformer = new ImageToViewportTransformer(imageLocation, imageZoom); PointF imagePoint = transformer.Untransform(mouse); metadata.AllDrawingTextToNormalMode(); if (screenToolManager.IsUsingHandTool) { // TODO: Change cursor. handled = screenToolManager.HandTool.OnMouseDown(metadata, fixedKeyframe, imagePoint, fixedTimestamp, true); } else { handled = true; CreateNewDrawing(imagePoint, transformer); } return(handled); }