]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/misc/fixdc.py
move wxPython to new trunk
[wxWidgets.git] / wxPython / misc / fixdc.py
diff --git a/wxPython/misc/fixdc.py b/wxPython/misc/fixdc.py
deleted file mode 100644 (file)
index 29e9800..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-"""
-This module will do surgery on the wx.DC class in wxPython 2.5.1.5 to
-make it act like the wx.DC class in later versions will.  To use this
-module simply import it in one of your program's modules before you
-use any DC's.  It does its work upon import and then is done.
-
-This module will *only* do something if it is imported in an app
-running on wxPython 2.5.1.5, for all other versions it will do
-nothing.  This means that you can include it with your application and
-then if your user is on 2.5.1.5 the DC methods will be updated, but if
-they are on a newer version (or an older one for that matter) then
-nothing will be done and your code using DCs will still be compatible.
-
-So what does it do? In a nutshell, the old 2.4.x style of method
-names, where the 'normal' name takes separate parameters for x, y,
-width and height will be restored, and the new methods that take
-wx.Point and/or wx.Size (which can also be converted from 2-element
-sequences) will be given new non-default method names.  The 2.5.1.5
-'XY' style names will be removed.  The new names for the 'Point/Size'
-methods are:
-
-    * BlitPointSize
-    * CrossHairPoint
-    * DrawArcPoint
-    * DrawBitmapPoint
-    * DrawCheckMarkRect
-    * DrawCirclePoint
-    * DrawEllipsePointSize
-    * DrawEllipticArcPointSize
-    * DrawIconPoint
-    * DrawLinePoint
-    * DrawPointPoint
-    * DrawRectanglePointSize
-    * DrawRotatedTextPoint
-    * DrawRoundedRectanglePointSize
-    * DrawTextPoint
-    * FloodFillPoint
-    * GetPixelPoint
-    * SetClippingRegionPointSize
-
-Please note that only the names that you access the methods by will be
-changed.  The names used in docstrings as well as the names used to
-call the extenaion functions and the names used when raising
-exceptions will still use the old names.  (Of course once a new
-version of wxPython has been built with this new style then this will
-no longer apply.  The new names will be the real names.)  For
-example::
-
-  Traceback (most recent call last):
-    File "/usr/lib/python2.3/site-packages/wx/lib/buttons.py", line 272, in OnPaint
-      self.DrawBezel(dc, x1, y1, x2, y2)
-    File "/usr/lib/python2.3/site-packages/wx/lib/buttons.py", line 220, in DrawBezel
-      dc.DrawLine((x1+i, y1), (x1+i, y2-i))
-    File "/usr/lib/python2.3/site-packages/wx/gdi.py", line 2293, in DrawLine
-      return _gdi.DC_DrawLineXY(*args, **kwargs)
-  TypeError: DC_DrawLineXY() takes exactly 5 arguments (3 given)
-
-    
-WARNING: If you import this module then the wx.DC class will be
-         changed for the entire application, so if you use code from
-         the wx.lib package (or 3rd party modules that have already
-         been converted to the doomed 2.5.1.5 implementaion of the DC
-         Draw methods) then that code will break as shown above.  This
-         is an all-or-nothing fix, (just like the next version of
-         wxPython will be,) so you *will* need to do something to
-         resolve this situation if you run into it.  The best thing to
-         do of course is to correct the library module to work with
-         the corrected DC semantics and then send me a patch, although
-         it probably won't be too long before the library modules are
-         updated in CVS so you could get a copy of them there.
-
---Robin
-"""
-
-import wx
-
-_names = [
-    ("BlitXY",                  "Blit",                 "BlitPointSize"),
-    ("CrossHairXY",             "CrossHair",            "CrossHairPoint"),
-    ("DrawArcXY",               "DrawArc",              "DrawArcPoint"),
-    ("DrawBitmapXY",            "DrawBitmap",           "DrawBitmapPoint"),
-    ("DrawCheckMarkXY",         "DrawCheckMark",        "DrawCheckMarkRect"),
-    ("DrawCircleXY",            "DrawCircle",           "DrawCirclePoint"),
-    ("DrawEllipseXY",           "DrawEllipse",          "DrawEllipsePointSize"),
-    ("DrawEllipticArcXY",       "DrawEllipticArc",      "DrawEllipticArcPointSize"),
-    ("DrawIconXY",              "DrawIcon",             "DrawIconPoint"),
-    ("DrawLineXY",              "DrawLine",             "DrawLinePoint"),
-    ("DrawPointXY",             "DrawPoint",            "DrawPointPoint"),
-    ("DrawRectangleXY",         "DrawRectangle",        "DrawRectanglePointSize"),
-    ("DrawRotatedTextXY",       "DrawRotatedText",      "DrawRotatedTextPoint"),
-    ("DrawRoundedRectangleXY",  "DrawRoundedRectangle", "DrawRoundedRectanglePointSize"),
-    ("DrawTextXY",              "DrawText",             "DrawTextPoint"),
-    ("FloodFillXY",             "FloodFill",            "FloodFillPoint"),
-    ("GetPixelXY",              "GetPixel",             "GetPixelPoint"),
-    ("SetClippingRegionXY",     "SetClippingRegion",    "SetClippingRegionPointSize"),
-]
-
-
-# this is a bit of handy code from the Python Cookbook
-def _renamefunction(function, name):
-    """
-    This function returns a function identical to the given one, but
-    with the given name.
-    """
-    from types import FunctionType, CodeType
-    
-    c = function.func_code
-    if c.co_name != name:
-        # rename the code object.
-        c = CodeType(c.co_argcount, c.co_nlocals, c.co_stacksize,
-                     c.co_flags, c.co_code, c.co_consts,
-                     c.co_names, c.co_varnames, c.co_filename,
-                     name, c.co_firstlineno, c.co_lnotab)
-    if function.func_defaults != None:
-        return FunctionType(c, function.func_globals, name,
-                            function.func_defaults)
-    return FunctionType(c, function.func_globals, name)
-
-
-if wx.VERSION[:4] == (2,5,1,5):
-    for old, norm, new in _names:
-        m_old  = getattr(wx.DC, old)
-        m_norm = getattr(wx.DC, norm)
-        setattr(wx.DC, new,  _renamefunction(m_norm, new))
-        setattr(wx.DC, norm, _renamefunction(m_old, norm))
-        delattr(wx.DC, old)
-        
-    del old, norm, new, m_old, m_norm
-
-