Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-12-17 14:20:56 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-12-17 14:20:56 (GMT)
commitec98271cf4652245f0eb7d07237e5ee9f9ed82fe (patch)
tree6eb428957f86df077ced0fa84b13ac47b12fbf8e
parentf1b1a77302d26642d85dda5bbfe83e4e45fe9728 (diff)
New block-highlighting scheme
-rw-r--r--TurtleArt/tablock.py17
-rw-r--r--TurtleArt/taconstants.py3
-rwxr-xr-xTurtleArt/tasprite_factory.py15
3 files changed, 20 insertions, 15 deletions
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" % (
" <defs>\n <linearGradient\n id=\"linearGradient1234\">\n",
- " <stop\n style=\"stop-color:#ffffff;stop-opacity:1;\"\n",
+ " <stop\n style=\"stop-color:" + \
+ self._gradient_color + ";stop-opacity:1;\"\n",
" offset=\"0\" />\n",
" <stop\n style=\"stop-color:", self._fill,
";stop-opacity:1;\"\n",
@@ -710,7 +713,7 @@ class SVG:
return " </g>\n</svg>\n"
def style(self):
- if self._gradiant is True:
+ if self._gradient is True:
fill = "url(#linearGradient5678)"
else:
fill = self._fill