private void PrintNavamsaChakra(PrintPageEventArgs e) { g = e.Graphics; left = e.MarginBounds.Left; top = e.MarginBounds.Top; width = e.MarginBounds.Width; NavamsaControl nc = new NavamsaControl(h); nc.PrintMode = true; Bitmap bmp = nc.DrawToBitmap(Math.Min(e.MarginBounds.Width, e.MarginBounds.Height)); g.ResetTransform(); g.DrawImage(bmp, left, top); }
public void SetView(BaseUserOptions.ViewType view) { MhoraControl mc = null;; switch (view) { case BaseUserOptions.ViewType.DivisionalChart: mc = new DivisionalChart(h); break; case BaseUserOptions.ViewType.Ashtakavarga: mc = new AshtakavargaControl(h); break; case BaseUserOptions.ViewType.ChakraSarvatobhadra81: mc = new Sarvatobhadra81Control(h); break; case BaseUserOptions.ViewType.NavamsaCircle: mc = new NavamsaControl(h); break; case BaseUserOptions.ViewType.VaraChakra: mc = new VaraChakra(h); break; case BaseUserOptions.ViewType.Panchanga: mc = new PanchangaControl(h); break; case BaseUserOptions.ViewType.KutaMatching: { Horoscope h2 = h; foreach (Form f in ((MhoraContainer)MhoraGlobalOptions.mainControl).MdiChildren) { if (f is MhoraChild) { MhoraChild mch = (MhoraChild)f; if (h == h2 && mch.getHoroscope() != h2) { h2 = mch.getHoroscope(); break; } } } mc = new KutaMatchingControl(h, h); } break; case BaseUserOptions.ViewType.DasaVimsottari: mc = new DasaControl(h, new VimsottariDasa(h)); break; case BaseUserOptions.ViewType.DasaYogini: mc = new DasaControl(h, new YoginiDasa(h)); break; case BaseUserOptions.ViewType.DasaShodashottari: mc = new DasaControl(h, new ShodashottariDasa(h)); break; case BaseUserOptions.ViewType.DasaAshtottari: mc = new DasaControl(h, new AshtottariDasa(h)); break; case BaseUserOptions.ViewType.DasaTithiAshtottari: mc = new DasaControl(h, new TithiAshtottariDasa(h)); break; case BaseUserOptions.ViewType.DasaKaranaChaturashitiSama: mc = new DasaControl(h, new KaranaChaturashitiSamaDasa(h)); break; case BaseUserOptions.ViewType.DasaYogaVimsottari: mc = new DasaControl(h, new YogaVimsottariDasa(h)); break; case BaseUserOptions.ViewType.DasaLagnaKendradiRasi: mc = new DasaControl(h, new LagnaKendradiRasiDasa(h)); break; case BaseUserOptions.ViewType.DasaKarakaKendradiGraha: mc = new DasaControl(h, new KarakaKendradiGrahaDasa(h)); break; case BaseUserOptions.ViewType.DasaKalachakra: mc = new DasaControl(h, new KalachakraDasa(h)); break; case BaseUserOptions.ViewType.DasaMoola: mc = new DasaControl(h, new MoolaDasa(h)); break; case BaseUserOptions.ViewType.DasaNavamsa: mc = new DasaControl(h, new NavamsaDasa(h)); break; case BaseUserOptions.ViewType.DasaMandooka: mc = new DasaControl(h, new MandookaDasa(h)); break; case BaseUserOptions.ViewType.DasaChara: mc = new DasaControl(h, new CharaDasa(h)); break; case BaseUserOptions.ViewType.DasaTrikona: mc = new DasaControl(h, new TrikonaDasa(h)); break; case BaseUserOptions.ViewType.DasaSu: mc = new DasaControl(h, new SuDasa(h)); break; case BaseUserOptions.ViewType.DasaSudarshanaChakra: mc = new DasaControl(h, new SudarshanaChakraDasa(h)); break; case BaseUserOptions.ViewType.DasaMudda: { DasaControl dc = new DasaControl(h, new VimsottariDasa(h)); dc.DasaOptions.YearType = ToDate.DateType.SolarYear; dc.DasaOptions.YearLength = 360; dc.DasaOptions.Compression = 1; dc.Reset(); mc = dc; } break; case BaseUserOptions.ViewType.DasaSudarshanaChakraCompressed: { DasaControl dc = new DasaControl(h, new SudarshanaChakraDasa(h)); dc.DasaOptions.YearType = ToDate.DateType.SolarYear; dc.DasaOptions.YearLength = 360; dc.DasaOptions.Compression = 1; dc.Reset(); mc = dc; } break; case BaseUserOptions.ViewType.DasaYogaPraveshVimsottariCompressedYoga: { DasaControl dc = new DasaControl(h, new YogaVimsottariDasa(h)); dc.compressToYogaPraveshaYearYoga(); mc = dc; } break; case BaseUserOptions.ViewType.DasaTithiPraveshAshtottariCompressedTithi: { DasaControl dc = new DasaControl(h, new TithiAshtottariDasa(h)); dc.DasaOptions.YearType = ToDate.DateType.TithiYear; ToDate td_pravesh = new ToDate(h.baseUT, ToDate.DateType.TithiPraveshYear, 360.0, 0, h); ToDate td_tithi = new ToDate(h.baseUT, ToDate.DateType.TithiYear, 360.0, 0, h); sweph.obtainLock(h); if (td_tithi.AddYears(1).toUniversalTime() + 15.0 < td_pravesh.AddYears(1).toUniversalTime()) { dc.DasaOptions.YearLength = 390; } sweph.releaseLock(h); dc.DasaOptions.Compression = 1; TithiAshtottariDasa.UserOptions tuo = (TithiAshtottariDasa.UserOptions)dc.DasaSpecificOptions; tuo.UseTithiRemainder = true; dc.DasaSpecificOptions = tuo; dc.Reset(); mc = dc; } break; case BaseUserOptions.ViewType.DasaTithiPraveshAshtottariCompressedFixed: { DasaControl dc = new DasaControl(h, new TithiAshtottariDasa(h)); ToDate td_pravesh = new ToDate(h.baseUT, ToDate.DateType.TithiPraveshYear, 360.0, 0, h); sweph.obtainLock(h); dc.DasaOptions.YearType = ToDate.DateType.FixedYear; dc.DasaOptions.YearLength = td_pravesh.AddYears(1).toUniversalTime() - td_pravesh.AddYears(0).toUniversalTime(); sweph.releaseLock(h); TithiAshtottariDasa.UserOptions tuo = (TithiAshtottariDasa.UserOptions)dc.DasaSpecificOptions; tuo.UseTithiRemainder = true; dc.DasaSpecificOptions = tuo; dc.DasaOptions.Compression = 1; dc.Reset(); mc = dc; } break; case BaseUserOptions.ViewType.DasaTithiPraveshAshtottariCompressedSolar: { DasaControl dc = new DasaControl(h, new TithiAshtottariDasa(h)); ToDate td_pravesh = new ToDate(h.baseUT, ToDate.DateType.TithiPraveshYear, 360.0, 0, h); sweph.obtainLock(h); double ut_start = td_pravesh.AddYears(0).toUniversalTime(); double ut_end = td_pravesh.AddYears(1).toUniversalTime(); BodyPosition sp_start = Basics.CalculateSingleBodyPosition( ut_start, sweph.BodyNameToSweph(Body.Name.Sun), Body.Name.Sun, BodyType.Name.Graha, this.h); BodyPosition sp_end = Basics.CalculateSingleBodyPosition( ut_end, sweph.BodyNameToSweph(Body.Name.Sun), Body.Name.Sun, BodyType.Name.Graha, this.h); Longitude lDiff = sp_end.longitude.sub(sp_start.longitude); double diff = lDiff.value; if (diff < 120.0) { diff += 360.0; } dc.DasaOptions.YearType = ToDate.DateType.SolarYear; dc.DasaOptions.YearLength = diff; sweph.releaseLock(h); TithiAshtottariDasa.UserOptions tuo = (TithiAshtottariDasa.UserOptions)dc.DasaSpecificOptions; tuo.UseTithiRemainder = true; dc.DasaSpecificOptions = tuo; //dc.DasaOptions.YearType = ToDate.DateType.FixedYear; //dc.DasaOptions.YearLength = td_pravesh.AddYears(1).toUniversalTime() - // td_pravesh.AddYears(0).toUniversalTime(); dc.DasaOptions.Compression = 1; dc.Reset(); mc = dc; } break; case BaseUserOptions.ViewType.DasaDwadashottari: mc = new DasaControl(h, new DwadashottariDasa(h)); break; case BaseUserOptions.ViewType.DasaPanchottari: mc = new DasaControl(h, new PanchottariDasa(h)); break; case BaseUserOptions.ViewType.DasaShatabdika: mc = new DasaControl(h, new ShatabdikaDasa(h)); break; case BaseUserOptions.ViewType.DasaChaturashitiSama: mc = new DasaControl(h, new ChaturashitiSamaDasa(h)); break; case BaseUserOptions.ViewType.DasaDwisaptatiSama: mc = new DasaControl(h, new DwisaptatiSamaDasa(h)); break; case BaseUserOptions.ViewType.DasaShatTrimshaSama: mc = new DasaControl(h, new ShatTrimshaSamaDasa(h)); break; case BaseUserOptions.ViewType.BasicCalculations: mc = new BasicCalculationsControl(h); break; case BaseUserOptions.ViewType.KeyInfo: mc = new KeyInfoControl(h); break; case BaseUserOptions.ViewType.Balas: mc = new BalasControl(h); break; case BaseUserOptions.ViewType.TransitSearch: mc = new TransitSearch(h); break; case BaseUserOptions.ViewType.NaisargikaRasiDasa: mc = new DasaControl(h, new NaisargikaRasiDasa(h)); break; case BaseUserOptions.ViewType.NaisargikaGrahaDasa: mc = new DasaControl(h, new NaisargikaGrahaDasa(h)); break; case BaseUserOptions.ViewType.DasaNarayana: mc = new DasaControl(h, new NarayanaDasa(h)); break; case BaseUserOptions.ViewType.DasaNarayanaSama: mc = new DasaControl(h, new NarayanaSamaDasa(h)); break; case BaseUserOptions.ViewType.DasaShoola: mc = new DasaControl(h, new ShoolaDasa(h)); break; case BaseUserOptions.ViewType.DasaNiryaanaShoola: mc = new DasaControl(h, new NirayaanaShoolaDasa(h)); break; case BaseUserOptions.ViewType.DasaDrig: mc = new DasaControl(h, new DrigDasa(h)); break; case BaseUserOptions.ViewType.DasaTajaka: mc = new DasaControl(h, new TajakaDasa(h)); break; case BaseUserOptions.ViewType.DasaTithiPravesh: { DasaControl dc = new DasaControl(h, new TithiPraveshDasa(h)); dc.DasaOptions.YearType = ToDate.DateType.TithiPraveshYear; dc.LinkToHoroscope = false; dc.Reset(); mc = dc; } break; case BaseUserOptions.ViewType.DasaYogaPravesh: { DasaControl dc = new DasaControl(h, new YogaPraveshDasa(h)); dc.DasaOptions.YearType = ToDate.DateType.YogaPraveshYear; dc.LinkToHoroscope = false; dc.Reset(); mc = dc; } break; case BaseUserOptions.ViewType.DasaNakshatraPravesh: { DasaControl dc = new DasaControl(h, new NakshatraPraveshDasa(h)); dc.DasaOptions.YearType = ToDate.DateType.NakshatraPraveshYear; dc.LinkToHoroscope = false; dc.Reset(); mc = dc; } break; case BaseUserOptions.ViewType.DasaKaranaPravesh: { DasaControl dc = new DasaControl(h, new KaranaPraveshDasa(h)); dc.DasaOptions.YearType = ToDate.DateType.KaranaPraveshYear; dc.LinkToHoroscope = false; dc.Reset(); mc = dc; } break; case BaseUserOptions.ViewType.DasaTattwa: mc = new DasaControl(h, new TattwaDasa(h)); break; default: Debug.Assert(false, "Unknown View Internal error"); break; } mc.Dock = DockStyle.Fill; if (null != this.Control) { this.Control.Dispose(); } this.Control = mc; return; }