예제 #1
0
 private void pbCizimAlani_MouseDown(object sender, MouseEventArgs e)
 {
     if (seciliKatman == null)
     {
         return;                                //formda seçili bir katman yoksa derhal çýk
     }
     if (anaForm.AracKutusu.SeciliArac.Tip == AracTipi.Tasima)
     {                   //taþýmayla alakalý iþlemler
         if (e.Button == MouseButtons.Left)
         {               //taþýma olayý baþlat
             if (seciliKatman != null)
             {
                 if (seciliKatman.SeciliSekil != null)
                 {
                     tasima = new TasimaOlayi(this, seciliKatman.SeciliSekil, new Nokta(e.X, e.Y));
                 }
             }
         }
         else if (e.Button == MouseButtons.Right && tasima != null)
         {                       //taþýma olayýný iptal et
             tasima.IptalEt();
             tasima = null;
         }
     }
     else if (anaForm.AracKutusu.SeciliArac.Tip == AracTipi.Secme && e.Button == MouseButtons.Left)
     {
         //týklanan yere göre herhangi bir þekilin seçilmesi gerekiyor mu
         Sekil secilenSekil = sekilSecimKontrolu(gercekNokta(new Nokta(e.X, e.Y)));
         if (secilenSekil != null)
         {
             //eðer zaten seçili deðilse týklanan þekili seç
             if (!secilenSekil.Equals(seciliKatman.SeciliSekil))
             {
                 anaForm.SekilSec(seciliKatman.sekiller.IndexOf(secilenSekil));
             }
             //ayný anda taþýma olayý da baþlat
             anaForm.AracKutusu.AracDegistir(AracTipi.Tasima);
             tasima = new TasimaOlayi(this, seciliKatman.SeciliSekil, new Nokta(e.X, e.Y));
             tasima.TasimaSonrasi = AracTipi.Secme;
         }
     }
     else
     {               //þekil çizimi ile alakalý
         if (e.Button == MouseButtons.Left)
         {           //çizime bir nokta daha ekle
             if (cizim != null)
             {
                 cizim.NoktaEkle(gercekNokta(new Nokta(e.X, e.Y)));
             }
         }
         else if (e.Button == MouseButtons.Right && cizim != null)
         {                 //halen çizim aþamasýndaki çizimi iptal et
             cizim.IptalEt();
         }
     }
 }
 public void Uygula(frmCizim cizimFormu)
 {
     //eðer seçili olan þekil bu ise seçili olma durumunu kaldýr
     if (silinenSekil.Equals(katman.SeciliSekil))
     {
         katman.SeciliSekil = null;
     }
     //bu þekli ait olduðu katmandan çýkar
     katman.sekiller.RemoveAt(sIndex);
     //ana formdaki listeleri güncelle
     cizimFormu.AnaForm.ListeleriGuncelle();
     //çizim alanýnýn görüntüsünü güncelle
     cizimFormu.GoruntuyuGuncelle();
 }
예제 #3
0
 public void IptalEt(frmCizim cizimFormu)
 {
     //eðer seçili olan þekil bu ise seçili olma durumunu kaldýr
     if (cizilenSekil.Equals(cizilenKatman.SeciliSekil))
     {
         cizilenKatman.SeciliSekil = null;
     }
     //bu þekli ait olduðu katmandan çýkar
     cizilenKatman.sekiller.Remove(cizilenSekil);
     //ana formdaki listeleri güncelle
     cizimFormu.AnaForm.ListeleriGuncelle();
     //çizim alanýnýn görüntüsünü güncelle
     cizimFormu.GoruntuyuGuncelle();
 }