Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-09-18 15:40:29 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-09-18 15:40:29 (GMT)
commit3b87909382235a0842dba5e493a764804fa572ce (patch)
tree7ddc532de1e224cac7f33cf2d0320a0989f5e1d3
parent4a955998003c5b1312580e31421c9878c46cca75 (diff)
add gray as argument to fill screen block
-rw-r--r--TurtleArt/tabasics.py102
-rw-r--r--TurtleArt/tacanvas.py10
2 files changed, 66 insertions, 46 deletions
diff --git a/TurtleArt/tabasics.py b/TurtleArt/tabasics.py
index 3136751..cdf092c 100644
--- a/TurtleArt/tabasics.py
+++ b/TurtleArt/tabasics.py
@@ -273,39 +273,8 @@ setxy :x :y\rpendown\rend\r')
colors=["#00FFFF", "#00A0A0"],
help_string=_('Palette of pen commands'))
- palette.add_block('penup',
- style='basic-style-extended-vertical',
- label=_('pen up'),
- prim_name='penup',
- logo_command='penup',
- help_string=_('Turtle will not draw when moved.'))
- self.tw.lc.def_prim('penup', 0,
- lambda self: self.tw.canvas.setpen(False))
-
- palette.add_block('pendown',
- style='basic-style-extended-vertical',
- label=_('pen down'),
- prim_name='pendown',
- logo_command='pendown',
- help_string=_('Turtle will draw when moved.'))
- self.tw.lc.def_prim('pendown', 0,
- lambda self: self.tw.canvas.setpen(True))
-
- palette.add_block('setpensize',
- style='basic-style-1arg',
- label=_('set pen size'),
- prim_name='setpensize',
- default=5,
- logo_command='setpensize',
- help_string=_('sets size of the line drawn by the \
-turtle'))
- self.tw.lc.def_prim('setpensize', 1,
- lambda self, x: primitive_dictionary['set'](
- 'pensize', self.tw.canvas.setpensize, x))
- define_logo_function('tasetpensize', 'to tasetpensize :a\rsetpensize \
-round :a\rend\r')
-
palette.add_block('fillscreen',
+ hidden=True,
style='basic-style-2arg',
label=[_('fill screen'), _('color'), _('shade')],
prim_name='fillscreen',
@@ -315,21 +284,22 @@ round :a\rend\r')
shade)'))
self.tw.lc.def_prim('fillscreen', 2,
lambda self, x, y: self.tw.canvas.fillscreen(x, y))
+
+ palette.add_block('fillscreen2',
+ style='basic-style-3arg',
+ label=[_('fill screen') + '\n\n', _('color'),
+ _('shade'), _('gray')],
+ prim_name='fillscreen2',
+ default=[60, 80, 100],
+ logo_command='tasetbackground',
+ help_string=_('fills the background with (color, \
+shade)'))
+ self.tw.lc.def_prim('fillscreen2', 3,
+ lambda self, x, y, z: self.tw.canvas.fillscreen_with_gray(x, y, z))
+
define_logo_function('tasetbackground', 'to tasetbackground :color \
:shade\rtasetshade :shade\rsetbackground :color\rend\r')
- palette.add_block('pensize',
- style='box-style',
- label=_('pen size'),
- help_string=_('holds current pen size (can be used \
-in place of a number block)'),
- value_block=True,
- prim_name='pensize',
- logo_command='pensize')
- self.tw.lc.def_prim('pensize', 0, lambda self: self.tw.canvas.pensize)
- define_logo_function('tapensize', 'to tapensize\routput first round \
-pensize\rend\r')
-
palette.add_block('setcolor',
style='basic-style-1arg',
label=_('set color'),
@@ -393,6 +363,38 @@ used in place of a number block)'),
prim_name='gray')
self.tw.lc.def_prim('gray', 0, lambda self: self.tw.canvas.gray)
+ palette.add_block('penup',
+ style='basic-style-extended-vertical',
+ label=_('pen up'),
+ prim_name='penup',
+ logo_command='penup',
+ help_string=_('Turtle will not draw when moved.'))
+ self.tw.lc.def_prim('penup', 0,
+ lambda self: self.tw.canvas.setpen(False))
+
+ palette.add_block('pendown',
+ style='basic-style-extended-vertical',
+ label=_('pen down'),
+ prim_name='pendown',
+ logo_command='pendown',
+ help_string=_('Turtle will draw when moved.'))
+ self.tw.lc.def_prim('pendown', 0,
+ lambda self: self.tw.canvas.setpen(True))
+
+ palette.add_block('setpensize',
+ style='basic-style-1arg',
+ label=_('set pen size'),
+ prim_name='setpensize',
+ default=5,
+ logo_command='setpensize',
+ help_string=_('sets size of the line drawn by the \
+turtle'))
+ self.tw.lc.def_prim('setpensize', 1,
+ lambda self, x: primitive_dictionary['set'](
+ 'pensize', self.tw.canvas.setpensize, x))
+ define_logo_function('tasetpensize', 'to tasetpensize :a\rsetpensize \
+round :a\rend\r')
+
palette.add_block('startfill',
style='basic-style-extended-vertical',
label=_('start fill'),
@@ -411,6 +413,18 @@ start fill block)'))
self.tw.lc.def_prim('stopfill', 0,
lambda self: self.tw.canvas.stop_fill())
+ palette.add_block('pensize',
+ style='box-style',
+ label=_('pen size'),
+ help_string=_('holds current pen size (can be used \
+in place of a number block)'),
+ value_block=True,
+ prim_name='pensize',
+ logo_command='pensize')
+ self.tw.lc.def_prim('pensize', 0, lambda self: self.tw.canvas.pensize)
+ define_logo_function('tapensize', 'to tapensize\routput first round \
+pensize\rend\r')
+
def _color_palette(self):
""" The basic Turtle Art color palette """
diff --git a/TurtleArt/tacanvas.py b/TurtleArt/tacanvas.py
index 5d25f40..fb42422 100644
--- a/TurtleArt/tacanvas.py
+++ b/TurtleArt/tacanvas.py
@@ -487,10 +487,15 @@ class TurtleGraphics:
self.tw.send_event(event)
def fillscreen(self, c, s):
- ''' Fill screen with color/shade and reset to defaults '''
- oldc, olds = self.color, self.shade
+ ''' Deprecated method: Fill screen with color/shade '''
+ self.fillscreen_with_gray(c, s, self.gray)
+
+ def fillscreen_with_gray(self, c, s, g):
+ ''' Fill screen with color/shade/gray and reset to defaults '''
+ oldc, olds, oldg = self.color, self.shade, self.gray
self.setcolor(c, False)
self.setshade(s, False)
+ self.setgray(g, False)
self.bgrgb = self.fgrgb[:]
def _fillscreen(cr, rgb, w, h):
@@ -504,6 +509,7 @@ class TurtleGraphics:
_fillscreen(self.cr_svg, self.fgrgb, self.width, self.height)
self.setcolor(oldc, False)
self.setshade(olds, False)
+ self.setgray(oldg, False)
self.fill = False
self.poly_points = []