Exemplo n.º 1
0
        static void saveXml(bloPane pane, XmlWriter writer)
        {
            var typeID = "pane";

            if (pane is bloTextbox)
            {
                typeID = "textbox";
            }
            else if (pane is bloWindow)
            {
                typeID = "window";
            }
            else if (pane is bloPicture)
            {
                typeID = "picture";
            }

            writer.WriteStartElement(typeID);
            pane.saveXml(writer);
            if (pane.getChildPane() > 0)
            {
                writer.WriteComment("children");
                foreach (var childpane in pane)
                {
                    saveXml(childpane, writer);
                }
            }
            writer.WriteEndElement();
        }
Exemplo n.º 2
0
        static void saveCompact(bloPane pane, aBinaryWriter writer)
        {
            var typeID = cPaneID;

            if (pane is bloTextbox)
            {
                typeID = cTextboxID;
            }
            else if (pane is bloWindow)
            {
                typeID = cWindowID;
            }
            else if (pane is bloPicture)
            {
                typeID = cPictureID;
            }

            writer.Write16(typeID);
            pane.saveCompact(writer);

            if (pane.getChildPane() > 0)
            {
                writer.Write16(cBeginID);
                foreach (var childpane in pane)
                {
                    saveCompact(childpane, writer);
                }
                writer.Write16(cEndID);
            }
        }
Exemplo n.º 3
0
        static void saveBlo1(bloPane pane, aBinaryWriter writer, ref uint blockcount)
        {
            var typeID = cPAN1;

            if (pane is bloTextbox)
            {
                typeID = cTBX1;
            }
            else if (pane is bloWindow)
            {
                typeID = cWIN1;
            }
            else if (pane is bloPicture)
            {
                typeID = cPIC1;
            }

            var blockstart = writer.Position;

            writer.Write32(typeID);
            writer.Write32(0u);             // dummy size

            pane.saveBlo1(writer);

            writer.WritePadding(4, 0);

            var blockend = writer.Position;

            writer.Goto(blockstart + 4);
            writer.Write32((uint)(blockend - blockstart));
            writer.Goto(blockend);
            ++blockcount;

            if (pane.getChildPane() > 0)
            {
                writer.Write32(cBGN1);
                writer.Write32(0x8u);
                ++blockcount;

                foreach (var childpane in pane)
                {
                    saveBlo1(childpane, writer, ref blockcount);
                }

                writer.Write32(cEND1);
                writer.Write32(0x8u);
                ++blockcount;
            }
        }