Esempio n. 1
0
def get_cdr_color(color):
	"""
	Converts color list to CDR colorspace and color valbytes
	"""
	cs = CDR_CS_MATSH[uc2const.COLOR_RGB]
	valbytes = '\x05\x05\x00\x00\x00\x00'
	if not color[0] == uc2const.COLOR_SPOT:
		cs = CDR_CS_MATSH[color[0]]
		if color[0] == uc2const.COLOR_RGB:
			r, g, b = cms.val_255(color[1])
			valbytes += struct.pack('<3B', b, g, r) + '\x00'
		elif color[0] == uc2const.COLOR_CMYK:
			valbytes += struct.pack('<4B', *cms.val_100(color[1]))
		elif color[0] == uc2const.COLOR_GRAY:
			valbytes += struct.pack('<B', *cms.val_255(color[1]))
			valbytes += '\xeb\x54\x01'
		if color[0] == uc2const.COLOR_LAB:
			valbytes = '\x0d\x00\x00\x00\x00\x00'
			valbytes += struct.pack('<3B', *cms.val_255(color[1])) + '\xcc'
	else:
		if color[1][1]:
			cs = CDR_CS_MATSH[uc2const.COLOR_CMYK]
			valbytes += struct.pack('<4B', *cms.val_100(color[1]))
		else:
			r, g, b = cms.val_255(color[1][0])
			valbytes += struct.pack('<3B', b, g, r) + '\x00'
	return cs, valbytes
Esempio n. 2
0
def get_cdr_color(color):
    """
    Converts color list to CDR colorspace and color valbytes
    """
    cs = CDR_CS_MATSH[uc2const.COLOR_RGB]
    valbytes = b'\x05\x05\x00\x00\x00\x00'
    if not color[0] == uc2const.COLOR_SPOT:
        cs = CDR_CS_MATSH[color[0]]
        if color[0] == uc2const.COLOR_RGB:
            r, g, b = cms.val_255(color[1])
            valbytes += struct.pack('<3B', b, g, r) + b'\x00'
        elif color[0] == uc2const.COLOR_CMYK:
            valbytes += struct.pack('<4B', *cms.val_100(color[1]))
        elif color[0] == uc2const.COLOR_GRAY:
            valbytes += struct.pack('<B', *cms.val_255(color[1]))
            valbytes += b'\xeb\x54\x01'
        if color[0] == uc2const.COLOR_LAB:
            valbytes = b'\x0d\x00\x00\x00\x00\x00'
            valbytes += struct.pack('<3B', *cms.val_255(color[1])) + b'\xcc'
    else:
        if color[1][1]:
            cs = CDR_CS_MATSH[uc2const.COLOR_CMYK]
            valbytes += struct.pack('<4B', *cms.val_100(color[1]))
        else:
            r, g, b = cms.val_255(color[1][0])
            valbytes += struct.pack('<3B', b, g, r) + b'\x00'
    return cs, valbytes
Esempio n. 3
0
 def paint(self):
     w, h = self.dc.get_size()
     fg = cms.val_255(config.ruler_fg)
     bg = cms.val_255(config.ruler_bg)
     self.dc.set_stroke(None)
     self.dc.set_fill(bg)
     self.dc.draw_rect(0, 0, w, h)
     self.dc.draw_linear_gradient((0, h - 1, w * 2, 1), bg, fg)
     self.dc.draw_linear_gradient((w - 1, 0, 1, h * 2), bg, fg, True)
     shift = (w - 19) / 2 + 1
     self.dc.draw_bitmap(BITMAPS[self.origin], shift, shift)
Esempio n. 4
0
	def paint(self):
		color1 = self._composite_color(self.color)
		color2 = self._composite_color(self.color, color1)

		self.set_stroke(cms.val_255(color1), 1.0)
		for item in self.vgrid:
			self.draw_line(item, 0, item, 200)
		for item in self.hgrid:
			self.draw_line(0, item, 200, item)

		self.set_stroke(cms.val_255(color2), 1.0)
		self.draw_line(self.vgrid[2], 0, self.vgrid[2], 200)
		self.draw_line(0, self.hgrid[3], 200, self.hgrid[3])
Esempio n. 5
0
    def paint(self):
        color1 = self._composite_color(self.color)
        color2 = self._composite_color(self.color, color1)

        self.set_stroke(cms.val_255(color1), 1.0)
        for item in self.vgrid:
            self.draw_line(item, 0, item, 200)
        for item in self.hgrid:
            self.draw_line(0, item, 200, item)

        self.set_stroke(cms.val_255(color2), 1.0)
        self.draw_line(self.vgrid[2], 0, self.vgrid[2], 200)
        self.draw_line(0, self.hgrid[3], 200, self.hgrid[3])
Esempio n. 6
0
 def paint(self):
     w, h = self.dc.get_size()
     fg = cms.val_255(config.ruler_fg)
     bg = cms.val_255(config.ruler_bg)
     self.dc.set_stroke(None)
     self.dc.set_fill(bg)
     self.dc.draw_rect(0, 0, w, h)
     self.dc.draw_linear_gradient((0, h - 1, w * 2, 1), bg, fg)
     self.dc.draw_linear_gradient((w - 1, 0, 1, h * 2), bg, fg, True)
     self.dc.set_stroke(fg)
     shift = (w - 19) / 2 + 1
     for x0, y0, x1, y1 in CORNER[self.origin]:
         self.dc.draw_line(x0 + shift, y0 + shift, x1 + shift, y1 + shift)
Esempio n. 7
0
 def _on_paint(self, event):
     w, h = self.panel.GetSize()
     dc = wal.get_dc(self.panel)
     dc.SetPen(wx.NullPen)
     dc.SetBrush(wx.Brush(wx.Colour(*cms.val_255(config.ruler_bg))))
     dc.DrawRectangle(0, 0, w, h)
     color = cms.val_255(config.ruler_fg)
     grad_start = wx.Colour(*(color + [255]))
     grad_end = wx.Colour(*(color + [0]))
     rect = wx.Rect(0, h - 1, w * 2, 1)
     dc.GradientFillLinear(rect, grad_start, grad_end, nDirection=wx.WEST)
     rect = wx.Rect(w - 1, 0, 1, h * 2)
     dc.GradientFillLinear(rect, grad_start, grad_end, nDirection=wx.NORTH)
     shift = (w - 19) / 2 + 1
     dc.DrawBitmap(BITMAPS[self.origin], shift, shift, True)
Esempio n. 8
0
    def paint(self):
        w, h = self.get_size()
        self.set_stroke()
        self.set_fill(cms.val_255(config.ruler_bg))
        self.draw_rect(0, 0, w, h)

        stop_clr = cms.val_255(config.ruler_fg) + [255]
        start_clr = cms.val_255(config.ruler_fg) + [0]

        rect = (0, h - 1, w * 2, 1)
        self.gc_draw_linear_gradient(rect, start_clr, stop_clr)

        rect = (w - 1, 0, 1, h * 2)
        self.gc_draw_linear_gradient(rect, start_clr, stop_clr, True)

        shift = (w - 19) / 2 + 1
        self.draw_bitmap(self.icon, shift, shift)
Esempio n. 9
0
	def paint(self):
		w, h = self.get_size()
		self.set_stroke()
		self.set_fill(cms.val_255(config.ruler_bg))
		self.draw_rect(0, 0, w, h)

		stop_clr = cms.val_255(config.ruler_fg) + [255]
		start_clr = cms.val_255(config.ruler_fg) + [0]

		rect = (0, h - 1, w * 2, 1)
		self.gc_draw_linear_gradient(rect, start_clr, stop_clr)

		rect = (w - 1, 0, 1, h * 2)
		self.gc_draw_linear_gradient(rect, start_clr, stop_clr, True)

		shift = (w - 19) / 2 + 1
		self.draw_bitmap(self.icon, shift, shift)
Esempio n. 10
0
def convert_duotone_to_image(cms, pixmap, cs=None):
    update_image(cms, pixmap)
    fg = pixmap.style[3][0]
    bg = pixmap.style[3][1]
    raw_image = Image.open(StringIO(b64decode(pixmap.bitmap)))
    raw_image.load()
    fg_img = bg_img = None
    fg_cs = bg_cs = uc2const.IMAGE_RGB
    if pixmap.colorspace == uc2const.IMAGE_MONO:
        raw_image = raw_image.convert(IMAGE_GRAY)
    size = raw_image.size
    if cs == uc2const.IMAGE_CMYK:
        if fg:
            fg = tuple(cms.get_cmyk_color255(fg))
        if bg:
            bg = tuple(cms.get_cmyk_color255(bg))
        fg_cs = bg_cs = cs
    elif cs == uc2const.IMAGE_RGB:
        if fg:
            fg = tuple(cms.get_rgb_color255(fg))
        if bg:
            bg = tuple(cms.get_rgb_color255(bg))
        fg_cs = bg_cs = cs
    else:
        if fg:
            fg_cs = fg[0]
            fg = tuple(val_255(cms.get_color(fg, fg_cs)[1]))
        if bg:
            bg_cs = bg[0]
            bg = tuple(val_255(cms.get_color(bg, bg_cs)[1]))
    if fg:
        fg_img = Image.new(fg_cs, size, fg)
    if bg:
        bg_img = Image.new(bg_cs, size, bg)

    fg_alpha = ImageOps.invert(raw_image)
    bg_alpha = raw_image
    if pixmap.alpha_channel:
        alpha_chnl = Image.open(StringIO(b64decode(pixmap.alpha_channel)))
        alpha_chnl.load()
        alpha_chnl = ImageOps.invert(alpha_chnl)
        comp_img = Image.new('L', size, 0)
        fg_alpha.paste(comp_img, (0, 0), alpha_chnl)
        bg_alpha.paste(comp_img, (0, 0), alpha_chnl)
    return (fg_img, fg_alpha), (bg_img, bg_alpha)
Esempio n. 11
0
    def paint(self):
        color1 = self._composite_color(self.color)
        color2 = self._composite_color(self.color, color1)

        self.set_stroke(cms.val_255(color1), 1.0)
        for item in self.vgrid:
            self.draw_line(item, 0, item, WIDTH)
        for item in self.hgrid:
            self.draw_line(0, item, WIDTH, item)
        self.draw_line(0, self.get_size()[1] - 1, 200, self.get_size()[1] - 1)

        self.set_stroke(cms.val_255(color2), 1.0)
        self.draw_line(self.vgrid[2], 0, self.vgrid[2], WIDTH)
        self.draw_line(0, self.hgrid[3], WIDTH, self.hgrid[3])

        self.set_stroke(cms.val_255(color2), 1.0)
        self.set_fill(None)
        w, h = self.get_size()
        self.draw_rect(0, 0, w, h)
Esempio n. 12
0
	def _on_paint(self, event):
		w, h = self.panel.GetSize()
		pdc = wx.PaintDC(self.panel)
		try:dc = wx.GCDC(pdc)
		except:dc = pdc
		pdc.BeginDrawing()
		dc.BeginDrawing()
		dc.SetPen(wx.NullPen)
		dc.SetBrush(wx.Brush(wx.Colour(*cms.val_255(config.ruler_bg))))
		dc.DrawRectangle(0, 0, w, h)
		color = cms.val_255(config.ruler_fg)
		grad_start = wx.Colour(*(color + [255]))
		grad_end = wx.Colour(*(color + [0]))
		rect = wx.Rect(0, h - 1, w * 2, 1)
		dc.GradientFillLinear(rect, grad_start, grad_end, nDirection=wx.WEST)
		rect = wx.Rect(w - 1, 0, 1, h * 2)
		dc.GradientFillLinear(rect, grad_start, grad_end, nDirection=wx.NORTH)
		shift = (w - 19) / 2 + 1
		dc.DrawBitmap(BITMAPS[self.origin], shift, shift, True)
Esempio n. 13
0
    def paint(self):
        w, h = self.get_size()
        self.set_stroke()
        self.set_fill(cms.val_255(config.ruler_bg))
        self.draw_rect(0, 0, w, h)

        stop_clr = cms.val_255(config.ruler_fg) + [255]
        start_clr = cms.val_255(config.ruler_fg) + [0]

        rect = (0, h - 1, w * 2, 1)
        self.gc_draw_linear_gradient(rect, start_clr, stop_clr)

        rect = (w - 1, 0, 1, h * 2)
        self.gc_draw_linear_gradient(rect, start_clr, stop_clr, True)

        shift = (w - 19) / 2 + 1
        self.set_stroke(cms.val_255(config.ruler_fg))
        for x0, y0, x1, y1 in CORNER:
            self.draw_line(x0 + shift, y0 + shift, x1 + shift, y1 + shift)
Esempio n. 14
0
 def __init__(self, parent, colors=COLORS, size=(25, 25), onclick=None):
     wal.VPanel.__init__(self, parent)
     self.grid = wal.GridPanel(self, 1, len(colors), 1, 1)
     self.cells = []
     for item in colors:
         color = cms.val_255(cms.hexcolor_to_rgb(item))
         cell = ColorCell(self, color, size, onclick)
         self.grid.pack(cell)
         self.cells.append(cell)
     self.pack(self.grid, padding_all=1)
     self.set_enable(True)
Esempio n. 15
0
	def __init__(self, parent, colors=COLORS, size=(25, 25), onclick=None):
		wal.VPanel.__init__(self, parent)
		self.grid = wal.GridPanel(self, 1 , len(colors), 1 , 1)
		self.cells = []
		for item in colors:
			color = cms.val_255(cms.hexcolor_to_rgb(item))
			cell = ColorCell(self, color, size, onclick)
			self.grid.pack(cell)
			self.cells.append(cell)
		self.pack(self.grid, padding_all=1)
		self.set_enable(True)
Esempio n. 16
0
    def convert_duotone_to_image(self, cms, cs=None):
        fg = self.pixmap.style[3][0]
        bg = self.pixmap.style[3][1]
        raw_image = self.bitmap
        fg_cs = bg_cs = uc2const.IMAGE_RGB

        if self.bitmap.mode == uc2const.IMAGE_MONO:
            raw_image = raw_image.convert(uc2const.IMAGE_GRAY)
        size = raw_image.size

        if cs == uc2const.IMAGE_CMYK:
            fg = tuple(cms.get_cmyk_color255(fg)) if fg else ()
            bg = tuple(cms.get_cmyk_color255(bg)) if bg else ()
            fg_cs = bg_cs = cs
        elif cs == uc2const.IMAGE_RGB:
            fg = tuple(cms.get_rgb_color255(fg)) if fg else ()
            bg = tuple(cms.get_rgb_color255(bg)) if bg else ()
            fg_cs = bg_cs = cs
        else:
            if fg:
                fg_cs = fg[0]
                fg = tuple(val_255(cms.get_color(fg, fg_cs)[1]))
            if bg:
                bg_cs = bg[0]
                bg = tuple(val_255(cms.get_color(bg, bg_cs)[1]))

        fg_img = Image.new(fg_cs, size, fg) if fg else None
        bg_img = Image.new(bg_cs, size, bg) if bg else None

        fg_alpha = ImageOps.invert(raw_image) if fg else None
        bg_alpha = raw_image if bg else None

        if self.alpha and any((fg, bg)):
            alpha_chnl = ImageOps.invert(self.alpha)
            comp_img = Image.new('L', size, 0)
            if fg:
                fg_alpha.paste(comp_img, (0, 0), alpha_chnl)
            if bg:
                bg_alpha.paste(comp_img, (0, 0), alpha_chnl)
        return (fg_img, fg_alpha) if fg else None, \
               (bg_img, bg_alpha) if bg else None
Esempio n. 17
0
    def paint(self):
        self.set_stroke(cms.val_255(self.color), 1.0, config.guide_line_dash)
        w, h = self.get_size()

        for item in (0.4, 0.5, 0.8):
            self.draw_line(int(item * w), 0, int(item * w), h)
        for item in (0.3, 0.7):
            self.draw_line(0, int(item * h), w, int(item * h))

        self.set_stroke(wal.UI_COLORS['hover_solid_border'])
        self.set_fill(None)
        self.draw_rect(0, 0, w, h)
Esempio n. 18
0
 def update(self):
     self.handles = {}
     self.clear_transforms()
     config = self.app.config
     profiles = [
         config.cms_rgb_profile, config.cms_cmyk_profile,
         config.cms_lab_profile, config.cms_gray_profile,
         config.cms_display_profile
     ]
     profile_dicts = [
         config.cms_rgb_profiles, config.cms_cmyk_profiles,
         config.cms_lab_profiles, config.cms_gray_profiles,
         config.cms_display_profiles
     ]
     index = 0
     profile_dir = self.app.appdata.app_color_profile_dir
     for item in CS + [
             COLOR_DISPLAY,
     ]:
         path = None
         profile = profiles[index]
         if profile and profile in profile_dicts[index]:
             profile_filename = profile_dicts[index][profile]
             path = os.path.join(profile_dir, profile_filename)
         if path:
             path = fsutils.get_sys_path(path)
             self.handles[item] = libcms.cms_open_profile_from_file(path)
         else:
             profile_dir = self.app.appdata.app_color_profile_dir
             filename = 'built-in_%s.icm' % item
             path = os.path.join(profile_dir, filename)
             path = fsutils.get_sys_path(path)
             self.handles[item] = libcms.cms_open_profile_from_file(path)
         index += 1
     self.use_cms = config.cms_use
     self.use_display_profile = config.cms_use_display_profile
     self.rgb_intent = config.cms_rgb_intent
     self.cmyk_intent = config.cms_cmyk_intent
     self.flags = config.cms_flags
     self.proofing = config.cms_proofing
     self.alarm_codes = config.cms_alarmcodes
     self.gamutcheck = config.cms_gamutcheck
     if self.gamutcheck:
         libcms.cms_set_alarm_codes(*val_255(self.alarm_codes))
     self.proof_for_spot = config.cms_proof_for_spot
     if self.proofing:
         self.flags = self.flags | uc2const.cmsFLAGS_SOFTPROOFING
     if self.gamutcheck:
         self.flags = self.flags | uc2const.cmsFLAGS_GAMUTCHECK
     if config.cms_bpc_flag:
         self.flags = self.flags | uc2const.cmsFLAGS_BLACKPOINTCOMPENSATION
     if config.cms_bpt_flag:
         self.flags = self.flags | uc2const.cmsFLAGS_PRESERVEBLACK
Esempio n. 19
0
    def paint(self):
        self.set_stroke(cms.val_255(self.color), 1.0, config.guide_line_dash)
        w, h = self.get_size()

        for item in (0.4, 0.5, 0.8):
            self.draw_line(int(item * w), 0, int(item * w), h)
        for item in (0.3, 0.7):
            self.draw_line(0, int(item * h), w, int(item * h))

        if wal.is_msw():
            self.set_stroke(wal.GRAY)
            self.set_fill()
            self.draw_rect(0, 0, w, h)
Esempio n. 20
0
	def paint(self):
		self.set_stroke(cms.val_255(self.color), 1.0, config.guide_line_dash)
		w, h = self.get_size()

		for item in (0.4, 0.5, 0.8):
			self.draw_line(int(item * w), 0, int(item * w), h)
		for item in (0.3, 0.7):
			self.draw_line(0, int(item * h), w, int(item * h))

		if wal.is_msw():
			self.set_stroke(wal.GRAY)
			self.set_fill()
			self.draw_rect(0, 0, w, h)
Esempio n. 21
0
def convert_duotone_to_image(cms, pixmap, cs=None):
	update_image(cms, pixmap)
	fg = pixmap.style[3][0]
	bg = pixmap.style[3][1]
	raw_image = Image.open(StringIO(b64decode(pixmap.bitmap)))
	raw_image.load()
	fg_img = None
	bg_img = None
	if pixmap.colorspace == uc2const.IMAGE_MONO:
		raw_image = raw_image.convert(IMAGE_GRAY)
	size = raw_image.size
	if cs == uc2const.IMAGE_CMYK:
		if fg:fg = tuple(cms.get_cmyk_color255(fg))
		if bg:bg = tuple(cms.get_cmyk_color255(bg))
		fg_cs = bg_cs = cs
	elif cs == uc2const.IMAGE_RGB:
		if fg:fg = tuple(cms.get_rgb_color255(fg))
		if bg:bg = tuple(cms.get_rgb_color255(bg))
		fg_cs = bg_cs = cs
	else:
		if fg:
			fg_cs = fg[0]
			fg = tuple(val_255(cms.get_color(fg, fg_cs)[1]))
		if bg:
			bg_cs = bg[0]
			bg = tuple(val_255(cms.get_color(bg, bg_cs)[1]))
	if fg:fg_img = Image.new(fg_cs, size, fg)
	if bg:bg_img = Image.new(bg_cs, size, bg)

	fg_alpha = ImageOps.invert(raw_image)
	bg_alpha = raw_image
	if pixmap.alpha_channel:
		alpha_chnl = Image.open(StringIO(b64decode(pixmap.alpha_channel)))
		alpha_chnl.load()
		alpha_chnl = ImageOps.invert(alpha_chnl)
		comp_img = Image.new('L', size, 0)
		fg_alpha.paste(comp_img, (0, 0), alpha_chnl)
		bg_alpha.paste(comp_img, (0, 0), alpha_chnl)
	return ((fg_img, fg_alpha), (bg_img, bg_alpha))
Esempio n. 22
0
	def update(self):
		self.handles = {}
		self.clear_transforms()
		profiles = [config.cms_rgb_profile,
					config.cms_cmyk_profile,
					config.cms_lab_profile,
					config.cms_gray_profile,
					config.cms_display_profile]
		profile_dicts = [config.cms_rgb_profiles,
						config.cms_cmyk_profiles,
						config.cms_lab_profiles,
						config.cms_gray_profiles,
						config.cms_display_profiles]
		index = 0
		profile_dir = self.app.appdata.app_color_profile_dir
		for item in CS + [COLOR_DISPLAY, ]:
			path = None
			profile = profiles[index]
			if profile and profile_dicts[index].has_key(profile):
				profile_filename = profile_dicts[index][profile]
				path = os.path.join(profile_dir, profile_filename)
			if path:
				self.handles[item] = libcms.cms_open_profile_from_file(path)
			else:
				profile_dir = self.app.appdata.app_color_profile_dir
				filename = 'built-in_%s.icm' % item
				path = os.path.join(profile_dir, filename)
				self.handles[item] = libcms.cms_open_profile_from_file(path)
			index += 1
		self.use_cms = config.cms_use
		self.use_display_profile = config.cms_use_display_profile
		self.rgb_intent = config.cms_rgb_intent
		self.cmyk_intent = config.cms_cmyk_intent
		self.flags = config.cms_flags
		self.proofing = config.cms_proofing
		self.alarm_codes = config.cms_alarmcodes
		self.gamutcheck = config.cms_gamutcheck
		if self.gamutcheck:
			libcms.cms_set_alarm_codes(*val_255(self.alarm_codes))
		self.proof_for_spot = config.cms_proof_for_spot
		if self.proofing:
			self.flags = self.flags | uc2const.cmsFLAGS_SOFTPROOFING
		if self.gamutcheck:
			self.flags = self.flags | uc2const.cmsFLAGS_GAMUTCHECK
		if config.cms_bpc_flag:
			self.flags = self.flags | uc2const.cmsFLAGS_BLACKPOINTCOMPENSATION
		if config.cms_bpt_flag:
			self.flags = self.flags | uc2const.cmsFLAGS_PRESERVEBLACK
Esempio n. 23
0
 def __init__(self, parent, bg):
     wal.HPanel.__init__(self, parent)
     self.set_bg(wal.UI_COLORS['pressed_border'][:3])
     self.pack((1, SIZE))
     panel = wal.VPanel(self)
     panel.set_bg(wal.UI_COLORS['bg'][:3])
     panel.pack(Spacer(panel))
     self.canvas = ImageCanvas(panel, cms.val_255(bg))
     panel.pack(self.canvas, fill=True, expand=True)
     info_panel = wal.VPanel(panel)
     info_panel.set_bg(wal.WHITE)
     self.info = wal.Label(info_panel, '---')
     info_panel.pack(self.info, padding_all=2)
     panel.pack(Spacer(panel))
     panel.pack(info_panel, fill=True)
     panel.pack(Spacer(panel))
     self.pack(panel, fill=True)
     self.pack((1, SIZE + info_panel.get_size()[1] + 3))
Esempio n. 24
0
 def __init__(self, parent, bg):
     wal.HPanel.__init__(self, parent)
     self.set_bg(wal.UI_COLORS["pressed_border"][:3])
     self.pack((1, SIZE))
     panel = wal.VPanel(self)
     panel.set_bg(wal.UI_COLORS["bg"][:3])
     panel.pack(Spacer(panel))
     self.canvas = ImageCanvas(panel, cms.val_255(bg))
     panel.pack(self.canvas, fill=True, expand=True)
     info_panel = wal.VPanel(panel)
     info_panel.set_bg(wal.WHITE)
     self.info = wal.Label(info_panel, "---")
     info_panel.pack(self.info, padding_all=2)
     panel.pack(Spacer(panel))
     panel.pack(info_panel, fill=True)
     panel.pack(Spacer(panel))
     self.pack(panel, fill=True)
     self.pack((1, SIZE + info_panel.get_size()[1] + 3))
Esempio n. 25
0
def generate_fontsample_cache(fonts):
    w = config.font_preview_width
    fontsize = config.font_preview_size
    color = cms.val_255(config.font_preview_color)
    text = config.font_preview_text.decode('utf-8')
    for item in fonts:
        h = libpango.get_sample_size(text, item, fontsize)[1]
        if not h:
            h = 10
            LOG.warn('Incorrect font <%s>: zero font height', item)
        surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h)
        ctx = cairo.Context(surface)
        ctx.set_source_rgb(0.0, 0.0, 0.0)
        ctx.set_matrix(cairo.Matrix(1.0, 0.0, 0.0, 1.0, 0.0, 0.0))
        ctx.set_antialias(cairo.ANTIALIAS_DEFAULT)
        libpango.render_sample(ctx, text, item, fontsize)
        ctx.fill()
        bmp = wal.copy_surface_to_bitmap(surface)
        FONTSAMPLE_CACHE.append(bmp)
Esempio n. 26
0
 def _add_color(self, color):
     doc_cms = self.sk2_doc.cms
     rclr = self.cmx_model.chunk_map['rclr']
     clr = (5, 5, (0, 0, 0))  # Fallback RGB black
     if color[0] == uc2const.COLOR_RGB:
         model = cmx_const.COLOR_MODELS.index(cmx_const.CMX_RGB)
         palette = cmx_const.COLOR_PALETTES.index('User')
         vals = cms.val_255(color[1])
         clr = (model, palette, vals)
     elif color[0] == uc2const.COLOR_CMYK:
         model = cmx_const.COLOR_MODELS.index(cmx_const.CMX_CMYK)
         palette = cmx_const.COLOR_PALETTES.index('User')
         vals = cms.val_100(color[1])
         clr = (model, palette, vals)
     else:
         model = cmx_const.COLOR_MODELS.index(cmx_const.CMX_RGB)
         palette = cmx_const.COLOR_PALETTES.index('User')
         vals = doc_cms.get_rgb_color255(color)
         clr = (model, palette, vals)
     return rclr.add_color(clr)
Esempio n. 27
0
def generate_fontsamples(fonts):
	bitmaps = []
	w = config.font_preview_width
	fontsize = config.font_preview_size
	color = cms.val_255(config.font_preview_color)
	text = config.font_preview_text
	for item in fonts:
		h = libpango.get_sample_size(text, item, fontsize)[1]
		surface = cairo.ImageSurface(cairo.FORMAT_RGB24, w, h)
		ctx = cairo.Context(surface)
		ctx.set_source_rgb(0.0, 0.0, 0.0)
		ctx.paint()
		matrix = cairo.Matrix(1.0, 0.0, 0.0, 1.0, 0.0, 0.0)
		ctx.set_matrix(matrix)
		ctx.set_source_rgb(1.0, 1.0, 1.0)
		ctx.set_antialias(cairo.ANTIALIAS_DEFAULT)
		libpango.render_sample(ctx, text, item, fontsize)
		ctx.fill()
		bmp = wal.copy_surface_to_bitmap(surface)
		bitmaps.append(wal.invert_text_bitmap(bmp, color))
	return bitmaps
Esempio n. 28
0
def generate_fontsample_cache(fonts):
	w = config.font_preview_width
	fontsize = config.font_preview_size
	color = cms.val_255(config.font_preview_color)
	text = config.font_preview_text
	for item in fonts:
		h = libpango.get_sample_size(text, item, fontsize)[1]
		if not h:
			h = 10
			warn(_('incorrect font') + ' - %s' % item)
		surface = cairo.ImageSurface(cairo.FORMAT_RGB24, w, h)
		ctx = cairo.Context(surface)
		ctx.set_source_rgb(0.0, 0.0, 0.0)
		ctx.paint()
		matrix = cairo.Matrix(1.0, 0.0, 0.0, 1.0, 0.0, 0.0)
		ctx.set_matrix(matrix)
		ctx.set_source_rgb(1.0, 1.0, 1.0)
		ctx.set_antialias(cairo.ANTIALIAS_DEFAULT)
		libpango.render_sample(ctx, text, item, fontsize)
		ctx.fill()
		bmp = wal.copy_surface_to_bitmap(surface)
		FONTSAMPLE_CACHE.append(wal.invert_text_bitmap(bmp, color))
Esempio n. 29
0
def generate_fontsample_cache(fonts):
    w = config.font_preview_width
    fontsize = config.font_preview_size
    color = cms.val_255(config.font_preview_color)
    text = config.font_preview_text
    for item in fonts:
        h = libpango.get_sample_size(text, item, fontsize)[1]
        if not h:
            h = 10
            warn(_('incorrect font') + ' - %s' % item)
        surface = cairo.ImageSurface(cairo.FORMAT_RGB24, w, h)
        ctx = cairo.Context(surface)
        ctx.set_source_rgb(0.0, 0.0, 0.0)
        ctx.paint()
        matrix = cairo.Matrix(1.0, 0.0, 0.0, 1.0, 0.0, 0.0)
        ctx.set_matrix(matrix)
        ctx.set_source_rgb(1.0, 1.0, 1.0)
        ctx.set_antialias(cairo.ANTIALIAS_DEFAULT)
        libpango.render_sample(ctx, text, item, fontsize)
        ctx.fill()
        bmp = wal.copy_surface_to_bitmap(surface)
        FONTSAMPLE_CACHE.append(wal.invert_text_bitmap(bmp, color))
Esempio n. 30
0
 def set_canvas_bg(self, color):
     self.canvas.set_bg(cms.val_255(color))
     self.canvas.refresh()
Esempio n. 31
0
 def set_canvas_bg(self, color):
     self.canvas.set_bg(cms.val_255(color))
     self.canvas.refresh()