コード例 #1
0
            public bool IsNongreedyExit;              // indicates a nongreedy exit branch (which takes priority in case of ambiguity)

            public void UpdateSet(bool addEOF)
            {
                if (Cases.Count == 0)
                {
                    Set = Set.Empty;
                    if (addEOF)
                    {
                        Set = Set.WithEOF();
                    }
                    AndReq = new Set <AndPred>();
                    return;
                }
                Set = Cases[0].Set;
                var andI = new MSet <AndPred>(Cases[0].AndPreds);

                for (int i = 1; i < Cases.Count; i++)
                {
                    Set = Set.Union(Cases[i].Set);
                    andI.IntersectWith(Cases[i].AndPreds);
                }
                AndReq = (Set <AndPred>)andI;

                if (addEOF)
                {
                    Set = Set.WithEOF();
                }
            }
コード例 #2
0
        internal void RecreateSelectionAdorners()
        {
            _selAdornerGroup.Shapes.Clear();

            _selectedShapes.IntersectWith(_doc.Shapes);
            foreach (var shape in _selectedShapes)
            {
                shape.AddAdornersTo(_selAdornerGroup.Shapes, shape == _partialSelShape ? SelType.Partial : SelType.Yes, HitTestRadius);
            }
            _selAdornerLayer.Invalidate();
        }