public void Constructor()
        {
            var rect    = new Rect(new Point(10, 15), new Size(25, 50));
            var wrapper = new RectangleWrapper <double>(1.5, rect);

            Assert.AreEqual(1.5, wrapper.Id);
            Assert.AreEqual(rect, wrapper.Rectangle);
            Assert.AreEqual(new Point(22.5, 40.0), wrapper.Center);
            Assert.AreEqual(22.5, wrapper.CenterX);
            Assert.AreEqual(40, wrapper.CenterY);

            rect    = new Rect(new Point(-15.0, 5.0), new Size(40, 12.2));
            wrapper = new RectangleWrapper <double>(-7.0, rect);

            Assert.AreEqual(-7.0, wrapper.Id);
            Assert.AreEqual(rect, wrapper.Rectangle);
            Assert.AreEqual(new Point(5.0, 11.1), wrapper.Center);
            Assert.AreEqual(5.0, wrapper.CenterX);
            Assert.AreEqual(11.1, wrapper.CenterY);

            rect = new Rect(new Point(5.0, -5.0), new Size(4.4, 4.4));
            var wrapper2 = new RectangleWrapper <int>(72, rect);

            Assert.AreEqual(72, wrapper2.Id);
            Assert.AreEqual(rect, wrapper2.Rectangle);
            Assert.AreEqual(new Point(7.2, -2.8), wrapper2.Center);
            Assert.AreEqual(7.2, wrapper2.CenterX);
            Assert.AreEqual(-2.8, wrapper2.CenterY);
        }
Ejemplo n.º 2
0
        public Rectangle GetRectangle(int key, out bool found)
        {
            object obj2 = this.GetObject(key, out found);

            if (found)
            {
                RectangleWrapper wrapper = obj2 as RectangleWrapper;
                if (wrapper != null)
                {
                    return(wrapper.Rectangle);
                }
            }
            found = false;
            return(Rectangle.Empty);
        }
Ejemplo n.º 3
0
        private void CustomPanelConvertToRectagle(CustomPanel node)
        {
            if (node.Parent == null)
            {
                RectangleWrapper rectangleWrapper = new RectangleWrapper()
                {
                    ActualRectangle = new Rectangle()
                    {
                        X      = customPanelsAfterXYCoordinates[0].X,
                        Y      = customPanelsAfterXYCoordinates[0].Y,
                        Height = Converters.DoubleStringToIntWithRound(customPanelsAfterXYCoordinates[0].Hight),
                        Width  = Converters.DoubleStringToIntWithRound(customPanelsAfterXYCoordinates[0].Width)
                    },
                    Name   = node.Name,
                    Offset = node.Offset
                };

                node.IsDrew = true;
                rectanglesToDraw.Add(rectangleWrapper);
            }
            for (int i = 0; i < node.ChildPanels.Count; i++)
            {
                CustomPanel childPanel = node.ChildPanels[i];

                if (childPanel.IsDrew)
                {
                    continue;
                }

                RectangleWrapper currentRectangles = new RectangleWrapper()
                {
                    ActualRectangle = new Rectangle()
                    {
                        X      = childPanel.X,
                        Y      = childPanel.Y,
                        Height = Converters.DoubleStringToIntWithRound(childPanel.Hight),
                        Width  = Converters.DoubleStringToIntWithRound(childPanel.Width)
                    },
                    Name   = childPanel.Name,
                    Offset = childPanel.Offset
                };

                childPanel.IsDrew = true;

                rectanglesToDraw.Add(currentRectangles);
                CustomPanelConvertToRectagle(childPanel);
            }
        }
        public void RectUpdate()
        {
            var rect    = new Rect(new Point(10, 15), new Size(25, 50));
            var wrapper = new RectangleWrapper <double>(1.5, rect);

            Assert.AreEqual(1.5, wrapper.Id);
            Assert.AreEqual(rect, wrapper.Rectangle);
            Assert.AreEqual(new Point(22.5, 40.0), wrapper.Center);
            Assert.AreEqual(22.5, wrapper.CenterX);
            Assert.AreEqual(40, wrapper.CenterY);

            rect = new Rect(new Point(-15.0, 5.0), new Size(40, 12.2));
            wrapper.Rectangle = rect;

            Assert.AreEqual(1.5, wrapper.Id);
            Assert.AreEqual(rect, wrapper.Rectangle);
            Assert.AreEqual(new Point(5.0, 11.1), wrapper.Center);
            Assert.AreEqual(5.0, wrapper.CenterX);
            Assert.AreEqual(11.1, wrapper.CenterY);
        }
Ejemplo n.º 5
0
        // this is a wrapper around GetObject designed to
        // reduce the boxing hit
        public Rectangle GetRectangle(int key, out bool found)
        {
            object storedObject = GetObject(key, out found);

            if (found)
            {
                RectangleWrapper wrapper = storedObject as RectangleWrapper;
                if (wrapper != null)
                {
                    return(wrapper.Rectangle);
                }
#if DEBUG
                else if (storedObject != null)
                {
                    Debug.Fail("Have non-null object that isnt a Rectangle wrapper stored in a Rectangle entry!\r\nDid someone SetObject instead of SetRectangle?");
                }
#endif
            }
            // we didnt actually find a non-null rectangle wrapper.
            found = false;
            return(Rectangle.Empty);
        }
Ejemplo n.º 6
0
        public void SetRectangle(int key, Rectangle value)
        {
            bool   flag;
            object obj2 = this.GetObject(key, out flag);

            if (!flag)
            {
                this.SetObject(key, new RectangleWrapper(value));
            }
            else
            {
                RectangleWrapper wrapper = obj2 as RectangleWrapper;
                if (wrapper != null)
                {
                    wrapper.Rectangle = value;
                }
                else
                {
                    this.SetObject(key, new RectangleWrapper(value));
                }
            }
        }
Ejemplo n.º 7
0
        public void SetRectangle(int key, Rectangle value)
        {
            bool   found;
            object storedObject = GetObject(key, out found);

            if (!found)
            {
                SetObject(key, new RectangleWrapper(value));
            }
            else
            {
                RectangleWrapper wrapper = storedObject as RectangleWrapper;
                if (wrapper != null)
                {
                    // re-using the wrapper reduces the boxing hit.
                    wrapper.Rectangle = value;
                }
                else
                {
                    Debug.Assert(storedObject == null, "object should either be null or RectangleWrapper"); // could someone have SetObject to this key behind our backs?
                    SetObject(key, new RectangleWrapper(value));
                }
            }
        }