Line 38: |
Line 38: |
| [[Image:TA-dotted-line.png]] | | [[Image:TA-dotted-line.png]] |
| | | |
− | def myblock(lc, x): | + | def myblock(tw, line_length): |
− | ########################################################################### | + | ''' Draw a dotted line of length line_length. ''' |
− | #
| + | try: # make sure line_length is a number |
− | # Draw a dotted line of length x.
| + | line_length = float(line_length) |
− | #
| |
− | ###########################################################################
| |
− | try: # make sure x is a number | |
− | x = float(x)
| |
| except ValueError: | | except ValueError: |
| return | | return |
− | if lc.tw.canvas.pendown: | + | if tw.canvas.pendown: |
| dist = 0 | | dist = 0 |
− | while dist+lc.tw.canvas.pensize < x: # repeat drawing dots | + | while dist + tw.canvas.pensize < line_length: # repeat drawing dots |
− | lc.tw.canvas.setpen(True) | + | tw.canvas.setpen(True) |
− | lc.tw.canvas.forward(1) | + | tw.canvas.forward(1) |
− | lc.tw.canvas.setpen(False) | + | tw.canvas.setpen(False) |
− | lc.tw.canvas.forward((lc.tw.canvas.pensize*2)-1) | + | tw.canvas.forward((tw.canvas.pensize * 2) - 1) |
− | dist += (lc.tw.canvas.pensize*2) | + | dist += (tw.canvas.pensize * 2) |
− | lc.tw.canvas.forward(x-dist) # make sure we have moved exactly x | + | # make sure we have moved exactly line_length |
− | lc.tw.canvas.setpen(True) | + | tw.canvas.forward(line_length - dist) |
| + | tw.canvas.setpen(True) |
| else: | | else: |
− | lc.tw.canvas.forward(x) | + | tw.canvas.forward(line_length) |
| return | | return |
| | | |
Line 66: |
Line 63: |
| [[Image:TA-rgb.png]] | | [[Image:TA-rgb.png]] |
| | | |
− | def myblock(lc, x): | + | def myblock(tw, rgb_array): |
− | ########################################################################### | + | ''' Set rgb color from values ''' |
− | #
| + | tw.canvas.fgrgb = [(int(rgb_array[0]) % 256), |
− | # Set rgb color
| + | (int(rgb_array[1]) % 256), |
− | # | + | (int(rgb_array[2]) % 256)] |
− | ###########################################################################
| + | |
− | r = int(x[0])
| |
− | while r < 0:
| |
− | r += 256
| |
− | while r > 255:
| |
− | r -= 256
| |
− | g = int(x[1])
| |
− | while g < 0:
| |
− | g += 256
| |
− | while g > 255:
| |
− | g -= 256
| |
− | b = int(x[0])
| |
− | while b < 0:
| |
− | b += 256
| |
− | while b > 255:
| |
− | b -= 256
| |
− | rgb = "#%02x%02x%02x" % (r,g,b)
| |
− | lc.tw.fgcolor = lc.tw.canvas.cm.alloc_color(rgb)
| |
− | return
| |
| | | |
− | def myblock(lc, x): | + | def myblock(tw, x): |
| ########################################################################### | | ########################################################################### |
| # | | # |
Line 102: |
Line 81: |
| else: | | else: |
| X = x.upper() | | X = x.upper() |
− | lc.heap.append(X) | + | tw.lc.heap.append(X) |
| return | | return |
| | | |
− | def myblock(lc, x): | + | def myblock(tw, x): |
| ########################################################################### | | ########################################################################### |
| # | | # |
Line 114: |
Line 93: |
| # | | # |
| ########################################################################### | | ########################################################################### |
− | lc.heap.append(localtime().tm_hour) | + | tw.lc.heap.append(localtime().tm_hour) |
− | lc.heap.append(localtime().tm_min) | + | tw.lc.heap.append(localtime().tm_min) |
− | lc.heap.append(localtime().tm_sec) | + | tw.lc.heap.append(localtime().tm_sec) |
| return | | return |
| | | |
− | def myblock(lc, x): | + | def myblock(tw, x): |
| ########################################################################### | | ########################################################################### |
| # | | # |
Line 125: |
Line 104: |
| # | | # |
| ########################################################################### | | ########################################################################### |
− | val = 0.3 * lc.tw.rgb[0] + 0.6 * lc.tw.rgb[1] + 0.1 * lc.tw.rgb[2] | + | val = 0.3 * tw.rgb[0] + 0.6 * tw.rgb[1] + 0.1 * tw.rgb[2] |
| if x != 100: | | if x != 100: |
| x = int(x)%100 | | x = int(x)%100 |
− | r = int((val*(100-x) + lc.tw.rgb[0]*x)/100) | + | r = int((val*(100-x) + tw.rgb[0]*x)/100) |
− | g = int((val*(100-x) + lc.tw.rgb[1]*x)/100) | + | g = int((val*(100-x) + tw.rgb[1]*x)/100) |
− | b = int((val*(100-x) + lc.tw.rgb[2]*x)/100) | + | b = int((val*(100-x) + tw.rgb[2]*x)/100) |
| # reallocate current color | | # reallocate current color |
| rgb = "#%02x%02x%02x" % (r,g,b) | | rgb = "#%02x%02x%02x" % (r,g,b) |
− | lc.tw.fgcolor = lc.tw.canvas.cm.alloc_color(rgb) | + | tw.fgcolor = tw.canvas.cm.alloc_color(rgb) |
| return | | return |
| | | |
− | def myblock(lc, x): | + | def myblock(tw, x): |
| ########################################################################### | | ########################################################################### |
| # | | # |
Line 142: |
Line 121: |
| # | | # |
| ########################################################################### | | ########################################################################### |
− | lc.tw.save_as_image(str(x)) | + | tw.save_as_image(str(x)) |
| return | | return |
| | | |
− | def myblock(lc, x): | + | def myblock(tw, x): |
− | | |
| ########################################################################### | | ########################################################################### |
| # | | # |
Line 152: |
Line 130: |
| # | | # |
| ########################################################################### | | ########################################################################### |
− |
| + | if tw.mouse_flag == 1: |
− | if lc.tw.mouse_flag == 1: | |
| # push y first so x will be popped first | | # push y first so x will be popped first |
− | lc.heap.append((lc.tw.canvas.height / 2) - lc.tw.mouse_y) | + | tw.lc.heap.append((tw.canvas.height / 2) - tw.mouse_y) |
− | lc.heap.append(lc.tw.mouse_x - (lc.tw.canvas.width / 2)) | + | tw.lc.heap.append(tw.mouse_x - (tw.canvas.width / 2)) |
− | lc.heap.append(1) # mouse event | + | tw.lc.heap.append(1) # mouse event |
− | lc.tw.mouse_flag = 0 | + | tw.mouse_flag = 0 |
| else: | | else: |
− | lc.heap.append(0) # no mouse event | + | tw.lc.heap.append(0) # no mouse event |
| | | |
| ====Device I/O==== | | ====Device I/O==== |