internal void SetVisualCollection(IList <GraphicVisual> visuals)
        {
            if (visuals == null)
            {
                throw new ArgumentNullException();
            }

            _visualCollection = new ReadOnlyCollection <GraphicVisual>(visuals);
            _info             = new VisualInfo()
            {
                Fill = null, Stroke = null
            };
            if (_visualCollection.Count == 1)
            {
            }

            switch (_visualCollection.Count)
            {
            case 0:
                _info.Angle  = 0;
                _info.Origin = new Point(0, 0);
                break;

            case 1:
                _info.Angle  = _visualCollection[1].Angle;
                _info.Origin = _visualCollection[1].Origin;
                break;

            default:
            }
        }
示例#2
0
        /// <summary>
        /// 更新图形组的几何变换状态,更新所有子图的轮廓和填充样式。
        /// </summary>
        internal override void UpdateGraphicInfo()
        {
            // 更新图形组的几何变换状态

            UpdateTransform();

            // 更新所有子图的轮廓和填充样式

            foreach (GraphicVisual gv in Children)
            {
                VisualInfo info = gv.GraphicInfo;
                info.Fill      = this.Fill;
                info.Stroke    = this.Stroke;
                gv.GraphicInfo = info;
            }
        }
示例#3
0
 public GraphicVisual(VisualInfo graphicInfo)
 {
     _graphicInfo = graphicInfo;
 }
示例#4
0
 public GeomVisual(IGeom goem, VisualInfo graphicInfo)
     : base(graphicInfo)
 {
     _geom = goem;
     UpdateGraphicInfo();
 }
示例#5
0
 internal UnionVisual()
 {
     _visuals = new List <GraphicVisual>();
     _info    = VisualInfo.Default;
 }
示例#6
0
 public GroupVisual(VisualInfo graphicInfo)
     : base(graphicInfo)
 {
     UpdateGraphicInfo();
 }