245 |
def hit(self, coords, point3): |
def hit(self, coords, point3): |
246 |
return self.view.hitClip(coords, point3, self.cliprect) |
return self.view.hitClip(coords, point3, self.cliprect) |
247 |
|
|
248 |
selectPaper = Paper() |
if 1: |
249 |
selectPaper.setNPasses(1) |
selectPaper = Paper() |
250 |
pas = selectPaper.getPass(0) |
selectPaper.setNPasses(1) |
251 |
pas.setSetupcode(""" |
pas = selectPaper.getPass(0) |
252 |
PushAttrib ENABLE_BIT COLOR_BUFFER_BIT |
pas.setSetupcode(""" |
253 |
Disable TEXTURE_2D |
PushAttrib ENABLE_BIT COLOR_BUFFER_BIT |
254 |
Disable DEPTH_TEST |
Disable TEXTURE_2D |
255 |
Disable STENCIL_TEST |
Disable DEPTH_TEST |
256 |
Color 1 1 1 |
Disable STENCIL_TEST |
257 |
Enable BLEND |
Color 1 1 1 |
258 |
BlendFunc ONE_MINUS_DST_COLOR ZERO |
Enable BLEND |
259 |
""") |
BlendFunc ONE_MINUS_DST_COLOR ZERO |
260 |
pas.setTeardowncode(""" |
""") |
261 |
PopAttrib |
pas.setTeardowncode(""" |
262 |
""") |
PopAttrib |
263 |
selectPaperQuad = GLRen.createPaperQuad(selectPaper, -1,-1,1,1, 1) |
""") |
264 |
|
selectPaperQuad = GLRen.createPaperQuad(selectPaper, -1,-1,1,1, 1) |
265 |
|
|
266 |
|
|
267 |
class XuPDFScene_PDFContext: |
class XuPDFScene_PDFContext: |
305 |
checkGlobalCoords() |
checkGlobalCoords() |
306 |
print "Mouse ",globalx, globaly |
print "Mouse ",globalx, globaly |
307 |
AbstractUpdateManager.chg() |
AbstractUpdateManager.chg() |
308 |
|
elif ev.getID() == ev.MOUSE_PRESSED: |
309 |
|
self.pressx = ev.getX() |
310 |
|
self.pressy = ev.getY() |
311 |
|
self.origpt = None |
312 |
|
return |
313 |
|
elif ev.getID() == ev.MOUSE_DRAGGED: |
314 |
|
if not self.selectCS: |
315 |
|
self.selectCS = self.currentvs.coords.affineCoordsys(self.papercs, 0, 0, 0, 1, 0, 0, 1) |
316 |
|
self.currentvs.map.put(selectPaperQuad, self.selectCS, 0) |
317 |
|
if not self.origpt: |
318 |
|
point = array([self.pressx, self.pressy, 0], 'f') |
319 |
|
dst = zeros(3, 'f') |
320 |
|
self.currentvs.coords.inverseTransformPoints3(self.papercs, point, dst) |
321 |
|
self.corner1 = (dst[0], dst[1]) |
322 |
|
point = array([ev.getX(), ev.getY(), 0], 'f') |
323 |
|
dst = zeros(3, 'f') |
324 |
|
self.currentvs.coords.inverseTransformPoints3(self.papercs, point, dst) |
325 |
|
self.corner2 = (dst[0], dst[1]) |
326 |
|
ctr = (0.5*(self.corner1[0]+self.corner2[0]), |
327 |
|
0.5 *(self.corner1[1]+self.corner1[1])) |
328 |
|
s = (0.5*(self.corner1[0]-self.corner2[0]), |
329 |
|
0.5 *(self.corner1[1]-self.corner1[1])) |
330 |
|
self.currentvs.coords.setAffineParams(self.selectCS, 0, |
331 |
|
ctr[0], ctr[1], s[0], 0, 0, s[1]) |
332 |
|
|
333 |
|
|
334 |
else: |
else: |
335 |
print "Unused mouse: ",ev |
print "Unused mouse: ",ev |
336 |
def scene(self, vs): |
def scene(self, vs): |
375 |
b.add(vs, 0, 0, 1, bf, maincs = cs1_trans) |
b.add(vs, 0, 0, 1, bf, maincs = cs1_trans) |
376 |
self.buoys.append(b) |
self.buoys.append(b) |
377 |
self.currentvs = vs |
self.currentvs = vs |
378 |
|
self.selectCS = None |
379 |
|
self.papercs = cs1_trans |
380 |
|
|
381 |
class XuPDFScene_PDFZoom: |
class XuPDFScene_PDFZoom: |
382 |
def __init__(self): |
def __init__(self): |