100 lines
3.0 KiB
Python
100 lines
3.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
import pygame
|
|
|
|
|
|
arrow = ( "xX ",
|
|
"X.X ",
|
|
"X..X ",
|
|
"X...X ",
|
|
"X....X ",
|
|
"X.....X ",
|
|
"X......X ",
|
|
"X.......X ",
|
|
"X........X ",
|
|
"X.........X ",
|
|
"X......XXXXX ",
|
|
"X...X..X ",
|
|
"X..XX..X ",
|
|
"X.X XX..X ",
|
|
"XX X..X ",
|
|
"X X..X ",
|
|
" X..X ",
|
|
" X..X ",
|
|
" X..X ",
|
|
" XX ",
|
|
" ",
|
|
" ",
|
|
" ",
|
|
" ")
|
|
|
|
|
|
no = (" ",
|
|
" ",
|
|
" XXXXXX ",
|
|
" XX......XX ",
|
|
" X..........X ",
|
|
" X....XXXX....X ",
|
|
" X...XX XX...X ",
|
|
" X.....X X...X ",
|
|
" X..X...X X..X ",
|
|
" X...XX...X X...X ",
|
|
" X..X X...X X..X ",
|
|
" X..X X...X X..X ",
|
|
" X..X X.,.X X..X ",
|
|
" X..X X...X X..X ",
|
|
" X...X X...XX...X ",
|
|
" X..X X...X..X ",
|
|
" X...X X.....X ",
|
|
" X...XX X...X ",
|
|
" X....XXXXX...X ",
|
|
" X..........X ",
|
|
" XX......XX ",
|
|
" XXXXXX ",
|
|
" ",
|
|
" ",
|
|
)
|
|
|
|
def TestCursor(arrow):
|
|
hotspot = None
|
|
for y in range(len(arrow)):
|
|
for x in range(len(arrow[y])):
|
|
if arrow[y][x] in ['x', ',', 'O']:
|
|
hotspot = x,y
|
|
break
|
|
if hotspot != None:
|
|
break
|
|
if hotspot == None:
|
|
raise Exception("No hotspot specified for cursor '%s'!" %
|
|
cursorname)
|
|
s2 = []
|
|
for line in arrow:
|
|
s2.append(line.replace('x', 'X').replace(',', '.').replace('O',
|
|
'o'))
|
|
cursor, mask = pygame.cursors.compile(s2, 'X', '.', 'o')
|
|
size = len(arrow[0]), len(arrow)
|
|
pygame.mouse.set_cursor(size, hotspot, cursor, mask)
|
|
|
|
def main():
|
|
pygame.init()
|
|
pygame.font.init()
|
|
font = pygame.font.Font(None, 24)
|
|
bg = pygame.display.set_mode((800, 600), 0, 24)
|
|
bg.fill((255,255,255))
|
|
bg.blit(font.render("Click to advance", 1, (0, 0, 0)), (0, 0))
|
|
pygame.display.update()
|
|
for cursor in [no, arrow]:
|
|
TestCursor(cursor)
|
|
going = True
|
|
while going:
|
|
pygame.event.pump()
|
|
for e in pygame.event.get():
|
|
if e.type == pygame.MOUSEBUTTONDOWN:
|
|
going = False
|
|
pygame.quit()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
|