Revision: 6530
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6530&view=rev
Author:   jdh2358
Date:     2008-12-09 03:49:11 +0000 (Tue, 09 Dec 2008)

Log Message:
-----------
added mdehoon's native macosx patch

Modified Paths:
--------------
    trunk/matplotlib/CHANGELOG
    trunk/matplotlib/lib/matplotlib/mathtext.py
    trunk/matplotlib/lib/matplotlib/rcsetup.py
    trunk/matplotlib/matplotlibrc.template
    trunk/matplotlib/setup.cfg.template
    trunk/matplotlib/setup.py
    trunk/matplotlib/setupext.py

Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG  2008-12-09 03:37:16 UTC (rev 6529)
+++ trunk/matplotlib/CHANGELOG  2008-12-09 03:49:11 UTC (rev 6530)
@@ -1,3 +1,5 @@
+2008-12-08 Added mdehoon's native maxosx backend from sf patch 2179017
+
 2008-12-08 Removed the prints in the set_*style commands.  Return the
            list of pprinted strings instead
 

Modified: trunk/matplotlib/lib/matplotlib/mathtext.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/mathtext.py 2008-12-09 03:37:16 UTC (rev 
6529)
+++ trunk/matplotlib/lib/matplotlib/mathtext.py 2008-12-09 03:49:11 UTC (rev 
6530)
@@ -2749,7 +2749,8 @@
         'ps'    : MathtextBackendPs,
         'pdf'   : MathtextBackendPdf,
         'svg'   : MathtextBackendSvg,
-        'cairo' : MathtextBackendCairo
+        'cairo' : MathtextBackendCairo,
+        'macosx': MathtextBackendAgg,
         }
 
     _font_type_mapping = {

Modified: trunk/matplotlib/lib/matplotlib/rcsetup.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/rcsetup.py  2008-12-09 03:37:16 UTC (rev 
6529)
+++ trunk/matplotlib/lib/matplotlib/rcsetup.py  2008-12-09 03:49:11 UTC (rev 
6530)
@@ -23,8 +23,8 @@
 # The capitalized forms are needed for ipython at present; this may
 # change for later versions.
 
-interactive_bk = ['GTK', 'GTKAgg', 'GTKCairo', 'FltkAgg', 'QtAgg', 'Qt4Agg',
-                  'TkAgg', 'WX', 'WXAgg', 'CocoaAgg']
+interactive_bk = ['GTK', 'GTKAgg', 'GTKCairo', 'FltkAgg', 'MacOSX',
+                  'QtAgg', 'Qt4Agg', 'TkAgg', 'WX', 'WXAgg', 'CocoaAgg']
 
 
 non_interactive_bk = ['agg', 'cairo', 'emf', 'gdk',

Modified: trunk/matplotlib/matplotlibrc.template
===================================================================
--- trunk/matplotlib/matplotlibrc.template      2008-12-09 03:37:16 UTC (rev 
6529)
+++ trunk/matplotlib/matplotlibrc.template      2008-12-09 03:49:11 UTC (rev 
6530)
@@ -24,9 +24,9 @@
 #### CONFIGURATION BEGINS HERE
 
 # the default backend; one of GTK GTKAgg GTKCairo CocoaAgg FltkAgg
-# QtAgg Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG Template You
-# can also deploy your own backend outside of matplotlib by referring
-# to the module name (which must be in the PYTHONPATH) as
+# MacOSX QtAgg Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG Template
+# You can also deploy your own backend outside of matplotlib by
+# referring to the module name (which must be in the PYTHONPATH) as
 # 'module://my_backend'
 backend      : %(backend)s
 

Modified: trunk/matplotlib/setup.cfg.template
===================================================================
--- trunk/matplotlib/setup.cfg.template 2008-12-09 03:37:16 UTC (rev 6529)
+++ trunk/matplotlib/setup.cfg.template 2008-12-09 03:49:11 UTC (rev 6530)
@@ -32,9 +32,9 @@
 
 [gui_support]
 # Matplotlib supports multiple GUI toolkits, including Cocoa,
-# GTK, Fltk, Qt, Qt4, Tk, and WX. Support for many of these
-# toolkits requires AGG, the Anti-Grain Geometry library, which
-# is provided by matplotlib and built by default.
+# GTK, Fltk, MacOSX, Qt, Qt4, Tk, and WX. Support for many of
+# these toolkits requires AGG, the Anti-Grain Geometry library,
+# which is provided by matplotlib and built by default.
 #
 # Some backends are written in pure Python, and others require
 # extension code to be compiled. By default, matplotlib checks
@@ -59,16 +59,17 @@
 #gtkagg = False
 #tkagg = False
 #wxagg = False
+#macosx = False
 
 [rc_options]
 # User-configurable options
 #
-# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg,
-# GTKCairo, FltkAgg, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg.
+# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg, GTKCairo,
+# FltkAgg, MacOSX, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg.
 #
 # The Agg, Ps, Pdf and SVG backends do not require external
-# dependencies. Do not choose GTK, GTKAgg, GTKCairo, TkAgg or WXAgg if
-# you have disabled the relevent extension modules.  Agg will be used
+# dependencies. Do not choose GTK, GTKAgg, GTKCairo, MacOSX, TkAgg or WXAgg
+# if you have disabled the relevent extension modules.  Agg will be used
 # by default.
 #
 #backend = Agg

Modified: trunk/matplotlib/setup.py
===================================================================
--- trunk/matplotlib/setup.py   2008-12-09 03:37:16 UTC (rev 6529)
+++ trunk/matplotlib/setup.py   2008-12-09 03:49:11 UTC (rev 6530)
@@ -26,15 +26,15 @@
 import glob
 from distutils.core import setup
 from setupext import build_agg, build_gtkagg, build_tkagg, build_wxagg,\
-     build_ft2font, build_image, build_windowing, build_path, \
+     build_macosx, build_ft2font, build_image, build_windowing, build_path, \
      build_contour, build_delaunay, build_nxutils, build_traits, build_gdk, \
      build_ttconv, print_line, print_status, print_message, \
      print_raw, check_for_freetype, check_for_libpng, check_for_gtk, \
-     check_for_tk, check_for_wx, check_for_numpy, check_for_qt, check_for_qt4, 
\
-     check_for_cairo, check_provide_traits, check_provide_pytz, \
-     check_provide_dateutil, check_provide_configobj, check_for_dvipng, \
-     check_for_ghostscript, check_for_latex, check_for_pdftops, \
-     check_for_datetime, options, build_png
+     check_for_tk, check_for_wx, check_for_macosx, check_for_numpy, \
+     check_for_qt, check_for_qt4, check_for_cairo, check_provide_traits, \
+     check_provide_pytz, check_provide_dateutil, check_provide_configobj, \
+     check_for_dvipng, check_for_ghostscript, check_for_latex, \
+     check_for_pdftops, check_for_datetime, options, build_png
 #import distutils.sysconfig
 
 # jdh
@@ -149,6 +149,11 @@
         build_gtkagg(ext_modules, packages)
         rc['backend'] = 'GTKAgg'
 
+if options['build_macosx']:
+    if check_for_macosx() or (options['build_macosx'] is True):
+        build_macosx(ext_modules, packages)
+        rc['backend'] = 'MacOSX'
+
 # These are informational only.  We don't build any extensions for them.
 check_for_qt()
 check_for_qt4()

Modified: trunk/matplotlib/setupext.py
===================================================================
--- trunk/matplotlib/setupext.py        2008-12-09 03:37:16 UTC (rev 6529)
+++ trunk/matplotlib/setupext.py        2008-12-09 03:49:11 UTC (rev 6530)
@@ -76,6 +76,7 @@
 BUILT_TTCONV    = False
 BUILT_GTKAGG    = False
 BUILT_IMAGE     = False
+BUILT_MACOSX    = False
 BUILT_TKAGG     = False
 BUILT_WXAGG     = False
 BUILT_WINDOWING = False
@@ -105,6 +106,7 @@
            'build_gtkagg': 'auto',
            'build_tkagg': 'auto',
            'build_wxagg': 'auto',
+           'build_macosx': 'auto',
            'build_image': True,
            'build_windowing': True,
            'backend': None,
@@ -867,6 +869,17 @@
         print_message(explanation)
     return gotit
 
+def check_for_macosx():
+    gotit = False
+    import sys
+    if sys.platform=='darwin':
+        gotit = True
+    if gotit:
+        print_status("Mac OS X native", "yes")
+    else:
+        print_status("Mac OS X native", "no")
+    return gotit
+
 def query_tcltk():
     """Tries to open a Tk window in order to query the Tk object about its 
library paths.
        This should never be called more than once by the same process, as Tk 
intricacies
@@ -1214,6 +1227,19 @@
      ext_modules.append(module)
      BUILT_WXAGG = True
 
+
+def build_macosx(ext_modules, packages):
+    global BUILT_MACOSX
+    if BUILT_MACOSX: return # only build it if you you haven't already
+    module = Extension('matplotlib.backends._macosx',
+                       ['src/_macosx.m'],
+                       extra_link_args = ['-framework','Cocoa'],
+                      )
+    add_numpy_flags(module)
+    ext_modules.append(module)
+    BUILT_MACOSX = True
+
+
 def build_png(ext_modules, packages):
     global BUILT_PNG
     if BUILT_PNG: return # only build it if you you haven't already


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to