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); }
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); }
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); }
// 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); }
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)); } } }
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)); } } }