void AdjustNodeVisualsForHighZoomLevel(int iLevel, GraphmapsNode vnode, Node node) { var levelScale = GetLevelScale(iLevel); var nodeDotWidth = _lgLayoutSettings.NodeDotWidthInInches*DpiX/levelScale; var nodeMinWidth = _lgLayoutSettings.NodeDotWidthInInchesMinInImage*DpiX/levelScale; if (vnode.LgNodeInfo.ZoomLevel > Math.Pow(2, iLevel)) nodeDotWidth = Math.Max(nodeMinWidth, nodeDotWidth*(2*Math.Pow(2, iLevel)/vnode.LgNodeInfo.ZoomLevel)); else { HideVNode(node); return; } vnode.Node.Attr.LineWidth = 0; //GetBorderPathThickness(tileScale); vnode.InvalidateNodeDot(nodeDotWidth*0.8); // make them just a bit smaller vnode.HideNodeLabel(); vnode.SetLowTransparency(); }
private void ArrangeNodeLabel(GraphmapsNode vNode, double zf) { double nodeLabelHeight = _lgLayoutSettings.NodeLabelHeightInInches*DpiY/CurrentScale; double nodeLabelWidth = nodeLabelHeight*vNode.LgNodeInfo.LabelWidthToHeightRatio; if (vNode.LgNodeInfo.LabelVisibleFromScale >= 0 && vNode.LgNodeInfo.LabelVisibleFromScale <= zf) { var offset = Point.Scale(nodeLabelWidth + NodeDotWidth*1.01, nodeLabelHeight + NodeDotWidth*1.01, vNode.LgNodeInfo.LabelOffset); vNode.InvalidateNodeLabel(nodeLabelHeight, nodeLabelWidth, offset); } else vNode.HideNodeLabel(); }