private void CreateRenderList() { mRenderList = new RenderList(); //Check for intersections with the zoomed rectangle; foreach (Shape shape in mShapes.Values) { if (shape.Visible) { mRenderList.Add(shape); } } if (mLines != null) //Can be null when shapes first set { foreach (Line line in mLines.Values) { if (line.Visible) { mRenderList.Add(line); } } } mRenderList.Sort(); }
private void CreateRenderList() { mRenderList = new RenderList(); //Check for intersections with the zoomed rectangle; foreach (SolidElement solid in Children.Values) { if (solid.Visible) { mRenderList.Add(solid); } } mRenderList.Sort(); }
private void CreateRenderList() { mRenderList = new RenderList(); //Check for intersections with the zoomed rectangle; foreach (Shape shape in mShapes.Values) { if (shape.Visible) mRenderList.Add(shape); } if (mLines != null) //Can be null when shapes first set { foreach (Line line in mLines.Values) { if (line.Visible) mRenderList.Add(line); } } mRenderList.Sort(); }
private void CreateScrollRenderList(RectangleF rect, bool sort) { RectangleF zoomRect = TranslateRectangle(rect); //Get a local reference and clear the renderlist RenderList newList = new RenderList(); Hashtable additional = new Hashtable(); //Check all elements from the previous render that intersect with the new rectangle foreach (Element element in mRenderList) { if (element.Rectangle.IntersectsWith(zoomRect)) { if (element is Line) { Line line = (Line) element; //Add connected shapes to the list of possible additions if (line.Start.DockedElement != null && !additional.ContainsKey(line.Start.DockedElement.Key)) additional.Add(line.Start.DockedElement.Key, line.Start.DockedElement); if (line.End.DockedElement != null && !additional.ContainsKey(line.End.DockedElement.Key)) additional.Add(line.End.DockedElement.Key, line.End.DockedElement); newList.Add(element); } else if (element is Shape && !additional.ContainsKey(element.Key)) { newList.Add(element); } } } //Add additional shapes from connected lines foreach (Shape shape in additional.Values) { if (shape.Rectangle.IntersectsWith(zoomRect)) { newList.Add(shape); } } if (sort) newList.Sort(); SetRenderList(newList); }
private void CreateRenderList() { mRenderList = new RenderList(); //Check for intersections with the zoomed rectangle; foreach (SolidElement solid in Children.Values) { if (solid.Visible) mRenderList.Add(solid); } mRenderList.Sort(); }