public MainWindow() { _metonicYearModel = new MetonicYearModel(); _moonModel = new MoonModel(); _nodesModel = new NodesModel(); _sunModel = new SunModel(_nodesModel); _sunCountModel = new SunCountModel(_sunModel); _monthModel = new MonthModel(_metonicYearModel, _sunModel, _moonModel); _dayModel = new DayModel(_monthModel, _metonicYearModel); InitializeComponent(); SetYearZero(); CreateRenderWindow(); var refreshRate = new TimeSpan(0, 0, 0, 0, 1000 / 60); this._timer = new DispatcherTimer { Interval = refreshRate }; this._timer.Tick += Timer_Tick; this._timer.Start(); _dispatcherTimer = new DispatcherTimer(); _dispatcherTimer.Tick += new EventHandler(DispatcherTimer_Tick); _dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 500); }
public CalendarControl() { _metonicYearModel = new MetonicYearModel(); _moonModel = new MoonModel(); _nodesModel = new NodesModel(); _sunModel = new SunModel(_nodesModel); _sunCountModel = new SunCountModel(_sunModel); _monthModel = new MonthModel(_metonicYearModel, _sunModel, _moonModel); _dayModel = new DayModel(_monthModel, _metonicYearModel); }
private static void DrawSunRing(RenderWindow app, ISunModel sun) { var sunRing = ElementDrawer.CreateRing(app, 240, new Color(255, 255, 255), true); var sunPegPoints = ElementDrawer.CreatePegPoints(app, sunRing, 56, (Math.PI * 2) / 56); Array.Reverse(sunPegPoints); sunPegPoints[sun.Get() - 1].FillColor = new Color(255, 0, 0); foreach (var p in sunPegPoints) { app.Draw(p); } }
public static void DrawCalendar(RenderWindow app, INodesModel nodes, ISunModel sun, IMoonModel moon, IMetonicYearModel year, IMonthModel month, IDayModel day, ISunCountModel sunCount) { ElementDrawer.CreateRing(app, 270, new Color(0, 0, 0), true); DrawNodeRing(app, nodes); DrawSunRing(app, sun); DrawMoonRing(app, moon); ElementDrawer.CreateRing(app, 210, new Color(0, 0, 0), true); DrawDayRing(app, day, month); DrawSunCountRing(app, sunCount); DrawMonthRing(app, month); DrawYearRing(app, year); }
private static void DrawSunRing(SKImageInfo info, SKCanvas canvas, ISunModel sun) { var sunRing = ElementDrawer.CreateRing(info, canvas, Utility.GetWidthValueFromPercentage(info, (float)37.5), new Color(255, 255, 255, 0), true); sunRing.FillColor = new Color(255, 255, 0, 0); var sunPegPoints = ElementDrawer.CreatePegPoints(info, canvas, sunRing, 56); sunPegPoints[sun.Get() - 1].FillColor = new Color(255, 0, 0); foreach (var p in sunPegPoints) { canvas.DrawCircle(p.x, p.y, p.Radius, GetPointPainter(p)); } }
public SunCountModel(ISunModel sun) { _sun = sun; }
public MonthModel(IMetonicYearModel metonicYear, ISunModel sun, IMoonModel moon) { _metonicYear = metonicYear; _sun = sun; _moon = moon; }