[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] Mac cursors broken
The cursors look ok on linux, X11.
Kamilche: Would you mind if I added this example to the pygame examples?
On 3/1/06, Farai Aschwanden <fash@xxxxxxxxxx> wrote:
> Hello again
>
> I let it run also on a Mac and got the same graphical bug that you
> described. Would be interersting to see if this code 1:1 would cause
> the same error on Windows.
>
> Tyger
>
>
> Am 28.02.2006 um 22:29 schrieb Kamilche:
>
> > Bob Ippolito wrote:
> >> On Feb 28, 2006, at 2:50 PM, Kamilche wrote:
> >>> I tried my app on the Mac today, and everything works fine (go
> >>> me!) except the cursors. Some of them are cut in half, some of
> >>> them are wrapping around funny. I'm compiling custom cursors in
> >>> a variety of sizes, but all multiples of 8x8. Is there a
> >>> limitation on the Mac platform regarding cursors, that I'm
> >>> unaware of?
> >> It would be useful to come up with a reproducible example of this
> >> so that if it is indeed broken, someone can figure out why and
> >> fix it.
> >> -bob
> >
> > Here ya go. Run this under Mac and Windows.
> >
> > --Kamilche
> >
> > 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)
> > quit = 0
> > while not quit:
> > pygame.event.pump()
> > for e in pygame.event.get():
> > if e.type == pygame.MOUSEBUTTONDOWN:
> > quit = 1
> > pygame.quit()
> >
> > main()
> >
>
>