Commits

Anonymous committed d9b4216

Documentation update

Comments (0)

Files changed (2)

-SDL-ctypes
-==========
+Pygame-ctypes
+=============
 
-SDL-ctypes is a Python wrapper around SDL_ using ctypes_.  SDL-ctypes is
-currently maintained by `Alex Holkner`_ and supported by `Google Summer of
-Code 2006`_.
+Pygame-ctypes is a reimplementation of Pygame_ using ctypes_.  Internally,
+it uses SDL-ctypes, a wrapper around SDL_ using ctypes.  Both Pygame-ctypes
+and SDL-ctypes are maintained by `Alex Holkner`_ and supported by
+`Google Summer of Code 2006`_.
 
 What's it for?
 --------------
 
-In its current state most of the core SDL modules have been wrapped,
-and is completely usable for applications that wish to access the
-SDL library directly.
+Pygame is a Python package which provides a simplified interface to
+the graphics, audio and input functionalities of SDL.  Until now
+Pygame was written as a C Python extension.  This reimplementation
+is written purely in Python, giving benefits such as:
 
-The eventual aim of this project is to rewrite Pygame_ using this SDL
-wrapper.  This would have several benefits over the current Python
-extension:
+* Direct access to all SDL functions and structures, including those
+  not provided by Pygame.
+* Development and extension of Pygame is greatly simplified.
+* Other implementations of Python, such as PyPy, Jython and IronPython
+  may in future be able to make use of Pygame-ctypes (support for ctypes
+  in each of these implementation is currently under development
+  or experimental).
 
-* It would allow Python programmers to extend Pygame and use extra
-  features of SDL with far less effort than is currently required.
-* The wrapper can be used on any platform that supports ctypes
-  and SDL, and requires no compilation or native code.
-* Several Python or Python-like implementations such as PyPy and
-  Pyrex are emerging which can make use of this library simply
-  by implementing ctypes.
+As far as possible Pygame-ctypes has been made API compatible with
+Pygame.  However, several new features have already been introduced
+that are not available in standard Pygame:
+
+* Support for NumPy and numarray in addition to Pygame's Numeric routines.
+* Closer integration with the `Python Imaging Library`_ (PIL) allowing
+  more image formats to be loaded and saved.
 
 Download
 --------
 
 The latest source release is:
 
-* `SDL-ctypes-0.05 <SDL-ctypes-0.05.tar.gz>`_
+* `pygame-ctypes-0.06 <pygame-ctypes-0.06.tar.gz>`_, includes the
+  latest snapshot of SDL-ctypes.
+
+In the future SDL-ctypes may also be released separately from Pygame.
+In the meantime you can extract it from the same source download; there
+are no dependencies of SDL-ctypes on Pygame-ctypes.
 
 You can also access the SVN repository directly::
 
 Documentation
 -------------
 
-Documentation included in the source distribution under the ``doc``
+Documentation is included in the source distribution under the ``doc``
 directory.  It is also browseable online:
 
-* `Manual <manual/index.html>`_
-* `API reference <api/index.html>`_
+* `Pygame-ctypes API reference <pygame-api/index.html>`_
+* `SDL-ctypes Manual <sdl-manual/index.html>`_
+* `SDL-ctypes API reference <sdl-api/index.html>`_
 
 .. _SDL: http://www.libsdl.org
 .. _ctypes: http://starship.python.net/crew/theller/ctypes
 .. _Alex Holkner: mailto:aholkner@cs.rmit.edu.au
 .. _Google Summer of Code 2006: http://code.google.com/soc
 .. _Pygame: http://www.pygame.org
+.. _Python Imaging Library: http://www.pythonware.com/library/pil

doc/sdl-manual.txt

 :address: aholkner@cs.rmit.edu.au \\\\
     http://www.pygame.org/ctypes
 
-:revision: 0.05
-:date:  4 July 2006
+:revision: 0.06
+:date:  August 2006
 
 :copyright: Copyright (c) 2006 Alex Holkner.
 
 Note that earlier versions are not available through the SDL subversion
 repository.
 
-SDL-ctypes requires Python 2.4 or later.  On Mac OS X SDL-ctypes also requires
+SDL-ctypes requires Python 2.3 or later.  On Mac OS X SDL-ctypes also requires
 PyObjC to be installed.
 
 ---------------------
 Releasing a snapshot
 ====================
 
-1. Increment revision numbers in ``setup.py`` and ``doc/manual.txt``, and
-   ensure ``CHANGELOG`` is up to date.
-2. Update ``doc/index.txt`` and generate ``index.html`` with::
+1. Increment revision numbers in ``setup.py``, ``doc/sdl-manual.txt``, 
+   ``doc/index.txt`` and ensure ``CHANGELOG`` is up to date.
+2. Build all documentation with::
 
-      python setup.py doc
+      python setup.py build_doc
 
-3. Generate user documentation (requires ``mkhowto`` from the Python source
-   and `Python LaTeX Writer
-   <http://www.rexx.com/~dkuhlman/rstpythonlatex_intro.html>`_::
+   This step requires  ``mkhowto`` from the Python source and `Python LaTeX
+   Writer <http://www.rexx.com/~dkuhlman/rstpythonlatex_intro.html>`_ to
+   generate this manual, and `Epydoc <http://epydoc.sourceforge.net>`_ 3.0
+   alpha or later for API documentation.
 
-      python setup.py manual
-
-4. Generate API documentation (requires `Epydoc
-   <http://epydoc.sourceforge.net>`_ 3.0 alpha or later)::
-
-      python setup.py apidoc
-
-5. Generate snapshot::
+3. Generate snapshot::
 
       python setup.py sdist
 
 they look like variable assignments, and the introspector misses them
 as the underlying function is declared in another module.
 
-The script ``support/prep_doc.py`` creates a package in ``build_doc``
+The script ``support/prep_doc_sdl.py`` creates a package in ``doc/.build-doc``
 by introspecting the SDL module and writing the function definitions
 and their docstrings in the standard form.  EpyDoc is then run over
-the ``build_doc`` directory to generate useful API documentation.
+the ``doc/.build-doc`` directory to generate useful API documentation.
 
 Run it with::
 
-    python support/prep_doc.py build_doc/
+    python support/prep_doc_sdl.py doc/.build-doc
 
-(it is also run automatically by setup.py within the ``apidoc`` commmand.)
+(it is also run automatically by setup.py within the ``build_doc_sdl_api``
+commmand.)
 
 Detecting changes in SDL revisions
 ==================================
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.