def draw(self, renderer, *args, **kwargs): # return FigureImage.draw(self, renderer, *args, **kwargs) if (hasattr(renderer, '_vector_renderer') and isinstance(renderer._vector_renderer, RendererPdf)): pdffile_upgrade(renderer._vector_renderer.file) mixedrenderer_upgrade(renderer) gc = renderer.new_gc() import ifigure.utils.buildxobj as buildxobj o = buildxobj.CacheXObj() gc.set_alpha(self.get_alpha()) ocwd = os.getcwd() _pdffile = os.path.join(self._figobj().owndir(), self._pdf_file) os.chdir(os.path.dirname(_pdffile)) file = os.path.basename(_pdffile) obj = o.load(file) os.chdir(ocwd) self._obj = obj renderer.draw_pdf(gc, round(self.ox), round(self.oy), self._image_scale, pdfobj(obj)) gc.restore() elif (hasattr(renderer, '_vector_renderer') and isinstance(renderer._vector_renderer, RendererPS)): gc = renderer.new_gc() ps_write0 = renderer._vector_renderer._pswriter.write _eps_file = os.path.join(self._figobj().owndir(), self._eps_file) def ps_write(txt): if unicode_file: ps_write0(unicode(txt)) else: ps_write0(txt) if not hasattr(renderer._vector_renderer, '_eps_func_written'): ps_write(eps_funcs) renderer._vector_renderer._eps_func_written = True ps_write('BeginEPSF\n') ps_write( str(round(self.ox)) + ' ' + str(round(self.oy)) + ' translate\n') ps_write( str(self._image_scale[0]) + ' ' + str(self._image_scale[1]) + ' scale\n') ps_write( str(-self._eps_bbox[0]) + ' ' + str(-self._eps_bbox[1]) + ' translate\n') ps_write('%%BeginDocument: "' + os.path.basename(_eps_file) + '"\n') fid = open(_eps_file, 'r') for l in fid.readlines(): ps_write(l) fid.close() ps_write('%%EndDocument\n') ps_write('EndEPSF\n') gc.restore() else: return FigureImage.draw(self, renderer, *args, **kwargs)
def draw(self, renderer, *args, **kwargs): # return FigureImage.draw(self, renderer, *args, **kwargs) if (hasattr(renderer, '_vector_renderer') and isinstance(renderer._vector_renderer, RendererPdf)): pdffile_upgrade(renderer._vector_renderer.file) mixedrenderer_upgrade(renderer) gc = renderer.new_gc() import ifigure.utils.buildxobj as buildxobj o = buildxobj.CacheXObj() gc.set_alpha(self.get_alpha()) ocwd = os.getcwd() _pdffile = os.path.join(self._figobj().owndir(), self._pdf_file) os.chdir(os.path.dirname(_pdffile)) file = os.path.basename(_pdffile) obj = o.load(file) os.chdir(ocwd) self._obj = obj renderer.draw_pdf(gc, round(self.ox), round(self.oy), self._image_scale, pdfobj(obj)) gc.restore() elif (hasattr(renderer, '_vector_renderer') and isinstance(renderer._vector_renderer, RendererPS)): gc = renderer.new_gc() ps_write0 = renderer._vector_renderer._pswriter.write _eps_file = os.path.join(self._figobj().owndir(), self._eps_file) def ps_write(txt): if unicode_file: ps_write0(unicode(txt)) else: ps_write0(txt) if not hasattr(renderer._vector_renderer, '_eps_func_written'): ps_write(eps_funcs) renderer._vector_renderer._eps_func_written = True ps_write('BeginEPSF\n') ps_write(str(round(self.ox)) + ' ' + str(round(self.oy)) + ' translate\n') ps_write(str(self._image_scale[0])+' '+str(self._image_scale[1]) + ' scale\n') ps_write(str(-self._eps_bbox[0]) + ' ' + str(-self._eps_bbox[1]) + ' translate\n') ps_write('%%BeginDocument: "'+ os.path.basename(_eps_file) + '"\n') fid= open(_eps_file, 'r') for l in fid.readlines(): ps_write(l) fid.close() ps_write('%%EndDocument\n') ps_write('EndEPSF\n') gc.restore() else: return FigureImage.draw(self, renderer, *args, **kwargs)