Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
state_view_for_root_state = graphical_editor_controller.canvas.get_view_for_model(sm_model.root_state)
from rafcon.gui.mygaphas.items.state import StateView
assert isinstance(state_view_for_root_state, StateView)
# print state_view_for_root_state
# p = state_view_for_root_state.position
# print state_view_for_root_state.position
# print state_view_for_root_state.matrix
# print state_view_for_root_state.handles()
# print state_view_for_root_state.handles()[NW].pos.x
# print state_view_for_root_state.handles()[NW].pos.y
# print state_view_for_root_state.handles()[SE].pos.x
# print state_view_for_root_state.handles()[SE].pos.y
# self.view.get_matrix_i2v(self).transform_distance(width, height)
from gaphas.view import View
assert isinstance(state_view_for_root_state.view, View)
v2i = state_view_for_root_state.view.get_matrix_v2i(state_view_for_root_state)
i2v = state_view_for_root_state.view.get_matrix_i2v(state_view_for_root_state)
c2i = state_view_for_root_state.canvas.get_matrix_c2i(state_view_for_root_state)
i2c = state_view_for_root_state.canvas.get_matrix_i2c(state_view_for_root_state)
# item_base_x, item_base_y = v2i.transform_point(p[0], p[1])
# item_base_x, item_base_y = i2v.transform_point(p[0], p[1])
#
# item_base_x, item_base_y = i2c.tranform_point(v2i.transform_point(0, 0))
# item_base_x, item_base_y = 0, 0
se_x, se_y = i2v.transform_point(state_view_for_root_state.handles()[SE].pos.x.value,
state_view_for_root_state.handles()[SE].pos.y.value)
main_w = rafcon.gui.singleton.main_window_controller.view.get_top_widget()
def render(self, canvas, new_surface):
view = View(canvas)
self.update_painters(view)
# Update bounding boxes with a temporary CairoContext
# (used for stuff like calculating font metrics)
tmpsurface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 0, 0)
tmpcr = cairo.Context(tmpsurface)
view.update_bounding_box(tmpcr)
tmpcr.show_page()
tmpsurface.flush()
w, h = view.bounding_box.width, view.bounding_box.height
surface = new_surface(w, h)
cr = cairo.Context(surface)
view.matrix.translate(-view.bounding_box.x, -view.bounding_box.y)
paint(view, cr)
def save(self, filename, canvas=None):
log.debug('Exporting PNG image to: %s' % filename)
canvas = canvas or self.get_window().get_current_diagram_tab().get_canvas()
view = View(canvas)
view.painter = ItemPainter()
# Update bounding boxes with a temporaly CairoContext
# (used for stuff like calculating font metrics)
tmpsurface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 0, 0)
tmpcr = cairo.Context(tmpsurface)
view.update_bounding_box(tmpcr, items=canvas.get_root_items())
tmpcr.show_page()
tmpsurface.flush()
w, h = view.bounding_box.width, view.bounding_box.height
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, int(w+1), int(h+1))
cr = cairo.Context(surface)
view.matrix.translate(-view.bounding_box.x0, -view.bounding_box.y0)
view.paint(cr)
cr.show_page()
def save(self, filename, canvas=None):
log.debug('Exporting SVG image to: %s' % filename)
canvas = canvas or self.get_window().get_current_diagram_tab().get_canvas()
view = View(canvas)
view.painter = ItemPainter()
# Update bounding boxes with a temporaly CairoContext
# (used for stuff like calculating font metrics)
tmpsurface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 0, 0)
tmpcr = cairo.Context(tmpsurface)
view.update_bounding_box(tmpcr)
tmpcr.show_page()
tmpsurface.flush()
w, h = view.bounding_box.width, view.bounding_box.height
surface = cairo.SVGSurface(filename, w, h)
cr = cairo.Context(surface)
view.matrix.translate(-view.bounding_box.x0, -view.bounding_box.y0)
view.paint(cr)
cr.show_page()
if name_re and not name_re.search(pname):
message(f"skipping {pname}")
continue
if options.dir:
odir = f"{options.dir}/{odir}"
outfilename = f"{odir}/{dname}.{options.format}"
if not os.path.exists(odir):
message(f"creating dir {odir}")
os.makedirs(odir)
message(f"rendering: {pname} -> {outfilename}...")
view = View(diagram.canvas)
view.painter = ItemPainter()
tmpsurface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 0, 0)
tmpcr = cairo.Context(tmpsurface)
view.update_bounding_box(tmpcr)
tmpcr.show_page()
tmpsurface.flush()
w, h = view.bounding_box.width, view.bounding_box.height
if options.format == "pdf":
surface = cairo.PDFSurface(outfilename, w, h)
elif options.format == "svg":
surface = cairo.SVGSurface(outfilename, w, h)
elif options.format == "png":
surface = cairo.ImageSurface(
cairo.FORMAT_ARGB32, int(w + 1), int(h + 1)