On Sat, 2007-08-25 at 16:09 +0200, DR0ID wrote: > Hi > > since a dictionary with rectstyle keys is not possible (because rects > are not hashable), the source did not make sense to check if the keys > where rectstyle objects. It should be the values that must be a > rectstyle. Patch changes exactly that.
This breaks backwards compatibility! Documentation for pygame 1.7 > Rect.collidedict(dict if rectstyle keys) -> key/value pair find > overlapping rectangle in a dictionary > > Returns the key/value pair of the first rectangle key in the dict that > overlaps the base rectangle. Once an overlap is found, this will stop > checking the remaining list. If no overlap is found, it will return > None. > > Remember python dictionary keys must be immutable, Rects are not > immutable, so they cannot directly be, dictionary keys. You can > convert the Rect to a tuple with the tuple() builtin command. Notice it is "rect style keys" rather then rect objects. <snip> My suggestions is, Rect.collidedictkeys <- Check against keys Rect.collidedictvalues <- Check against values and then map Rect.collidedict to the keys variety for backwards compatibility? Tim Ansell
