Ejemplo n.º 1
0
        public virtual void Read(SwfReader reader, bool alpha)
        {
            SpreadMode        = (SwfSpreadMode)reader.ReadUB(2);
            InterpolationMode = (SwfInterpolationMode)reader.ReadUB(2);
            int n = (int)reader.ReadUB(4);

            Ratios = new byte[n];
            Colors = new Color[n];
            for (int i = 0; i < n; ++i)
            {
                Ratios[i] = reader.ReadUInt8();
                Colors[i] = alpha ? reader.ReadRGBA() : reader.ReadRGB();
            }
        }
Ejemplo n.º 2
0
        public void Read(SwfReader reader, bool alpha)
        {
            bool      hasAddTerms = reader.ReadBit();
            bool      hasMulTerms = reader.ReadBit();
            int       nbits       = (int)reader.ReadUB(4);
            const int q           = 8;

            if (hasMulTerms)
            {
                MulRed   = reader.ReadFB(nbits, q);
                MulGreen = reader.ReadFB(nbits, q);
                MulBlue  = reader.ReadFB(nbits, q);
                if (alpha)
                {
                    MulAlpha = reader.ReadFB(nbits, q);
                }
            }
            if (hasAddTerms)
            {
                AddRed   = reader.ReadFB(nbits, q);
                AddGreen = reader.ReadFB(nbits, q);
                AddBlue  = reader.ReadFB(nbits, q);
                if (alpha)
                {
                    AddAlpha = reader.ReadFB(nbits, q);
                }
            }
            reader.Align();
        }