Anonymous avatar Anonymous committed 73e13c6

UserRect added

Comments (0)

Files changed (4)

 #This is a list of changes in pygame's history.
 
+Nov 30, 2000
+	UserRect module added
+
 Nov 29, 2000
 	joystick module rewrite finished [BREAK]
 	cdrom module rewrite finished [BREAK]
+##    pygame - Python Game Library
+##    Copyright (C) 2000  Pete Shinners
+##
+##    This library is free software; you can redistribute it and/or
+##    modify it under the terms of the GNU Library General Public
+##    License as published by the Free Software Foundation; either
+##    version 2 of the License, or (at your option) any later version.
+##
+##    This library is distributed in the hope that it will be useful,
+##    but WITHOUT ANY WARRANTY; without even the implied warranty of
+##    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+##    Library General Public License for more details.
+##
+##    You should have received a copy of the GNU Library General Public
+##    License along with this library; if not, write to the Free
+##    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+##
+##    Pete Shinners
+##    pete@shinners.org
+
+"UserRect, python class wrapped around the pygame Rect type"
+
+from pygame.rect import Rect
+
+class UserRect:
+    "Python class for the pygame Rect type"
+    def __init__(self, *args):
+        try: self.__dict__['rect'] = Rect(*args)
+        except TypeError:
+            raise TypeError, 'Argument must be rectstyle object'
+
+    def __getattr__(self, name):
+        return getattr(self.rect, name)
+    def __setattr__(self, name, val):
+        if name != 'rect':
+            setattr(self.__dict__['rect'], name, val)
+    def __len__(self): return 4
+    def __getitem__(self, i): return self.rect[i]
+    def __setitem__(self, i, val): self.rect[i] = val
+    def __getslice__(self, i, j): return self.rect[i:j]
+    def __setslice__(self, i, j, val): self.rect[i:j] = val
+    def __nonzero__(self): return nonzero(self.rect)
+    def __cmp__(self, o): return cmp(self.rect, o)
+    def __repr__(self):
+        return '<UserRect(%d, %d, %d, %d)>' % tuple(self.rect)
+    def __str__(self):
+        return '<UserRect(%d, %d, %d, %d)>' % tuple(self.rect)
+
     /*DOC*/    "You can call the CD.get_name() and CD.get_id() functions\n"
     /*DOC*/    "without initializing the CD object.\n"
     /*DOC*/    "\n"
-    /*DOC*/    "Be sure to understand the difference between the cdrom module\n"
+    /*DOC*/    "Be sure to understand there is a difference between the cdrom module\n"
     /*DOC*/    "and the CD objects.\n"
     /*DOC*/ ;
 
     /*DOC*/    "any input handling. Once a joystick object has been initialized, it will\n"
     /*DOC*/    "start to send joystick events to the input queue.\n"
     /*DOC*/    "\n"
-    /*DOC*/    "Be sure to understand the difference between the joystick module\n"
+    /*DOC*/    "Be sure to understand there is a difference between the joystick module\n"
     /*DOC*/    "and the Joystick objects.\n"
     /*DOC*/ ;
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.