diff options
| author | Marc Jeanmougin <marc@jeanmougin.fr> | 2019-07-18 17:41:20 +0000 |
|---|---|---|
| committer | Marc Jeanmougin <marc@jeanmougin.fr> | 2019-08-21 15:18:42 +0000 |
| commit | 473c146916c3221edf67109954dd8cb72ae4f22f (patch) | |
| tree | afb9ab51f20049793fed23f7a134a79c866e0516 /src | |
| parent | fix POTFILE generation (diff) | |
| download | inkscape-473c146916c3221edf67109954dd8cb72ae4f22f.tar.gz inkscape-473c146916c3221edf67109954dd8cb72ae4f22f.zip | |
Fix tracer selection and depixelize colors
Diffstat (limited to 'src')
| -rw-r--r-- | src/trace/depixelize/inkscape-depixelize.cpp | 31 | ||||
| -rw-r--r-- | src/ui/dialog/tracedialog.cpp | 10 |
2 files changed, 13 insertions, 28 deletions
diff --git a/src/trace/depixelize/inkscape-depixelize.cpp b/src/trace/depixelize/inkscape-depixelize.cpp index 4b8bde1d8..c7a9612bb 100644 --- a/src/trace/depixelize/inkscape-depixelize.cpp +++ b/src/trace/depixelize/inkscape-depixelize.cpp @@ -29,6 +29,8 @@ #include <svg/path-string.h> #include <svg/svg.h> +#include <svg/svg-color.h> +#include "svg/css-ostringstream.h" using Glib::ustring; @@ -97,36 +99,19 @@ std::vector<TracingEngineResult> DepixelizeTracingEngine::trace(Glib::RefPtr<Gdk std::vector<TracingEngineResult> res; for (::Tracer::Splines::const_iterator it = splines.begin(), end = splines.end(); it != end; ++it) { - /*{ - SPCSSAttr *css = sp_repr_css_attr_new(); - - { gchar b[64]; sp_svg_write_color(b, sizeof(b), SP_RGBA32_U_COMPOSE(unsigned(it->rgba[0]), unsigned(it->rgba[1]), unsigned(it->rgba[2]), unsigned(it->rgba[3]))); - - sp_repr_css_set_property(css, "fill", b); - } - - { - Inkscape::CSSOStringStream osalpha; - osalpha << float(it->rgba[3]) / 255.; - sp_repr_css_set_property(css, "fill-opacity", - osalpha.str().c_str()); - } - - sp_repr_css_set(repr, css, "style"); - sp_repr_css_attr_unref(css); - } - - gchar *str = sp_svg_write_path(it->pathVector); - */ - - TracingEngineResult r("fill:black;", sp_svg_write_path(it->pathVector), it->pathVector.nodes().size()); //TODO + Inkscape::CSSOStringStream osalpha; + osalpha << float(it->rgba[3]) / 255.; + gchar* style = g_strdup_printf("fill:%s;fill-opacity:%s;", b, osalpha.str().c_str()); + printf("%s\n", style); + TracingEngineResult r(style, sp_svg_write_path(it->pathVector), it->pathVector.nodes().size()); res.push_back(r); + g_free(style); } return res; } diff --git a/src/ui/dialog/tracedialog.cpp b/src/ui/dialog/tracedialog.cpp index be214e867..3d92c53c9 100644 --- a/src/ui/dialog/tracedialog.cpp +++ b/src/ui/dialog/tracedialog.cpp @@ -193,15 +193,15 @@ void TraceDialogImpl2::traceProcess(bool do_i_trace) } } if (do_i_trace){ - if (use_autotrace){ + if (choice_tab->get_current_page() == 1){ + tracer.trace(&dte); + printf("dt\n"); + } else if (use_autotrace) { tracer.trace(&ate); printf("at\n"); - } else if (choice_tab->get_current_page() == 0){ + } else if (choice_tab->get_current_page() == 0) { tracer.trace(&pte); printf("pt\n"); - } else if (choice_tab->get_current_page() == 1){ - tracer.trace(&dte); - printf("dt\n"); } } |
