// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private void MainWindow_MouseWheel(object sender, MouseWheelEventArgs e) { var point = Mouse.GetPosition(this); var valeur = Grille.UnitésVisibles; Grille.UnitésVisibles -= e.Delta / 120; if (Grille.UnitésVisibles < 10) { Grille.UnitésVisibles = 10; } if (Grille.UnitésVisibles > 80) { Grille.UnitésVisibles = 80; } if (valeur != Grille.UnitésVisibles) { Double Coefficient = (double)(Grille.UnitésVisibles - valeur) / valeur; Double dx = point.X * Coefficient; Double dy = point.Y * Coefficient; double hup = ActualHeight / Grille.UnitésVisibles; double wup = hup * Math.Tan(Math.PI / 3); int duy = (int)Math.Round(dy / hup); int dux = (int)Math.Round(dx / wup); Grille.jov += duy; Grille.jov -= dux; Grille.iov -= duy; Grille.iov -= dux; grille.InvalidateVisual(); } }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ internal static void ChangeCotéMap(int NouveauCotéMap) { CotéMap = NouveauCotéMap; thisOne.InitialisationMatrice(); thisOne.InvalidateVisual(); }