Exemple #1
0
 public Graphic(string infoText, ZoomFactor zoomFactor = ZoomFactor.Zoom1, GraphicVersion version = GraphicVersion.Version2)
     : this()
 {
     this.Version    = version;
     this.ZoomFactor = zoomFactor;
     this.InfoText   = infoText;
 }
Exemple #2
0
        //CALL STACK: LoadData -> ReadLayerFromStream
        private static CompressedLayer _ReadLayerFromStream(BinaryReader br, BahnLib.ZoomFactor zoomFactor, GraphicVersion graphicVersion)
        {
            if (br == null)
            {
                throw new ArgumentNullException("br");
            }

            CompressedLayer l = new CompressedLayer();

            l.X0     = br.ReadInt16();
            l.Y0     = br.ReadInt16();
            l.Width  = br.ReadInt16();
            l.Height = br.ReadInt16();
            if (graphicVersion == GraphicVersion.Version2)
            {
                int         layerLength = br.ReadInt32();
                List <uint> data        = new List <uint>();
                for (int i = 0; i < layerLength; i++)
                {
                    data.Add(br.ReadUInt32());
                }
                l.LayerData = data.ToArray();
            }
            else if (graphicVersion < GraphicVersion.Version2)
            {
                uint[,] decompressedLayer = _ReadLayerFromStreamVersion0(br, l.Width, l.Height);
                l = CompressLayer(_FillLayer(decompressedLayer, l.X0, l.Y0, zoomFactor), zoomFactor);
            }
            else
            {
                throw new ArgumentOutOfRangeException("graphicVersion");
            }
            return(l);
        }