Code:
=1
elif event['type'] == appuifw.EEventKeyUp:
self._keyboard_state[event['scancode']]=0
self._onevent()
def is_down(self,scancode):
return self._keyboard_state.get(scancode,0)
def pressed(self,scancode):
if self._downs.get(scancode,0):
self._downs[scancode]-=1
return True
return False
keyboard=Keyboard()
appuifw.app.screen='full'
img=Image.new((176,208))
canvas=appuifw.Canvas(event_callback=keyboard.handle_event)
appuifw.app.body=canvas
# dot matrix font only capital letters [A...Z]
font = []
font += [0x83, 0xED, 0xEE, 0xED, 0x83, 0xff]
font += [0xBE, 0x80, 0xB6, 0xB6, 0xC9, 0xff]
font += [0xC1, 0xBE, 0xBE, 0xBE, 0xDD, 0xff]
font += [0xBE, 0x80, 0xBE, 0xBE, 0xC1, 0xff]
font += [0x80, 0xB6, 0xB6, 0xB6, 0xBE, 0xff]
font += [0x80, 0xF6, 0xF6, 0xF6, 0xFE, 0xff]
font += [0xC1, 0xBE, 0xBE, 0xB6, 0x86, 0xff]
font += [0x80, 0xF7, 0xF7, 0xF7, 0x80, 0xff]
font += [0xff, 0xbE, 0x80, 0xBe, 0xff, 0xff]
font += [0xdF, 0xBf, 0xBf, 0xBf, 0xC0, 0xff]
font += [0x80, 0xf7, 0xeB, 0xDD, 0xbE, 0xff]
font += [0x80, 0xbF, 0xbF, 0xbF, 0xbF, 0xff]
font += [0x80, 0xfD, 0xf3, 0xfD, 0x80, 0xff]
font += [0x80, 0xfB, 0xf7, 0xeF, 0x80, 0xff]
font += [0xc1, 0xbE, 0xbE, 0xbE, 0xc1, 0xff]
font += [0x80, 0xf6, 0xf6, 0xf6, 0xf9, 0xff]
font += [0xc1, 0xbE, 0xaE, 0xdE, 0xa1, 0xff]
font += [0x80, 0xf6, 0xe6, 0xd6, 0xb9, 0xff]
font += [0xd9, 0xb6, 0xb6, 0xb6, 0xcD, 0xff]
font += [0xfE, 0xfE, 0x80, 0xfE, 0xfE, 0xff]
font += [0xc0, 0xbF, 0xbF, 0xbF, 0xc0, 0xff]
font += [0xf8, 0xe7, 0x9F, 0xe7, 0xf8, 0xff]
font += [0xc0, 0xbF, 0xc7, 0xbF, 0xc0, 0xff]
font += [0x9C, 0xeB, 0xf7, 0xeB, 0x9c, 0xff]
font += [0xfC, 0xfB, 0x87, 0xfB, 0xfC, 0xff]
font += [0x9E, 0xaE, 0xb6, 0xbA, 0xbC, 0xff]
running=1
def quit():
global running
running=0
appuifw.app.exit_key_handler=quit
blobsize=10
fx = 1
fd = 1
il = 0
import time
start_time=time.clock()
n_frames=0
delay = 0
canvas.clear(0)
y = 0
x = 0
while running:
#take character
c = ord(msg[(il/6)]) #take character
if c == 32:
r = 0xff
else:
r = font[(c-65)*6 + (il%6)]
il += 1
if il>=len(msg)*6:
il = 0
x = (176-(7*blobsize))/2
p = 1
for j in range(0,7):
if ((r & p) == 0):
canvas.rectangle((x,y,x+blobsize,y+blobsize), fill = 0xff0000)
else:
canvas.rectangle((x,y,x+blobsize,y+blobsize), fill = 0x000000)
p = p * 2
x = x + blobsize
# scroll the text
img = screenshot()
e32.ao_yield()
e32.ao_sleep(delay)
canvas.blit(img,target=(0,blobsize))
#right left change the size of the text
if keyboard.is_down(EScancodeLeftArrow):
canvas.rectangle((0,0,176,blobsize), fill = 0x000000)
blobsize -= 1
if blobsize<1:
blobsize = 1
if keyboard.is_down(EScancodeRightArrow):
canvas.rectangle((0,0,176,blobsize), fill = 0x0000)
blobsize += 1
#up down change speed
if keyboard.is_down(EScancodeDownArrow): delay += .01
if keyboard.is_down(EScancodeUpArrow):
delay -= .01
if delay<0:
delay = 0
if keyboard.pressed(EScancodeHash):
filename=u'e:\\screenshot.png'
canvas.text((0,32),u'Saving screenshot to:',fill=0xffff00)
canvas.text((0,48),filename,fill=0xffff00)
img.save(filename)
n_frames+=1
end_time=time.clock()
total=end_time-start_time
print "%d frames\n %f seconds\n %f FPS\n %f ms/frame.\n"%(n_frames,total,
n_frames/total,
total/n_frames*1000.)