Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pysamples/set_rgb.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysamples/set_rgb.py')
-rw-r--r--pysamples/set_rgb.py61
1 files changed, 15 insertions, 46 deletions
diff --git a/pysamples/set_rgb.py b/pysamples/set_rgb.py
index f524ec6..d4baa48 100644
--- a/pysamples/set_rgb.py
+++ b/pysamples/set_rgb.py
@@ -1,50 +1,19 @@
-#Copyright (c) 2009-10, Walter Bender
+#Copyright (c) 2009-11, Walter Bender
-#Permission is hereby granted, free of charge, to any person obtaining a copy
-#of this software and associated documentation files (the "Software"), to deal
-#in the Software without restriction, including without limitation the rights
-#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-#copies of the Software, and to permit persons to whom the Software is
-#furnished to do so, subject to the following conditions:
+# This procedure is invoked when the user-definable block on the
+# "extras" palette is selected and expanded to 3 arguments.
-#The above copyright notice and this permission notice shall be included in
-#all copies or substantial portions of the Software.
+# Usage: Import this code into a Python (user-definable) block.
+# First, expand the Python block to reveal three numerics arguments.
+# Set these values to the desired red, green, and blue. When the code
+# is run, the red, green, and blue values are used to set the pen
+# color.
-#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-#THE SOFTWARE.
-#
-# This procedure is invoked when the user-definable block on the "extras"
-# palette is selected and expanded to 3 arguments.
-
-def myblock(lc, x):
-
- ###########################################################################
- #
- # Set rgb color from values
- #
- ###########################################################################
-
- # assuming x is an array [r, g, b]
- b = int(x[2])
- while b < 0:
- b += 256
- while b > 255:
- b -= 256
- g = int(x[1])
- while g < 0:
- g += 256
- while g > 255:
- g -= 256
- r = int(x[0])
- while r < 0:
- r += 256
- while r > 255:
- r -= 256
- rgb = "#%02x%02x%02x" % (r,g,b)
- lc.tw.canvas.fgcolor = lc.tw.canvas.cm.alloc_color(rgb)
+def myblock(tw, rgb_array):
+ ''' Set rgb color from values '''
+
+ rgb = "#%02x%02x%02x" % ((int(rgb_array[0]) % 256),
+ (int(rgb_array[1]) % 256),
+ (int(rgb_array[2]) % 256))
+ tw.canvas.fgcolor = tw.canvas.cm.alloc_color(rgb)