//Noktalar kuyruðuna bir nokta ekle public void NoktaEkle(Nokta yeniNokta) //yeniNokta: santim tipinde { if (noktalar.Count == 0) //eðer hiç nokta yoksa ilk noktayý sakla { noktalar.Enqueue(yeniNokta); //çizim formunun ilk andaki görüntüsünü sakla ilkGoruntu = cizimFormu.CizimAlaniGoruntusuVer(null, true); } else //en az bir nokta varsa þeklin tipine göre karar ver { Nokta ilkNokta = (Nokta)noktalar.Dequeue(); //birinci noktayý kuyruktan al Sekil yeniSekil = null; switch (tip) { case CizimTipi.Dogru: //seçili katmana bir doðru ekle yeniSekil = new Dogru(ilkNokta.Kopyasi(), yeniNokta.Kopyasi()); //yeni bir doðru oluþtur yeniSekil.isim = "yeni doðru"; break; case CizimTipi.Dikdortgen: //seçili katmana bir dikdörtgen ekle yeniSekil = Dikdortgen.KuralliDikdortgen(ilkNokta, yeniNokta); yeniSekil.isim = "yeni dikdörtgen"; break; case CizimTipi.Cember: //seçili katmana bir çember ekle yeniSekil = new Cember(ilkNokta.Kopyasi(), ilkNokta.Uzaklik(yeniNokta)); yeniSekil.isim = "yeni çember"; break; case CizimTipi.Elips: //seçili katmana bir Elips ekle yeniSekil = Elips.KuralliElips(ilkNokta, yeniNokta); yeniSekil.isim = "yeni elips"; break; case CizimTipi.DogruSerisi: //seçili katmana bir doðru ekle ve diðer doðrunun //baþlangýç noktasýný bunun bitiþ noktasý yap yeniSekil = new Dogru(ilkNokta.Kopyasi(), yeniNokta.Kopyasi()); //yeni bir doðru oluþtur yeniSekil.isim = "yeni doðru"; SekilCizimiTamamlandi(yeniSekil); yeniSekil = null; NoktaEkle(yeniNokta); // yeni nokta sonraki doðrunun ilk noktasý break; default: break; } //çizimin tamamlandýðýný belirten olay tetikleniyor if (yeniSekil != null) { SekilCizimiTamamlandi(yeniSekil); } } }
public AracTipi TasimaSonrasi = AracTipi.Tasima; // taþýma bitince hangi araç seçilsin //Kurucu fonksyon public TasimaOlayi(frmCizim cizimFormu, Sekil tasinanSekil, Nokta ilkNokta) { this.cizimFormu = cizimFormu; this.tasinanSekil = tasinanSekil; //çizim formunun ilk andaki görüntüsünü (taþýnan þekil hariç) sakla ilkGoruntu = cizimFormu.CizimAlaniGoruntusuVer(tasinanSekil, true); //þeklin baþlangýçtaki noktasýný sakla baslangicNoktasi = tasinanSekil.DikdortgenselKoordinat().solUstKose; //mouse'un koordinatlarýný sakla simdikiNokta = ilkNokta; }