Ejemplo n.º 1
0
        //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);
                }
            }
        }
Ejemplo n.º 2
0
 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;
 }