File: libplot.py

package info (click to toggle)
python2.1-libplot 1.0.2-6
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 252 kB
  • ctags: 447
  • sloc: ansic: 3,224; python: 388; makefile: 72; sh: 3
file content (332 lines) | stat: -rw-r--r-- 8,723 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
#
# libplot.py
#
# Copyright (C) 2000 Mike Nolta <mrnolta@users.sourceforge.net>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#

from _libplot import *

class LibplotError( Exception ):
	pass

class Plotter:
	def __init__( self, type="X", params=None,
			outfile=None, infile=None, errfile=None ):

		self.plparams = pl_newplparams()
		if params:
			for key,value in params.items():
				pl_setplparam( self.plparams, key, value )

		self.this = pl_newpl_r( type, infile, outfile, errfile, self.plparams )
		if self.this < 0:
			raise LibplotError( "could not create plotter" )

	def __del__( self ):
		pl_deletepl_r( self.this )
		pl_deleteplparams( self.plparams )

	def arc(self,xc,yc,x0,y0,x1,y1):
		return pl_arc_r(self.this,xc,yc,x0,y0,x1,y1)

	def box(self,x0,y0,x1,y1):
		return pl_box_r(self.this,x0,y0,x1,y1)

	def circle(self,x,y,r):
		return pl_circle_r(self.this,x,y,r)

	def closepl(self):
		return pl_closepl_r(self.this)

	def cont(self,x,y):
		return pl_cont_r(self.this,x,y)

	def erase(self):
		return pl_erase_r(self.this)

	def label(self,s):
		return pl_label_r(self.this,s)

	def line(self,x0,y0,x1,y1):
		return pl_line_r(self.this,x0,y0,x1,y1)

	def linemod(self,s):
		return pl_linemod_r(self.this,s)

	def move(self,x,y):
		return pl_move_r(self.this,x,y)

	def openpl(self):
		return pl_openpl_r(self.this)

	def point(self,x,y):
		return pl_point_r(self.this,x,y)

	def space(self,x0,y0,x1,y1):
		return pl_space_r(self.this,x0,y0,x1,y1)

	def alabel(self,x_justify,y_justify,s):
		return pl_alabel_r(self.this,x_justify,y_justify,s)

	def arcrel(self,dxc,dyc,dx0,dy0,dx1,dy1):
		return pl_arcrel_r(self.this,dxc,dyc,dx0,dy0,dx1,dy1)

	def bezier2(self,x0,y0,x1,y1,x2,y2):
		return pl_bezier2_r(self.this,x0,y0,x1,y1,x2,y2)

	def bezier2rel(self,dx0,dy0,dx1,dy1,dx2,dy2):
		return pl_bezier2rel_r(self.this,dx0,dy0,dx1,dy1,dx2,dy2)

	def bezier3(self,x0,y0,x1,y1,x2,y2,x3,y3):
		return pl_bezier3_r(self.this,x0,y0,x1,y1,x2,y2,x3,y3)

	def bezier3rel(self,dx0,dy0,dx1,dy1,dx2,dy2,dx3,dy3):
		return pl_bezier3rel_r(self.this,dx0,dy0,dx1,dy1,dx2,dy2,dx3,dy3)

	def bgcolor(self,red,green,blue):
		return pl_bgcolor_r(self.this,red,green,blue)

	def bgcolorname(self,name):
		return pl_bgcolorname_r(self.this,name)

	def boxrel(self,dx0,dy0,dx1,dy1):
		return pl_boxrel_r(self.this,dx0,dy0,dx1,dy1)

	def capmod(self,s):
		return pl_capmod_r(self.this,s)

	def circlerel(self,dx,dy,r):
		return pl_circlerel_r(self.this,dx,dy,r)

	def closepath(self):
		return pl_closepath_r(self.this)

	def color(self,red,green,blue):
		return pl_color_r(self.this,red,green,blue)

	def colorname(self,name):
		return pl_colorname_r(self.this,name)

	def contrel(self,x,y):
		return pl_contrel_r(self.this,x,y)

	def ellarc(self,xc,yc,x0,y0,x1,y1):
		return pl_ellarc_r(self.this,xc,yc,x0,y0,x1,y1)

	def ellarcrel(self,dxc,dyc,dx0,dy0,dx1,dy1):
		return pl_ellarcrel_r(self.this,dxc,dyc,dx0,dy0,dx1,dy1)

	def ellipse(self,x,y,rx,ry,angle):
		return pl_ellipse_r(self.this,x,y,rx,ry,angle)

	def ellipserel(self,dx,dy,rx,ry,angle):
		return pl_ellipserel_r(self.this,dx,dy,rx,ry,angle)

	def endpath(self):
		return pl_endpath_r(self.this)

	def endsubpath(self):
		return pl_endsubpath_r(self.this)

	def fillcolor(self,red,green,blue):
		return pl_fillcolor_r(self.this,red,green,blue)

	def fillcolorname(self,name):
		return pl_fillcolorname_r(self.this,name)

	def fillmod(self,s):
		return pl_fillmod_r(self.this,s)

	def filltype(self,level):
		return pl_filltype_r(self.this,level)

	def flushpl(self):
		return pl_flushpl_r(self.this)

	def fontname(self,s):
		return pl_fontname_r(self.this,s)

	def fontsize(self,size):
		return pl_fontsize_r(self.this,size)

	def havecap(self,s):
		return pl_havecap_r(self.this,s)

	def joinmod(self,s):
		return pl_joinmod_r(self.this,s)

	def labelwidth(self,s):
		return pl_labelwidth_r(self.this,s)

	def linedash(self,n,dashes,offset):
		return pl_linedash_r(self.this,n,dashes,offset)

	def linerel(self,dx0,dy0,dx1,dy1):
		return pl_linerel_r(self.this,dx0,dy0,dx1,dy1)

	def linewidth(self,size):
		return pl_linewidth_r(self.this,size)

	def marker(self,x,y,type,size):
		return pl_marker_r(self.this,x,y,type,size)

	def markerrel(self,dx,dy,type,size):
		return pl_markerrel_r(self.this,dx,dy,type,size)

	def moverel(self,x,y):
		return pl_moverel_r(self.this,x,y)

	def orientation(self,direction):
		return pl_orientation_r(self.this,direction)

	def pencolor(self,red,green,blue):
		return pl_pencolor_r(self.this,red,green,blue)

	def pencolorname(self,name):
		return pl_pencolorname_r(self.this,name)

	def pentype(self,level):
		return pl_pentype_r(self.this,level)

	def pointrel(self,dx,dy):
		return pl_pointrel_r(self.this,dx,dy)

	def restorestate(self):
		return pl_restorestate_r(self.this)

	def savestate(self):
		return pl_savestate_r(self.this)

	def space2(self,x0,y0,x1,y1,x2,y2):
		return pl_space2_r(self.this,x0,y0,x1,y1,x2,y2)

	def textangle(self,angle):
		return pl_textangle_r(self.this,angle)

	def ffontname(self,s):
		return pl_ffontname_r(self.this,s)

	def ffontsize(self,size):
		return pl_ffontsize_r(self.this,size)

	def flabelwidth(self,s):
		return pl_flabelwidth_r(self.this,s)

	def ftextangle(self,angle):
		return pl_ftextangle_r(self.this,angle)

	def farc(self,xc,yc,x0,y0,x1,y1):
		return pl_farc_r(self.this,xc,yc,x0,y0,x1,y1)

	def farcrel(self,dxc,dyc,dx0,dy0,dx1,dy1):
		return pl_farcrel_r(self.this,dxc,dyc,dx0,dy0,dx1,dy1)

	def fbezier2(self,x0,y0,x1,y1,x2,y2):
		return pl_fbezier2_r(self.this,x0,y0,x1,y1,x2,y2)

	def fbezier2rel(self,dx0,dy0,dx1,dy1,dx2,dy2):
		return pl_fbezier2rel_r(self.this,dx0,dy0,dx1,dy1,dx2,dy2)

	def fbezier3(self,x0,y0,x1,y1,x2,y2,x3,y3):
		return pl_fbezier3_r(self.this,x0,y0,x1,y1,x2,y2,x3,y3)

	def fbezier3rel(self,dx0,dy0,dx1,dy1,dx2,dy2,dx3,dy3):
		return pl_fbezier3rel_r(self.this,dx0,dy0,dx1,dy1,dx2,dy2,dx3,dy3)

	def fbox(self,x0,y0,x1,y1):
		return pl_fbox_r(self.this,x0,y0,x1,y1)

	def fboxrel(self,dx0,dy0,dx1,dy1):
		return pl_fboxrel_r(self.this,dx0,dy0,dx1,dy1)

	def fcircle(self,x,y,r):
		return pl_fcircle_r(self.this,x,y,r)

	def fcirclerel(self,dx,dy,r):
		return pl_fcirclerel_r(self.this,dx,dy,r)

	def fcont(self,x,y):
		return pl_fcont_r(self.this,x,y)

	def fcontrel(self,dx,dy):
		return pl_fcontrel_r(self.this,dx,dy)

	def fellarc(self,xc,yc,x0,y0,x1,y1):
		return pl_fellarc_r(self.this,xc,yc,x0,y0,x1,y1)

	def fellarcrel(self,dxc,dyc,dx0,dy0,dx1,dy1):
		return pl_fellarcrel_r(self.this,dxc,dyc,dx0,dy0,dx1,dy1)

	def fellipse(self,x,y,rx,ry,angle):
		return pl_fellipse_r(self.this,x,y,rx,ry,angle)

	def fellipserel(self,dx,dy,rx,ry,angle):
		return pl_fellipserel_r(self.this,dx,dy,rx,ry,angle)

	def flinedash(self,n,dashes,offset):
		return pl_flinedash_r(self.this,n,dashes,offset)

	def fline(self,x0,y0,x1,y1):
		return pl_fline_r(self.this,x0,y0,x1,y1)

	def flinerel(self,dx0,dy0,dx1,dy1):
		return pl_flinerel_r(self.this,dx0,dy0,dx1,dy1)

	def flinewidth(self,size):
		return pl_flinewidth_r(self.this,size)

	def fmarker(self,x,y,type,size):
		return pl_fmarker_r(self.this,x,y,type,size)

	def fmarkerrel(self,dx,dy,type,size):
		return pl_fmarkerrel_r(self.this,dx,dy,type,size)

	def fmove(self,x,y):
		return pl_fmove_r(self.this,x,y)

	def fmoverel(self,dx,dy):
		return pl_fmoverel_r(self.this,dx,dy)

	def fpoint(self,x,y):
		return pl_fpoint_r(self.this,x,y)

	def fpointrel(self,dx,dy):
		return pl_fpointrel_r(self.this,dx,dy)

	def fspace(self,x0,y0,x1,y1):
		return pl_fspace_r(self.this,x0,y0,x1,y1)

	def fspace2(self,x0,y0,x1,y1,x2,y2):
		return pl_fspace2_r(self.this,x0,y0,x1,y1,x2,y2)

	def fconcat(self,m0,m1,m2,m3,m4,m5):
		return pl_fconcat_r(self.this,m0,m1,m2,m3,m4,m5)

	def fmiterlimit(self,limit):
		return pl_fmiterlimit_r(self.this,limit)

	def frotate(self,theta):
		return pl_frotate_r(self.this,theta)

	def fscale(self,x,y):
		return pl_fscale_r(self.this,x,y)

	def fsetmatrix(self,m0,m1,m2,m3,m4,m5):
		return pl_fsetmatrix_r(self.this,m0,m1,m2,m3,m4,m5)

	def ftranslate(self,x,y):
		return pl_ftranslate_r(self.this,x,y)