Пример #1
0
            public HandleControl(Handle handle, SubCircleControl parent, Canvas pnl, Rect bounds, BorderManager borderManager)
            {
                this.handle        = handle;
                this.bounds        = bounds;
                this.borderManager = borderManager;
                this.parent        = parent;


                InitializeMainControls(pnl);
            }
Пример #2
0
            private void UpdateSubCircles(double unit)
            {
                Rect subcirclebounds = bounds;

                subcirclebounds.Inflate(-75f * unit, -75f * unit);

                Rect outerSubcirclebounds = bounds;

                outerSubcirclebounds.Inflate(-75f * unit, -75f * unit);

                if (subcirclebounds != Rect.Empty)
                {
                    for (int i = 0; i < subCircles.Count; i++)
                    {
                        SubCircleControl sc = subCircles[i];
                        SubCircle        c  = clock.SubCircles[i];

                        Rect r = subcirclebounds;
                        r.Offset(-r.X - r.Width / 2f, -r.Y - r.Height / 2f);

                        Rect outercircle = bounds;
                        outercircle.Inflate(2f * unit, 2f * unit);

                        Point offset = GetPointAtAngleFromCircle(bounds, outercircle, c.AnglePosition);
                        r.Offset(offset.X, offset.Y);

                        sc.Bounds = r;
                        sc.Update();
                    }
                }

                if (outerSubcirclebounds != Rect.Empty)
                {
                    for (int i = 0; i < outerSubCircles.Count; i++)
                    {
                        SubCircleControl sc = outerSubCircles[i];
                        SubCircle        c  = clock.OuterSubCircles[i];

                        Rect r = outerSubcirclebounds;
                        r.Offset(-r.X - r.Width / 2f, -r.Y - r.Height / 2f);

                        Rect outercircle = bounds;

                        outercircle.Inflate(subcirclebounds.Width / 2, subcirclebounds.Height / 2);


                        Point offset = GetPointAtAngleFromCircle(bounds, outercircle, c.AnglePosition);
                        r.Offset(offset.X, offset.Y);

                        sc.Bounds = r;
                        sc.Update();
                    }
                }
            }