From ec98271cf4652245f0eb7d07237e5ee9f9ed82fe Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Fri, 17 Dec 2010 14:20:56 +0000 Subject: New block-highlighting scheme --- (limited to 'TurtleArt') diff --git a/TurtleArt/tablock.py b/TurtleArt/tablock.py index b70730e..2764fc4 100644 --- a/TurtleArt/tablock.py +++ b/TurtleArt/tablock.py @@ -35,7 +35,7 @@ from taconstants import EXPANDABLE, EXPANDABLE_BLOCKS, EXPANDABLE_ARGS, \ COLLAPSIBLE_TOP, COLLAPSIBLE_TOP_NO_ARM, COLLAPSIBLE_TOP_NO_LABEL, \ COLLAPSIBLE_TOP_NO_ARM_NO_LABEL, COLLAPSIBLE_BOTTOM, PORTFOLIO_STYLE_2x2, \ PORTFOLIO_STYLE_1x1, PORTFOLIO_STYLE_2x1, PORTFOLIO_STYLE_1x2, \ - STANDARD_STROKE_WIDTH, SELECTED_STROKE_WIDTH, SELECTED_COLOR, BOX_COLORS, \ + STANDARD_STROKE_WIDTH, BOX_COLORS, GRADIENT_COLOR, \ BASIC_STYLE_EXTENDED_VERTICAL, CONSTANTS, INVISIBLE from tasprite_factory import SVG, svg_str_to_pixbuf import sprites @@ -313,7 +313,6 @@ class Block: self.svg = SVG() self.svg.set_scale(self.scale) - self.svg.set_gradiant(True) self.svg.set_innie([False]) self.svg.set_outie(False) self.svg.set_tab(True) @@ -404,7 +403,6 @@ class Block: self._top = 0 self._right = 0 self._bottom = 0 - self._set_colors(svg) self.svg.set_stroke_width(STANDARD_STROKE_WIDTH) self.svg.clear_docks() if self.name in BASIC_STYLE: @@ -486,13 +484,16 @@ class Block: _logger.debug("WARNING: I don't know how to create a %s block" % \ (self.name)) - def _set_colors(self, svg): + def _set_colors(self, svg, highlight=False): if self.name in BOX_COLORS: self.colors = BOX_COLORS[self.name] else: for p in range(len(PALETTES)): if self.name in PALETTES[p]: - self.colors = COLORS[p] + if highlight: + self.colors = HIGHLIGHT_COLORS[p] + else: + self.colors = COLORS[p] self.svg.set_colors(self.colors) def _make_basic_style(self, svg, extend_x=0, extend_y=0): @@ -918,14 +919,16 @@ class Block: self.svg.docks[1][1]]] def _make_block_graphics(self, svg, function, arg=None): + self._set_colors(svg, highlight=True) + self.svg.set_gradient(True, GRADIENT_COLOR) if arg is None: self.shapes[0] = svg_str_to_pixbuf(function()) else: self.shapes[0] = svg_str_to_pixbuf(function(arg)) self.width = self.svg.get_width() self.height = self.svg.get_height() - self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) - self.svg.set_stroke_color(SELECTED_COLOR) + self._set_colors(svg, highlight=True) + self.svg.set_gradient(False) if arg is None: self.shapes[1] = svg_str_to_pixbuf(function()) else: diff --git a/TurtleArt/taconstants.py b/TurtleArt/taconstants.py index aa869a3..0ec31aa 100644 --- a/TurtleArt/taconstants.py +++ b/TurtleArt/taconstants.py @@ -171,8 +171,7 @@ PALETTE_HEIGHT = 120 PALETTE_WIDTH = 175 SELECTOR_WIDTH = 55 ICON_SIZE = 55 -SELECTED_COLOR = "#0000FF" -SELECTED_STROKE_WIDTH = 1.0 +GRADIENT_COLOR = "#FFFFFF" STANDARD_STROKE_WIDTH = 1.0 BLOCK_SCALE = 2.0 PALETTE_SCALE = 1.5 diff --git a/TurtleArt/tasprite_factory.py b/TurtleArt/tasprite_factory.py index 0b8cf7c..fe9166d 100755 --- a/TurtleArt/tasprite_factory.py +++ b/TurtleArt/tasprite_factory.py @@ -76,7 +76,8 @@ class SVG: self._dot_radius = 8 self._fill = "#00FF00" self._stroke = "#00A000" - self._gradiant = False + self._gradient_color = "#FFFFFF" + self._gradient = False self.margins = [0, 0, 0, 0] def basic_block(self): @@ -588,8 +589,9 @@ class SVG: def set_stroke_color(self, color="#00A000"): self._stroke = color - def set_gradiant(self, flag=False): - self._gradiant = flag + def set_gradient(self, flag=False, color='#FFFFFF'): + self._gradient = flag + self._gradient_color = color def set_innie(self, innie_array=[False]): self._innie = innie_array @@ -671,10 +673,11 @@ class SVG: self._transform(center)) def _defs(self): - if self._gradiant is True: + if self._gradient is True: return "%s%s%s%s%s%s%s%s%s%s%s%s%.1f%s%s%.1f%s%s%.1f%s%s" % ( " \n \n", - " \n", " \n\n" def style(self): - if self._gradiant is True: + if self._gradient is True: fill = "url(#linearGradient5678)" else: fill = self._fill -- cgit v0.9.1