Exemplo n.º 1
0
    def update(self):
        self.fill_id = str(self.chunk[8:12].encode('hex'))
        self.cache_fields.append((8, 4, 'fill id'))

        offset = 12
        if self.version == CDR13: offset += 8
        self.fill_type = ord(self.chunk[offset])

        self.cache_fields.append((offset, 1, 'fill type'))

        if not self.fill_type == 1:
            self.fill_color = []
            return

        offset = 16
        if self.version == CDR13: offset = 35
        self.color_space_type = ord(self.chunk[offset])
        self.cache_fields.append((offset, 1, 'color space type'))

        offset = 24
        if self.version == CDR13: offset = 43

        self.fill_color = parse_cdr_color(self.color_space_type,
                                          self.chunk[offset:offset + 4])
        if self.fill_color:
            self.cache_fields.append((offset, 4, 'color value'))
Exemplo n.º 2
0
	def update(self):
		self.fill_id = str(self.chunk[8:12].encode('hex'))
		self.cache_fields.append((8, 4, 'fill id'))

		offset = 12
		if self.version == CDR13: offset += 8
		self.fill_type = ord(self.chunk[offset])

		self.cache_fields.append((offset, 1, 'fill type'))

		if not self.fill_type == 1:
			self.fill_color = []
			return

		offset = 16
		if self.version == CDR13: offset = 35
		self.color_space_type = ord(self.chunk[offset])
		self.cache_fields.append((offset, 1, 'color space type'))

		offset = 24
		if self.version == CDR13: offset = 43

		self.fill_color = parse_cdr_color(self.color_space_type, self.chunk[offset:offset + 4])
		if self.fill_color:
			self.cache_fields.append((offset, 4, 'color value'))
Exemplo n.º 3
0
    def update(self):
        self.stroke_id = str(self.chunk[8:12].encode('hex'))
        self.cache_fields.append((8, 4, 'outline id'))

        data = self.chunk[8:]

        ls_offset = 4
        lc_offset = 6
        ct_offset = 8
        lw_offset = 12
        offset = 28
        dash_offset = 104

        if self.version == CDR13:
            ls_offset = 24
            lc_offset = 26
            ct_offset = 28
            lw_offset = 30
            offset = 40
            dash_offset = 116

        self.stroke_spec = ord(data[ls_offset])
        self.cache_fields.append((ls_offset + 8, 1, 'outline specification'))

        self.stroke_caps = ord(data[lc_offset])
        self.cache_fields.append((lc_offset + 8, 1, 'outline caps'))

        self.stroke_join = ord(data[ct_offset])
        self.cache_fields.append((ct_offset + 8, 1, 'outline corners'))

        self.stroke_width = parse_size_value(data[lw_offset:lw_offset + 4])
        self.cache_fields.append((lw_offset + 8, 1, 'outline width'))

        dashnum = word2py_int(data[dash_offset:dash_offset + 2])
        self.cache_fields.append(
            (dash_offset + 8, 2, 'number of dash records'))

        if dashnum > 0:
            self.stroke_dashes = range(dashnum)
            for i in self.stroke_dashes:
                dash = word2py_int(data[dash_offset + 2 + i * 2:dash_offset +
                                        4 + i * 2])
                self.stroke_dashes[i] = dash
            self.cache_fields.append(
                (dash_offset + 10, 2 * dashnum, 'dash records'))

        offset += 0x30
        self.color_space_type = ord(data[offset])
        self.cache_fields.append((offset + 8, 1, 'color space type'))

        offset += 16
        self.stroke_color = parse_cdr_color(self.color_space_type,
                                            self.chunk[offset:offset + 4])
        if self.stroke_color:
            self.cache_fields.append((offset, 4, 'color value'))
Exemplo n.º 4
0
	def update(self):
		self.stroke_id = str(self.chunk[8:12].encode('hex'))
		self.cache_fields.append((8, 4, 'outline id'))

		data = self.chunk[8:]

		ls_offset = 4
		lc_offset = 6
		ct_offset = 8
		lw_offset = 12
		offset = 28
		dash_offset = 104

		if self.version == CDR13:
			ls_offset = 24
			lc_offset = 26
			ct_offset = 28
			lw_offset = 30
			offset = 40
			dash_offset = 116

		self.stroke_spec = ord(data[ls_offset])
		self.cache_fields.append((ls_offset + 8, 1, 'outline specification'))

		self.stroke_caps = ord(data[lc_offset])
		self.cache_fields.append((lc_offset + 8, 1, 'outline caps'))

		self.stroke_join = ord(data[ct_offset])
		self.cache_fields.append((ct_offset + 8, 1, 'outline corners'))

		self.stroke_width = parse_size_value(data[lw_offset:lw_offset + 4])
		self.cache_fields.append((lw_offset + 8, 1, 'outline width'))

		dashnum = word2py_int(data[dash_offset:dash_offset + 2])
		self.cache_fields.append((dash_offset + 8, 2, 'number of dash records'))

		if dashnum > 0:
			self.stroke_dashes = range(dashnum)
			for i in self.stroke_dashes:
				dash = word2py_int(data[dash_offset + 2 + i * 2:dash_offset + 4 + i * 2])
				self.stroke_dashes[i] = dash
			self.cache_fields.append((dash_offset + 10, 2 * dashnum, 'dash records'))

		offset += 0x30
		self.color_space_type = ord(data[offset])
		self.cache_fields.append((offset + 8, 1, 'color space type'))

		offset += 16
		self.stroke_color = parse_cdr_color(self.color_space_type, self.chunk[offset:offset + 4])
		if self.stroke_color:
			self.cache_fields.append((offset, 4, 'color value'))
Exemplo n.º 5
0
 def get_color(self):
     clr = cdr_utils.parse_cdr_color(self.colorspace, self.valbytes[-4:])
     if clr and not self.colorspace == cdr_const.CDR_COLOR_REGISTRATION:
         clr[3] += self.name
     return clr
Exemplo n.º 6
0
	def get_color(self):
		clr = cdr_utils.parse_cdr_color(self.colorspace, self.valbytes[-4:])
		if clr and not self.colorspace == cdr_const.CDR_COLOR_REGISTRATION:
			clr[3] += self.name
		return clr