コード例 #1
0
		public override void  header(Header h)
		{
			header_field = h;
		}
コード例 #2
0
		public virtual void  header(Header h)
		{
		}
コード例 #3
0
		/// <summary> process the whole SWF stream, and close the input streams when finished.</summary>
		/// <param name="handler">
		/// </param>
		/// <throws>  IOException </throws>
		public void  parse(TagHandler handler)
		{
			this.handler = handler;
			try
			{
				try
				{
					handler.DecoderDictionary = dict;
					
					header = decodeHeader();
					handler.header(header);
					
					decodeTags(handler);
					handler.finish();
				}
				catch (FatalParseException)
				{
					// errors already reported to TagHandler.
				}
				finally
				{
					if (swfIn != null)
						swfIn.Close();
				}
			}
			finally
			{
				if (swdIn != null)
					swdIn.Close();
			}
		}
コード例 #4
0
        public override void header(Header h)
		{
			m_header = h;
		}
コード例 #5
0
		public Header decodeHeader()
		{
			Header header = new Header();
			byte[] sig = new byte[8];
			
			new BinaryReader(swfIn).BaseStream.Read(sig, 0, sig.Length);
			header.version = sig[3];
			header.length = sig[4] & 0xFF | (sig[5] & 0xFF) << 8 | (sig[6] & 0xFF) << 16 | sig[7] << 24;
			
			if (sig[0] == 'C' && sig[1] == 'W' && sig[2] == 'S')
			{
				header.compressed = true;
				r = new SwfDecoder(new DeflateStream(swfIn, CompressionMode.Decompress, true), header.version, 8);
			}
			else if (sig[0] == 'F' || sig[1] == 'W' || sig[2] == 'S')
			{
				r = new SwfDecoder(swfIn, header.version, 8);
			}
			else
			{
				handler.error("Invalid signature found.  Not a SWF file");
				throw new FatalParseException();
			}
			
			header.size = decodeRect();
			header.rate = r.readUI8() << 8 | r.readUI8();
			header.framecount = r.readUI16();
			
			return header;
		}