コード例 #1
0
ファイル: parser.py プロジェクト: beans15/swf
class Header(object):
    def __init__(self, data):
        self.is_compressed = data[0] == 'C'
        self.version = ord(data[3])
        self.file_size = unpack('<L', data[4:8])[0]

        if self.is_compressed:
            data = data[:8] + zlib.decompress(data[8:])
        self.data = data

        self.frame_size = Rect(islice(data, 8, None))
        index = 8 + self.frame_size.tell()

        self.frame_rate = unpack('<H', data[index:index + 2])[0] / 256.0
        self.frame_count = unpack('<H', data[index + 2:index + 4])[0]

        self.end = index + 4

    @property
    def decompressed_data(self):
        return self.data

    def tell(self):
        """ヘッダが占めるバイト数を返す"""
        return self.end