Skip to content

Commit 307a753

Browse files
committed
added initial swig wrapper
svn path=/trunk/matplotlib/; revision=986
1 parent dd81ec4 commit 307a753

25 files changed

+10158
-398
lines changed

CHANGELOG

+13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
New entries should be added at the top
22

3+
4+
5+
2005-03-01 Added start of proper agg SWIG wrapper. I would like to
6+
expose agg functionality directly a the user level and this
7+
module will serve that purpose eventually, and will
8+
hopefully take over most of the functionality of the
9+
current _image and _backend_agg modules. - JDH
10+
11+
2005-02-28 Fixed polyfit / polyval to convert input args to float
12+
arrays - JDH
13+
14+
315
2005-02-25 Add experimental feature to backend_gtk.py to enable/disable
416
double buffering (DBL_BUFFER=True/False) - SC
517

@@ -9,6 +21,7 @@ New entries should be added at the top
921
hex2color() use a regular expression to check the color string is
1022
valid - SC
1123

24+
1225
2005-02-23 Added rc param ps.useafm so backend ps can use native afm
1326
fonts or truetype. afme breaks mathtext but causes much
1427
smaller font sizes and may result in images that display

MANIFEST.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ include API_CHANGES CHANGELOG KNOWN_BUGS INSTALL NUMARRAY_ISSUES
22
include INTERACTIVE TODO
33
include Makefile MANIFEST.in MANIFEST
44
include .matplotlibrc
5-
include __init__.py setupext.py setup.py
5+
include __init__.py setupext.py setup.py makeswig.py
66
include examples/data/*
77
include images/*
88
recursive-include fonts *
@@ -13,3 +13,4 @@ recursive-include src *.cpp *.c *.h
1313
recursive-include CXX *.cxx *.hxx *.c
1414
recursive-include agg22 *
1515
recursive-include lib *
16+
recursive-include swig *

TODO

+6-1
Original file line numberDiff line numberDiff line change
@@ -655,4 +655,9 @@ ZeroDivisionError: SeparableTransformation::eval_scalars yin interval is zero; c
655655

656656
-- nan handling?
657657

658-
-- kwarg processing - eg raise on unrecognized kwargs
658+
-- kwarg processing - eg raise on unrecognized kwargs
659+
660+
-- provide a literal kwarg for text strings to pass thru directly to
661+
the backend, eg ps symbol formatting
662+
663+
-- add gc warning to oo agg and FAQ

lib/matplotlib/agg.py

+345
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,345 @@
1+
# This file was created automatically by SWIG.
2+
# Don't modify this file, modify the SWIG interface instead.
3+
# This file is compatible with both classic and new-style classes.
4+
5+
import _agg
6+
7+
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
8+
if (name == "this"):
9+
if isinstance(value, class_type):
10+
self.__dict__[name] = value.this
11+
if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
12+
del value.thisown
13+
return
14+
method = class_type.__swig_setmethods__.get(name,None)
15+
if method: return method(self,value)
16+
if (not static) or hasattr(self,name) or (name == "thisown"):
17+
self.__dict__[name] = value
18+
else:
19+
raise AttributeError("You cannot add attributes to %s" % self)
20+
21+
def _swig_setattr(self,class_type,name,value):
22+
return _swig_setattr_nondynamic(self,class_type,name,value,0)
23+
24+
def _swig_getattr(self,class_type,name):
25+
method = class_type.__swig_getmethods__.get(name,None)
26+
if method: return method(self)
27+
raise AttributeError,name
28+
29+
import types
30+
try:
31+
_object = types.ObjectType
32+
_newclass = 1
33+
except AttributeError:
34+
class _object : pass
35+
_newclass = 0
36+
del types
37+
38+
39+
cover_shift = _agg.cover_shift
40+
cover_size = _agg.cover_size
41+
cover_mask = _agg.cover_mask
42+
cover_none = _agg.cover_none
43+
cover_full = _agg.cover_full
44+
45+
deg2rad = _agg.deg2rad
46+
47+
rad2deg = _agg.rad2deg
48+
path_cmd_stop = _agg.path_cmd_stop
49+
path_cmd_move_to = _agg.path_cmd_move_to
50+
path_cmd_line_to = _agg.path_cmd_line_to
51+
path_cmd_curve3 = _agg.path_cmd_curve3
52+
path_cmd_curve4 = _agg.path_cmd_curve4
53+
path_cmd_end_poly = _agg.path_cmd_end_poly
54+
path_cmd_mask = _agg.path_cmd_mask
55+
path_flags_none = _agg.path_flags_none
56+
path_flags_ccw = _agg.path_flags_ccw
57+
path_flags_cw = _agg.path_flags_cw
58+
path_flags_close = _agg.path_flags_close
59+
path_flags_mask = _agg.path_flags_mask
60+
61+
is_vertex = _agg.is_vertex
62+
63+
is_stop = _agg.is_stop
64+
65+
is_move_to = _agg.is_move_to
66+
67+
is_line_to = _agg.is_line_to
68+
69+
is_curve = _agg.is_curve
70+
71+
is_curve3 = _agg.is_curve3
72+
73+
is_curve4 = _agg.is_curve4
74+
75+
is_end_poly = _agg.is_end_poly
76+
77+
is_close = _agg.is_close
78+
79+
is_next_poly = _agg.is_next_poly
80+
81+
is_cw = _agg.is_cw
82+
83+
is_ccw = _agg.is_ccw
84+
85+
is_oriented = _agg.is_oriented
86+
87+
is_closed = _agg.is_closed
88+
89+
get_close_flag = _agg.get_close_flag
90+
91+
clear_orientation = _agg.clear_orientation
92+
93+
get_orientation = _agg.get_orientation
94+
95+
set_orientation = _agg.set_orientation
96+
class point_type(_object):
97+
__swig_setmethods__ = {}
98+
__setattr__ = lambda self, name, value: _swig_setattr(self, point_type, name, value)
99+
__swig_getmethods__ = {}
100+
__getattr__ = lambda self, name: _swig_getattr(self, point_type, name)
101+
def __repr__(self):
102+
return "<%s.%s; proxy of C++ agg::point_type instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
103+
__swig_setmethods__["x"] = _agg.point_type_x_set
104+
__swig_getmethods__["x"] = _agg.point_type_x_get
105+
if _newclass:x = property(_agg.point_type_x_get, _agg.point_type_x_set)
106+
__swig_setmethods__["y"] = _agg.point_type_y_set
107+
__swig_getmethods__["y"] = _agg.point_type_y_get
108+
if _newclass:y = property(_agg.point_type_y_get, _agg.point_type_y_set)
109+
def __init__(self, *args):
110+
_swig_setattr(self, point_type, 'this', _agg.new_point_type(*args))
111+
_swig_setattr(self, point_type, 'thisown', 1)
112+
def __del__(self, destroy=_agg.delete_point_type):
113+
try:
114+
if self.thisown: destroy(self)
115+
except: pass
116+
117+
118+
class point_typePtr(point_type):
119+
def __init__(self, this):
120+
_swig_setattr(self, point_type, 'this', this)
121+
if not hasattr(self,"thisown"): _swig_setattr(self, point_type, 'thisown', 0)
122+
_swig_setattr(self, point_type,self.__class__,point_type)
123+
_agg.point_type_swigregister(point_typePtr)
124+
cvar = _agg.cvar
125+
pi = cvar.pi
126+
127+
class vertex_type(_object):
128+
__swig_setmethods__ = {}
129+
__setattr__ = lambda self, name, value: _swig_setattr(self, vertex_type, name, value)
130+
__swig_getmethods__ = {}
131+
__getattr__ = lambda self, name: _swig_getattr(self, vertex_type, name)
132+
def __repr__(self):
133+
return "<%s.%s; proxy of C++ agg::vertex_type instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
134+
__swig_setmethods__["x"] = _agg.vertex_type_x_set
135+
__swig_getmethods__["x"] = _agg.vertex_type_x_get
136+
if _newclass:x = property(_agg.vertex_type_x_get, _agg.vertex_type_x_set)
137+
__swig_setmethods__["y"] = _agg.vertex_type_y_set
138+
__swig_getmethods__["y"] = _agg.vertex_type_y_get
139+
if _newclass:y = property(_agg.vertex_type_y_get, _agg.vertex_type_y_set)
140+
__swig_setmethods__["cmd"] = _agg.vertex_type_cmd_set
141+
__swig_getmethods__["cmd"] = _agg.vertex_type_cmd_get
142+
if _newclass:cmd = property(_agg.vertex_type_cmd_get, _agg.vertex_type_cmd_set)
143+
def __init__(self, *args):
144+
_swig_setattr(self, vertex_type, 'this', _agg.new_vertex_type(*args))
145+
_swig_setattr(self, vertex_type, 'thisown', 1)
146+
def __del__(self, destroy=_agg.delete_vertex_type):
147+
try:
148+
if self.thisown: destroy(self)
149+
except: pass
150+
151+
152+
class vertex_typePtr(vertex_type):
153+
def __init__(self, this):
154+
_swig_setattr(self, vertex_type, 'this', this)
155+
if not hasattr(self,"thisown"): _swig_setattr(self, vertex_type, 'thisown', 0)
156+
_swig_setattr(self, vertex_type,self.__class__,vertex_type)
157+
_agg.vertex_type_swigregister(vertex_typePtr)
158+
159+
class rect(_object):
160+
__swig_setmethods__ = {}
161+
__setattr__ = lambda self, name, value: _swig_setattr(self, rect, name, value)
162+
__swig_getmethods__ = {}
163+
__getattr__ = lambda self, name: _swig_getattr(self, rect, name)
164+
def __repr__(self):
165+
return "<%s.%s; proxy of C++ agg::rect_base<int > instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
166+
__swig_setmethods__["x1"] = _agg.rect_x1_set
167+
__swig_getmethods__["x1"] = _agg.rect_x1_get
168+
if _newclass:x1 = property(_agg.rect_x1_get, _agg.rect_x1_set)
169+
__swig_setmethods__["y1"] = _agg.rect_y1_set
170+
__swig_getmethods__["y1"] = _agg.rect_y1_get
171+
if _newclass:y1 = property(_agg.rect_y1_get, _agg.rect_y1_set)
172+
__swig_setmethods__["x2"] = _agg.rect_x2_set
173+
__swig_getmethods__["x2"] = _agg.rect_x2_get
174+
if _newclass:x2 = property(_agg.rect_x2_get, _agg.rect_x2_set)
175+
__swig_setmethods__["y2"] = _agg.rect_y2_set
176+
__swig_getmethods__["y2"] = _agg.rect_y2_get
177+
if _newclass:y2 = property(_agg.rect_y2_get, _agg.rect_y2_set)
178+
def __init__(self, *args):
179+
_swig_setattr(self, rect, 'this', _agg.new_rect(*args))
180+
_swig_setattr(self, rect, 'thisown', 1)
181+
def normalize(*args): return _agg.rect_normalize(*args)
182+
def clip(*args): return _agg.rect_clip(*args)
183+
def is_valid(*args): return _agg.rect_is_valid(*args)
184+
def __del__(self, destroy=_agg.delete_rect):
185+
try:
186+
if self.thisown: destroy(self)
187+
except: pass
188+
189+
190+
class rectPtr(rect):
191+
def __init__(self, this):
192+
_swig_setattr(self, rect, 'this', this)
193+
if not hasattr(self,"thisown"): _swig_setattr(self, rect, 'thisown', 0)
194+
_swig_setattr(self, rect,self.__class__,rect)
195+
_agg.rect_swigregister(rectPtr)
196+
197+
class rect_d(_object):
198+
__swig_setmethods__ = {}
199+
__setattr__ = lambda self, name, value: _swig_setattr(self, rect_d, name, value)
200+
__swig_getmethods__ = {}
201+
__getattr__ = lambda self, name: _swig_getattr(self, rect_d, name)
202+
def __repr__(self):
203+
return "<%s.%s; proxy of C++ agg::rect_base<double > instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
204+
__swig_setmethods__["x1"] = _agg.rect_d_x1_set
205+
__swig_getmethods__["x1"] = _agg.rect_d_x1_get
206+
if _newclass:x1 = property(_agg.rect_d_x1_get, _agg.rect_d_x1_set)
207+
__swig_setmethods__["y1"] = _agg.rect_d_y1_set
208+
__swig_getmethods__["y1"] = _agg.rect_d_y1_get
209+
if _newclass:y1 = property(_agg.rect_d_y1_get, _agg.rect_d_y1_set)
210+
__swig_setmethods__["x2"] = _agg.rect_d_x2_set
211+
__swig_getmethods__["x2"] = _agg.rect_d_x2_get
212+
if _newclass:x2 = property(_agg.rect_d_x2_get, _agg.rect_d_x2_set)
213+
__swig_setmethods__["y2"] = _agg.rect_d_y2_set
214+
__swig_getmethods__["y2"] = _agg.rect_d_y2_get
215+
if _newclass:y2 = property(_agg.rect_d_y2_get, _agg.rect_d_y2_set)
216+
def __init__(self, *args):
217+
_swig_setattr(self, rect_d, 'this', _agg.new_rect_d(*args))
218+
_swig_setattr(self, rect_d, 'thisown', 1)
219+
def normalize(*args): return _agg.rect_d_normalize(*args)
220+
def clip(*args): return _agg.rect_d_clip(*args)
221+
def is_valid(*args): return _agg.rect_d_is_valid(*args)
222+
def __del__(self, destroy=_agg.delete_rect_d):
223+
try:
224+
if self.thisown: destroy(self)
225+
except: pass
226+
227+
228+
class rect_dPtr(rect_d):
229+
def __init__(self, this):
230+
_swig_setattr(self, rect_d, 'this', this)
231+
if not hasattr(self,"thisown"): _swig_setattr(self, rect_d, 'thisown', 0)
232+
_swig_setattr(self, rect_d,self.__class__,rect_d)
233+
_agg.rect_d_swigregister(rect_dPtr)
234+
235+
236+
unite_rectangles = _agg.unite_rectangles
237+
238+
unite_rectangles_d = _agg.unite_rectangles_d
239+
240+
intersect_rectangles = _agg.intersect_rectangles
241+
242+
intersect_rectangles_d = _agg.intersect_rectangles_d
243+
class trans_affine(_object):
244+
__swig_setmethods__ = {}
245+
__setattr__ = lambda self, name, value: _swig_setattr(self, trans_affine, name, value)
246+
__swig_getmethods__ = {}
247+
__getattr__ = lambda self, name: _swig_getattr(self, trans_affine, name)
248+
def __repr__(self):
249+
return "<%s.%s; proxy of C++ agg::trans_affine instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
250+
def __init__(self, *args):
251+
_swig_setattr(self, trans_affine, 'this', _agg.new_trans_affine(*args))
252+
_swig_setattr(self, trans_affine, 'thisown', 1)
253+
def parl_to_parl(*args): return _agg.trans_affine_parl_to_parl(*args)
254+
def rect_to_parl(*args): return _agg.trans_affine_rect_to_parl(*args)
255+
def parl_to_rect(*args): return _agg.trans_affine_parl_to_rect(*args)
256+
def reset(*args): return _agg.trans_affine_reset(*args)
257+
def multiply(*args): return _agg.trans_affine_multiply(*args)
258+
def premultiply(*args): return _agg.trans_affine_premultiply(*args)
259+
def invert(*args): return _agg.trans_affine_invert(*args)
260+
def flip_x(*args): return _agg.trans_affine_flip_x(*args)
261+
def flip_y(*args): return _agg.trans_affine_flip_y(*args)
262+
def as_vec6(*args): return _agg.trans_affine_as_vec6(*args)
263+
def load_from(*args): return _agg.trans_affine_load_from(*args)
264+
def __imul__(*args): return _agg.trans_affine___imul__(*args)
265+
def __mul__(*args): return _agg.trans_affine___mul__(*args)
266+
def __invert__(*args): return _agg.trans_affine___invert__(*args)
267+
def __eq__(*args): return _agg.trans_affine___eq__(*args)
268+
def __ne__(*args): return _agg.trans_affine___ne__(*args)
269+
def transform(*args): return _agg.trans_affine_transform(*args)
270+
def inverse_transform(*args): return _agg.trans_affine_inverse_transform(*args)
271+
def determinant(*args): return _agg.trans_affine_determinant(*args)
272+
def scale(*args): return _agg.trans_affine_scale(*args)
273+
def is_identity(*args): return _agg.trans_affine_is_identity(*args)
274+
def is_equal(*args): return _agg.trans_affine_is_equal(*args)
275+
def get_rotation(*args): return _agg.trans_affine_get_rotation(*args)
276+
def get_translation(*args): return _agg.trans_affine_get_translation(*args)
277+
def get_scaling(*args): return _agg.trans_affine_get_scaling(*args)
278+
def __del__(self, destroy=_agg.delete_trans_affine):
279+
try:
280+
if self.thisown: destroy(self)
281+
except: pass
282+
283+
284+
class trans_affinePtr(trans_affine):
285+
def __init__(self, this):
286+
_swig_setattr(self, trans_affine, 'this', this)
287+
if not hasattr(self,"thisown"): _swig_setattr(self, trans_affine, 'thisown', 0)
288+
_swig_setattr(self, trans_affine,self.__class__,trans_affine)
289+
_agg.trans_affine_swigregister(trans_affinePtr)
290+
291+
class path_storage(_object):
292+
__swig_setmethods__ = {}
293+
__setattr__ = lambda self, name, value: _swig_setattr(self, path_storage, name, value)
294+
__swig_getmethods__ = {}
295+
__getattr__ = lambda self, name: _swig_getattr(self, path_storage, name)
296+
def __repr__(self):
297+
return "<%s.%s; proxy of C++ agg::path_storage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
298+
def __del__(self, destroy=_agg.delete_path_storage):
299+
try:
300+
if self.thisown: destroy(self)
301+
except: pass
302+
303+
def __init__(self, *args):
304+
_swig_setattr(self, path_storage, 'this', _agg.new_path_storage(*args))
305+
_swig_setattr(self, path_storage, 'thisown', 1)
306+
def remove_all(*args): return _agg.path_storage_remove_all(*args)
307+
def last_vertex(*args): return _agg.path_storage_last_vertex(*args)
308+
def prev_vertex(*args): return _agg.path_storage_prev_vertex(*args)
309+
def rel_to_abs(*args): return _agg.path_storage_rel_to_abs(*args)
310+
def move_to(*args): return _agg.path_storage_move_to(*args)
311+
def move_rel(*args): return _agg.path_storage_move_rel(*args)
312+
def line_to(*args): return _agg.path_storage_line_to(*args)
313+
def line_rel(*args): return _agg.path_storage_line_rel(*args)
314+
def arc_to(*args): return _agg.path_storage_arc_to(*args)
315+
def arc_rel(*args): return _agg.path_storage_arc_rel(*args)
316+
def curve3(*args): return _agg.path_storage_curve3(*args)
317+
def curve3_rel(*args): return _agg.path_storage_curve3_rel(*args)
318+
def curve4(*args): return _agg.path_storage_curve4(*args)
319+
def curve4_rel(*args): return _agg.path_storage_curve4_rel(*args)
320+
def end_poly(*args): return _agg.path_storage_end_poly(*args)
321+
def close_polygon(*args): return _agg.path_storage_close_polygon(*args)
322+
def add_poly(*args): return _agg.path_storage_add_poly(*args)
323+
def add_vertices(*args): return _agg.path_storage_add_vertices(*args)
324+
def start_new_path(*args): return _agg.path_storage_start_new_path(*args)
325+
def copy_from(*args): return _agg.path_storage_copy_from(*args)
326+
def total_vertices(*args): return _agg.path_storage_total_vertices(*args)
327+
def command(*args): return _agg.path_storage_command(*args)
328+
def rewind(*args): return _agg.path_storage_rewind(*args)
329+
def vertex(*args): return _agg.path_storage_vertex(*args)
330+
def arrange_orientations(*args): return _agg.path_storage_arrange_orientations(*args)
331+
def arrange_orientations_all_paths(*args): return _agg.path_storage_arrange_orientations_all_paths(*args)
332+
def flip_x(*args): return _agg.path_storage_flip_x(*args)
333+
def flip_y(*args): return _agg.path_storage_flip_y(*args)
334+
def add_vertex(*args): return _agg.path_storage_add_vertex(*args)
335+
def modify_vertex(*args): return _agg.path_storage_modify_vertex(*args)
336+
def modify_command(*args): return _agg.path_storage_modify_command(*args)
337+
338+
class path_storagePtr(path_storage):
339+
def __init__(self, this):
340+
_swig_setattr(self, path_storage, 'this', this)
341+
if not hasattr(self,"thisown"): _swig_setattr(self, path_storage, 'thisown', 0)
342+
_swig_setattr(self, path_storage,self.__class__,path_storage)
343+
_agg.path_storage_swigregister(path_storagePtr)
344+
345+

0 commit comments

Comments
 (0)