diff options
Diffstat (limited to 'src/trace')
| -rw-r--r-- | src/trace/potrace/inkscape-potrace.cpp | 24 | ||||
| -rw-r--r-- | src/trace/potrace/inkscape-potrace.h | 1 |
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: |
