|
9 | 9 | non_interactive_bk = ['Agg2', 'Agg','Cairo','GD','GDK','Paint','PS', 'LaTeX', 'SVG','Template'] |
10 | 10 | all_backends = interactive_bk + non_interactive_bk |
11 | 11 |
|
| 12 | + |
12 | 13 | backend = matplotlib.get_backend() |
13 | 14 | if backend not in all_backends: |
14 | 15 | raise ValueError, 'Unrecognized backend %s' % backend |
15 | 16 |
|
16 | | -# Import the requested backend into a generic module object |
17 | | -backend_name = 'backend_'+backend.lower() |
18 | | -backend_mod = __import__('matplotlib.backends.'+backend_name, |
19 | | - globals(),locals(),[backend_name]) |
20 | 17 |
|
21 | | -# Things we pull in from all backends |
22 | | -new_figure_manager = backend_mod.new_figure_manager |
| 18 | +def pylab_setup(): |
| 19 | + 'return new_figure_manager, draw_if_interactive and show for pylab' |
| 20 | + # Import the requested backend into a generic module object |
| 21 | + backend_name = 'backend_'+backend.lower() |
| 22 | + backend_mod = __import__('matplotlib.backends.'+backend_name, |
| 23 | + globals(),locals(),[backend_name]) |
| 24 | + |
| 25 | + # Things we pull in from all backends |
| 26 | + new_figure_manager = backend_mod.new_figure_manager |
| 27 | + |
| 28 | + if hasattr(backend_mod,'backend_version'): |
| 29 | + backend_version = getattr(backend_mod,'backend_version') |
| 30 | + else: backend_version = 'unknown' |
| 31 | + |
23 | 32 |
|
24 | | -if hasattr(backend_mod,'backend_version'): |
25 | | - backend_version = getattr(backend_mod,'backend_version') |
26 | | -else: backend_version = 'unknown' |
27 | 33 |
|
| 34 | + # Now define the public API according to the kind of backend in use |
| 35 | + if backend in interactive_bk: |
| 36 | + show = backend_mod.show |
| 37 | + draw_if_interactive = backend_mod.draw_if_interactive |
| 38 | + else: # non-interactive backends |
| 39 | + def draw_if_interactive(): pass |
| 40 | + def show(): pass |
28 | 41 |
|
| 42 | + # Additional imports which only happen for certain backends. This section |
| 43 | + # should probably disappear once all backends are uniform. |
| 44 | + if backend in ['WX','WXAgg']: |
| 45 | + Toolbar = backend_mod.Toolbar |
| 46 | + __all__.append('Toolbar') |
29 | 47 |
|
30 | | -# Now define the public API according to the kind of backend in use |
31 | | -if backend in interactive_bk: |
32 | | - show = backend_mod.show |
33 | | - draw_if_interactive = backend_mod.draw_if_interactive |
34 | | -else: # non-interactive backends |
35 | | - def draw_if_interactive(): pass |
36 | | - def show(): pass |
| 48 | + matplotlib.verbose.report('backend %s version %s' % (backend,backend_version)) |
| 49 | + return new_figure_manager, draw_if_interactive, show |
37 | 50 |
|
38 | | -# Additional imports which only happen for certain backends. This section |
39 | | -# should probably disappear once all backends are uniform. |
40 | | -if backend in ['WX','WXAgg']: |
41 | | - Toolbar = backend_mod.Toolbar |
42 | | - __all__.append('Toolbar') |
43 | 51 |
|
44 | | -matplotlib.verbose.report('backend %s version %s' % (backend,backend_version)) |
|
0 commit comments