summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2019-07-18 17:41:20 +0000
committerMarc Jeanmougin <marc@jeanmougin.fr>2019-08-21 15:18:42 +0000
commit473c146916c3221edf67109954dd8cb72ae4f22f (patch)
treeafb9ab51f20049793fed23f7a134a79c866e0516 /src
parentfix POTFILE generation (diff)
downloadinkscape-473c146916c3221edf67109954dd8cb72ae4f22f.tar.gz
inkscape-473c146916c3221edf67109954dd8cb72ae4f22f.zip
Fix tracer selection and depixelize colors
Diffstat (limited to 'src')
-rw-r--r--src/trace/depixelize/inkscape-depixelize.cpp31
-rw-r--r--src/ui/dialog/tracedialog.cpp10
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");
}
}