// Handle mouse movement. private void BarGraphHostControl_MouseMoved(object sender, HwndMouseEventArgs e) { // Adjust light position. if (currentGraph != null) { Point adjustedTopLeft = GetControlPointInDIP(); // Get point relative to control. Point relativePoint = new Point(e.point.X - adjustedTopLeft.X, e.point.Y - adjustedTopLeft.Y); // Update light position. currentGraph.UpdateLight(relativePoint); } }
private void HostControl_MouseMoved(object sender, HwndMouseEventArgs e) { // Adjust light position. if (currentGraph != null) { // Convert mouse position to DIP (is raised in physical pixels). var posDip = GetPointInDIP(e.point); var adjustedTopLeft = GetControlPointInDIP(CompositionHostElement); // Get point relative to control. var relativePoint = new SysWin.Point(posDip.X - adjustedTopLeft.X, posDip.Y - adjustedTopLeft.Y); // Update light position. currentGraph.UpdateLight(relativePoint); } }