summaryrefslogtreecommitdiffstats
path: root/src/trace
diff options
context:
space:
mode:
Diffstat (limited to 'src/trace')
-rw-r--r--src/trace/potrace/inkscape-potrace.cpp24
-rw-r--r--src/trace/potrace/inkscape-potrace.h1
2 files changed, 25 insertions, 0 deletions
diff --git a/src/trace/potrace/inkscape-potrace.cpp b/src/trace/potrace/inkscape-potrace.cpp
index bad4278e2..9a305cc7c 100644
--- a/src/trace/potrace/inkscape-potrace.cpp
+++ b/src/trace/potrace/inkscape-potrace.cpp
@@ -445,6 +445,30 @@ PotraceTracingEngine::traceSingle(GdkPixbuf * thePixbuf)
/**
+ * This allow routines that already generate GrayMaps to skip image filtering,
+ * increasing performance.
+ */
+std::vector<TracingEngineResult>
+PotraceTracingEngine::traceGrayMap(GrayMap *grayMap)
+{
+
+ std::vector<TracingEngineResult> results;
+
+ brightnessFloor = 0.0; //important to set this
+
+ long nodeCount;
+ std::string d = grayMapToPath(grayMap, &nodeCount);
+
+ char *style = "fill:#000000";
+
+ //g_message("### GOT '%s' \n", d);
+ TracingEngineResult result(style, d, nodeCount);
+ results.push_back(result);
+
+ return results;
+}
+
+/**
* Called for multiple-scanning algorithms
*/
std::vector<TracingEngineResult>
diff --git a/src/trace/potrace/inkscape-potrace.h b/src/trace/potrace/inkscape-potrace.h
index 838a1363a..b32ab6461 100644
--- a/src/trace/potrace/inkscape-potrace.h
+++ b/src/trace/potrace/inkscape-potrace.h
@@ -237,6 +237,7 @@ class PotraceTracingEngine : public TracingEngine
*/
int keepGoing;
+ std::vector<TracingEngineResult>traceGrayMap(GrayMap *grayMap);
private: