beremiz

SVGHMI: Filter unseen geometry from inkscape CSV output.
svghmi
2021-03-25, Edouard Tisserant
1582753e409b
SVGHMI: Filter unseen geometry from inkscape CSV output.

When inkscape exports geometry form all objects, then it also includes objects from svg:defs. This makes problems when deciding if an object is part of a page, since coordinate of objects in svg:defs can eventualy be contained in a page. In the end, those objects where getting detached when leaving pages where they where found, leading for exemple to non working text on clipping when the clipped text was cloned in multiple page.
# the platform name (PyV8, smjs, Mozilla, IE6, Opera, Safari etc.)
platform = '' # to be updated by app, on compile
# a dictionary of module override names (platform-specific)
overrides = {} # to be updated by app, on compile
# the remote path for loading modules
loadpath = None
stacktrace = None
appname = None
def setloadpath(lp):
global loadpath
loadpath = lp
def setappname(an):
global appname
appname = an
def getloadpath():
return loadpath
def addoverride(module_name, path):
overrides[module_name] = path
def addstack(linedebug):
JS("""
if (pyjslib.bool((sys.stacktrace === null))) {
sys.stacktrace = new pyjslib.List([]);
}
sys.stacktrace.append(linedebug);
""")
def popstack():
JS("""
sys.stacktrace.pop()
""")
def printstack():
JS("""
var res = '';
var __l = sys.stacktrace.__iter__();
try {
while (true) {
var l = __l.next();
res += ( l + '\\n' ) ;
}
} catch (e) {
if (e != pyjslib.StopIteration) {
throw e;
}
}
return res;
""")