Mercurial > MadButterfly
view pyink/pyink.py @ 1395:a768d74e5f49
Fix the svg:use. For a svg:use, it is a group which include the content it reference. It means that we can not tween it to its origin object directly. Instead, we need to ungroup it and then use the result matrix to generate the tweened transformation matrix. Therefore, we need to concate its matrix to the referenced object.
Ad center object when the bbox-x is not available.
author | wycc |
---|---|
date | Sat, 02 Apr 2011 05:36:36 +0800 |
parents | 599b606c4669 |
children |
line wrap: on
line source
import os try: if os.environ['PYINK_DBG_ENABLE'] == 'yes': import pdb pdb.set_trace() pass pass except: pass import pybInkscape import pygtk import gtk from MBScene import * all_desktop_mbscenes = {} def _init_mbscene(inkscape, ptr): global all_desktop_mbscenes desktop = pybInkscape.GPointer_2_PYSPDesktop(ptr) top = desktop.getToplevel() mbscene = MBScene(desktop,top) mbscene.show() all_desktop_mbscenes[desktop] = mbscene pass ## \brief Handler for events of activating a desktop. # def act_desktop(inkscape, ptr): # Get Python wrapper of SPDesktop passed by ptr. desktop = pybInkscape.GPointer_2_PYSPDesktop(ptr) top = desktop.getToplevel() if not top: # has not top window. return if desktop in all_desktop_mbscenes: return # already initialized _init_mbscene(inkscape, ptr) pass def pyink_start(): import extensions pybInkscape.inkscape.connect('activate_desktop', act_desktop) extensions.initial() pass def pyink_context_menu(view, item, menu_factory): if view in all_desktop_mbscenes: mbscene = all_desktop_mbscenes[view] mbscene.context_menu(item, menu_factory) pass pass