public MatrycaFiguraPunkt Znajdz(Point P) { am = J.R.Aktualna_Matryca; MatrycaFiguraPunkt p = null; foreach (MatrycaFiguraPunkt O in kopiaR.lokalizacja_figur) { if (O.nr_matrycy == am) { //jezeli to ten to biore figure if (P.X <= O.p.x + O.figura.W) { if (P.X >= O.p.x) { if (P.Y < O.p.y + O.figura.H) { if (P.Y > O.p.y) { p = O; J.wm.textBlock.Text = "Nazwa: " + p.figura.Nazwa + " ID: " + p.figura.ID; break; } } } } } } return(p); }
private void Window_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (J.prz != null) { Cursor = Cursors.Hand; czy_Przesuwać = true; p = J.prz.Znajdz(e.GetPosition(canvas)); // J.prz.Rusz(p, e.GetPosition(canvas)); textBlock.Text = e.GetPosition(canvas).X + ""; } }
private void Window_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { czy_Przesuwać = false; Cursor = Cursors.Arrow; p = null; }
public void Rusz(MatrycaFiguraPunkt p, Point P) { if (p != null && czyEdytowac) { bool czyMogeX = true; bool czyMogeY = true; double RX = 0, RY = 0; //RX = (P.X - ( p.p.x -P.X)); //RY = (P.Y - ( p.p.y- P.Y )); RX = P.X; RY = P.Y; J.wm.textBlock.Text = "spr"; foreach (MatrycaFiguraPunkt O in kopiaR.lokalizacja_figur) { if (O != p && O.nr_matrycy == am) { if (RX < 0 || RX + p.figura.W > J.Matka.rozmiar_x) { czyMogeX = false; J.wm.textBlock.Text = " nie można tu przesunąć X (" + RX + "," + RY + ")"; } if (RY < 0 || RY + p.figura.H > J.Matka.rozmiar_y) { czyMogeY = false; J.wm.textBlock.Text = " nie można tu przesunąć Y (" + RX + "," + RY + ")"; } if (czyMogeX || czyMogeY) { if (RX < O.p.x + O.figura.W + rzaz) { if (RX + p.figura.W + rzaz > O.p.x) { if (p.p.y < O.p.y + O.figura.H + rzaz) { if (p.p.y + p.figura.H + rzaz > O.p.y) { czyMogeX = false; J.wm.textBlock.Text = " nie można tu przesunąć X (" + RX + "," + RY + ")"; } } } } if (p.p.x < O.p.x + O.figura.W + rzaz) { if (p.p.x + p.figura.W + rzaz > O.p.x) { if (RY < O.p.y + O.figura.H + rzaz) { if (RY + p.figura.H + rzaz > O.p.y) { czyMogeY = false; J.wm.textBlock.Text = " nie można tu przesunąć Y (" + RX + "," + RY + ")"; } } } } } } } if (czyMogeX) { p.p.x = (int)RX; J.wm.textBlock.Text += " przesunietoX"; } if (czyMogeY) { p.p.y = (int)RY; J.wm.textBlock.Text += " przesunietoY"; } if (czyMogeX || czyMogeY) { J.R.Rysuj(kopiaR); J.wm.textBlock.Text = "Nazwa: " + p.figura.Nazwa + " ID: " + p.figura.ID + " " + P.X + " " + P.Y; } } }