Esempio n. 1
0
        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);
 }
Esempio n. 3
0
        private static void DrawNodeRing(RenderWindow app, INodesModel nodes)
        {
            var nodeRing      = ElementDrawer.CreateRing(app, 260, new Color(255, 255, 255), true);
            var nodePegPoints = ElementDrawer.CreatePegPoints(app, nodeRing, 56, (Math.PI * 2) / 56);

            Array.Reverse(nodePegPoints);
            nodePegPoints[nodes.GetNode1Position() - 1].FillColor = new Color(255, 0, 0);
            nodePegPoints[nodes.GetNode2Position() - 1].FillColor = new Color(255, 0, 0);
            foreach (var p in nodePegPoints)
            {
                app.Draw(p);
            }
        }
Esempio n. 4
0
        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 DrawNodeRing(SKImageInfo info, SKCanvas canvas, INodesModel nodes)
        {
            var nodeRing = ElementDrawer.CreateRing(info, canvas, Utility.GetWidthValueFromPercentage(info, (float)39.4), new Color(255, 255, 255, 0), true);

            nodeRing.FillColor = new Color(255, 255, 0, 0);
            var nodePegPoints = ElementDrawer.CreatePegPoints(info, canvas, nodeRing, 56);

            nodePegPoints[nodes.GetNode1Position() - 1].FillColor = new Color(255, 0, 0);
            nodePegPoints[nodes.GetNode2Position() - 1].FillColor = new Color(255, 0, 0);
            foreach (var p in nodePegPoints)
            {
                canvas.DrawCircle(p.x, p.y, p.Radius, GetPointPainter(p));
            }
        }
Esempio n. 6
0
 public SunModel(INodesModel nodes)
 {
     _nodes = nodes;
 }