Beispiel #1
0
        public virtual uint GetWordCount()
        {
            uint wordCount = 1;

            if (Enumerant.Aligned == (Value & Enumerant.Aligned))
            {
                wordCount += Aligned.GetWordCount();
            }
            if (Enumerant.MakePointerAvailable == (Value & Enumerant.MakePointerAvailable))
            {
                wordCount += MakePointerAvailable.GetWordCount();
            }
            if (Enumerant.MakePointerAvailableKHR == (Value & Enumerant.MakePointerAvailableKHR))
            {
                wordCount += MakePointerAvailableKHR.GetWordCount();
            }
            if (Enumerant.MakePointerVisible == (Value & Enumerant.MakePointerVisible))
            {
                wordCount += MakePointerVisible.GetWordCount();
            }
            if (Enumerant.MakePointerVisibleKHR == (Value & Enumerant.MakePointerVisibleKHR))
            {
                wordCount += MakePointerVisibleKHR.GetWordCount();
            }
            return(wordCount);
        }
Beispiel #2
0
        public static void Remove(int index, Aligned <Gfx2D> tiles)
        {
            Gfx2D g = tiles[index];

            Codes.Remove(g);
            tiles.RemoveAt(index);
        }
Beispiel #3
0
        public static void Swap(int index, Aligned <Gfx2D> From, Aligned <Gfx2D> To)
        {
            Gfx2D g = From[index];

            From.RemoveAt(index);
            To.Add(g);
            Sort();
        }
Beispiel #4
0
 public static void Sort(Aligned <Gfx2D> tiles)
 {
     tiles.Components.Sort(delegate(Gfx2D p1, Gfx2D p2)
     {
         return(Codes[p1].CompareTo(Codes[p2]));
     });
     tiles.Align();
 }
Beispiel #5
0
        public static void Add(String Code, Aligned <Gfx2D> tiles)
        {
            Gfx2D g = new Gfx2D(new Rectangle(0, 0, 50, 80));

            Codes.Add(g, Code);

            g.RegisterDrawAct(() =>
            {
                g.Draw(Color.White);
                if (g.ContainsCursor())
                {
                    g.Draw(Color.Blue);
                }
                StandAlone.DrawString(Code, g.Center - new REMOPoint(5, 5), Color.Red);
            });
            tiles.Add(g);
            tiles.Align();
        }
Beispiel #6
0
        public void Close()
        {
            var alignmentGroups = _lines.OfType <Aligned>().GroupBy(l => l.AlignmentId);

            foreach (var alignmentGroup in alignmentGroups)
            {
                Aligned.Expand(alignmentGroup);
            }

            var protectedSections = _lines.OfType <ProtectedSection>();

            foreach (var protectedSection in protectedSections)
            {
                ProtectedSection.Expand(protectedSection, _fileSystem, Filename);
            }

            _isClosed = true;
        }
Beispiel #7
0
 public void Write(WordWriter writer)
 {
     writer.WriteWord((uint)Value);
     if (Enumerant.Aligned == (Value & Enumerant.Aligned))
     {
         Aligned.Write(writer);
     }
     if (Enumerant.MakePointerAvailable == (Value & Enumerant.MakePointerAvailable))
     {
         MakePointerAvailable.Write(writer);
     }
     if (Enumerant.MakePointerAvailableKHR == (Value & Enumerant.MakePointerAvailableKHR))
     {
         MakePointerAvailableKHR.Write(writer);
     }
     if (Enumerant.MakePointerVisible == (Value & Enumerant.MakePointerVisible))
     {
         MakePointerVisible.Write(writer);
     }
     if (Enumerant.MakePointerVisibleKHR == (Value & Enumerant.MakePointerVisibleKHR))
     {
         MakePointerVisibleKHR.Write(writer);
     }
 }