diff options
| author | Marc Jeanmougin <marc@jeanmougin.fr> | 2019-07-11 17:36:56 +0000 |
|---|---|---|
| committer | Marc Jeanmougin <marc@jeanmougin.fr> | 2019-08-21 15:16:54 +0000 |
| commit | 644c1789e93c19e504f3cc287345636f4cc41b41 (patch) | |
| tree | 24aa51a5ed46e3d3c70c312d90dd9fa3b3be759f /src | |
| parent | Make potrace a dep, remove previous code (diff) | |
| download | inkscape-644c1789e93c19e504f3cc287345636f4cc41b41.tar.gz inkscape-644c1789e93c19e504f3cc287345636f4cc41b41.zip | |
Remove pixelart dialog
Diffstat (limited to 'src')
| -rw-r--r-- | src/desktop.cpp | 1 | ||||
| -rw-r--r-- | src/ui/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/ui/dialog/dialog-manager.cpp | 3 | ||||
| -rw-r--r-- | src/ui/dialog/pixelartdialog.cpp | 593 | ||||
| -rw-r--r-- | src/ui/dialog/pixelartdialog.h | 59 | ||||
| -rw-r--r-- | src/verbs.cpp | 7 | ||||
| -rw-r--r-- | src/verbs.h | 1 |
7 files changed, 0 insertions, 666 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp index fa9f6d6d3..363fd31ec 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -2050,7 +2050,6 @@ SPDesktop::show_dialogs() mapVerbPreference.insert(std::make_pair ("InkscapePreferences", "/dialogs/preferences") ); mapVerbPreference.insert(std::make_pair ("TileDialog", "/dialogs/gridtiler") ); mapVerbPreference.insert(std::make_pair ("Trace", "/dialogs/trace") ); - mapVerbPreference.insert(std::make_pair ("PixelArt", "/dialogs/pixelart") ); mapVerbPreference.insert(std::make_pair ("TextFont", "/dialogs/textandfont") ); mapVerbPreference.insert(std::make_pair ("Export", "/dialogs/export") ); mapVerbPreference.insert(std::make_pair ("XmlTree", "/dialogs/xml") ); diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index 56b0ef983..2cf18e890 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -129,7 +129,6 @@ set(ui_SRC dialog/object-properties.cpp dialog/objects.cpp dialog/ocaldialogs.cpp - dialog/pixelartdialog.cpp dialog/polar-arrange-tab.cpp dialog/print-colors-preview-dialog.cpp dialog/print.cpp @@ -297,7 +296,6 @@ set(ui_SRC dialog/objects.h dialog/ocaldialogs.h dialog/panel-dialog.h - dialog/pixelartdialog.h dialog/polar-arrange-tab.h dialog/print-colors-preview-dialog.h dialog/print.h diff --git a/src/ui/dialog/dialog-manager.cpp b/src/ui/dialog/dialog-manager.cpp index 474c89b4c..ee1ede82e 100644 --- a/src/ui/dialog/dialog-manager.cpp +++ b/src/ui/dialog/dialog-manager.cpp @@ -40,7 +40,6 @@ # include "ui/dialog/tracedialog.h" #endif -#include "ui/dialog/pixelartdialog.h" #include "ui/dialog/transformation.h" #include "ui/dialog/undo-history.h" #include "ui/dialog/panel-dialog.h" @@ -137,7 +136,6 @@ DialogManager::DialogManager() { registerFactory("Trace", &create<TraceDialog, FloatingBehavior>); #endif - registerFactory("PixelArt", &create<PixelArtDialog, FloatingBehavior>); registerFactory("Transformation", &create<Transformation, FloatingBehavior>); registerFactory("UndoHistory", &create<UndoHistory, FloatingBehavior>); registerFactory("InputDevices", &create<InputDialog, FloatingBehavior>); @@ -183,7 +181,6 @@ DialogManager::DialogManager() { registerFactory("Trace", &create<TraceDialog, DockBehavior>); #endif - registerFactory("PixelArt", &create<PixelArtDialog, DockBehavior>); registerFactory("Transformation", &create<Transformation, DockBehavior>); registerFactory("UndoHistory", &create<UndoHistory, DockBehavior>); registerFactory("InputDevices", &create<InputDialog, DockBehavior>); diff --git a/src/ui/dialog/pixelartdialog.cpp b/src/ui/dialog/pixelartdialog.cpp deleted file mode 100644 index a0d5c9495..000000000 --- a/src/ui/dialog/pixelartdialog.cpp +++ /dev/null @@ -1,593 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/** - * @file - * Pixel art tracing settings dialog - implementation. - */ -/* Authors: - * Bob Jamison <rjamison@titan.com> - * Stéphane Gimenez <dev@gim.name> - * Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com> - * Other dudes from The Inkscape Organization - * - * Copyright (C) 2004-2013 Authors - * - * Released under GNU GPL v2+, read the file 'COPYING' for more information. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" // only include where actually required! -#endif - -#ifdef GLIBMM_DISABLE_DEPRECATED -# undef GLIBMM_DISABLE_DEPRECATED -# include <glibmm/thread.h> -# include <glibmm/dispatcher.h> -# define GLIBMM_DISABLE_DEPRECATED 1 -#else // GLIBMM_DISABLE_DEPRECATED -# include <glibmm/thread.h> -# include <glibmm/dispatcher.h> -#endif // GLIBMM_DISABLE_DEPRECATED - -#include <glibmm/i18n.h> -#include <gtkmm/messagedialog.h> -#include <gtkmm/radiobutton.h> - -#include "desktop-tracker.h" -#include "desktop.h" -#include "document-undo.h" -#include "document.h" -#include "message-stack.h" -#include "pixelartdialog.h" -#include "selection.h" - -#include "display/cairo-utils.h" - -#include "3rdparty/libdepixelize/kopftracer2011.h" - -#include "object/sp-image.h" - -#include "svg/css-ostringstream.h" -#include "svg/svg-color.h" -#include "svg/svg.h" - -#include "ui/widget/frame.h" -#include "ui/widget/spinbutton.h" - -#ifdef HAVE_OPENMP -#include <omp.h> - -#include <utility> -#endif // HAVE_OPENMP - -namespace Inkscape { -namespace UI { -namespace Dialog { - -/** - * A dialog for adjusting pixel art -> vector tracing parameters - */ -class PixelArtDialogImpl : public PixelArtDialog -{ -public: - PixelArtDialogImpl(); - - ~PixelArtDialogImpl() override; - -private: - struct Input - { - Glib::RefPtr<Gdk::Pixbuf> pixbuf; - SVGLength x; - SVGLength y; - }; - struct Output - { - Output(Tracer::Splines splines, SVGLength x, SVGLength y) : - splines(std::move(splines)), x(x), y(y) - {} - - Tracer::Splines splines; - SVGLength x; - SVGLength y; - }; - - void setDesktop(SPDesktop *desktop) override; - void setTargetDesktop(SPDesktop *desktop); - - //############ Events - - void responseCallback(int response_id); - - //############ UI Logic - - Tracer::Kopf2011::Options options(); - - void vectorize(); - void processLibdepixelize(const Input &image); - void importOutput(const Output &out); - void setDefaults(); - void updatePreview(); - - bool ignorePreview; - bool pendingPreview; - - //############ UI - - Gtk::HBox buttonsHBox; - - Gtk::Button *mainOkButton; - Gtk::Button *mainCancelButton; - Gtk::Button *mainResetButton; - - Gtk::VBox heuristicsVBox; - UI::Widget::Frame heuristicsFrame; - - Gtk::HBox curvesMultiplierHBox; - Gtk::Label curvesMultiplierLabel; - Inkscape::UI::Widget::SpinButton curvesMultiplierSpinner; - - Gtk::HBox islandsWeightHBox; - Gtk::Label islandsWeightLabel; - Inkscape::UI::Widget::SpinButton islandsWeightSpinner; - - Gtk::HBox sparsePixelsMultiplierHBox; - Gtk::Label sparsePixelsMultiplierLabel; - Inkscape::UI::Widget::SpinButton sparsePixelsMultiplierSpinner; - - Gtk::HBox sparsePixelsRadiusHBox; - Gtk::Label sparsePixelsRadiusLabel; - Inkscape::UI::Widget::SpinButton sparsePixelsRadiusSpinner; - - Gtk::VBox outputVBox; - UI::Widget::Frame outputFrame; - Gtk::RadioButtonGroup outputGroup; - - Gtk::RadioButton voronoiRadioButton; - Gtk::RadioButton noOptimizeRadioButton; -#if LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - Gtk::RadioButton optimizeRadioButton; -#endif // LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - - //############ UI Logic data - - SPDesktop *desktop; - DesktopTracker deskTrack; - sigc::connection desktopChangeConn; - - //############ Threads - void workerThread(); - void onWorkerThreadFinished(); - Glib::Thread *thread; - volatile gint abortThread; // C++11's atomic stuff is sooo much nicer - Glib::Dispatcher dispatcher; - std::vector<Input> queue; - std::vector<Output> output; - Tracer::Kopf2011::Options lastOptions; -}; - -void PixelArtDialogImpl::setDesktop(SPDesktop *desktop) -{ - Panel::setDesktop(desktop); - deskTrack.setBase(desktop); -} - -void PixelArtDialogImpl::setTargetDesktop(SPDesktop *desktop) -{ - this->desktop = desktop; -} - -PixelArtDialogImpl::PixelArtDialogImpl() : - PixelArtDialog(), - ignorePreview(false), - pendingPreview(false) -{ - - Gtk::Box *contents = _getContents(); - - // Heuristics - { - curvesMultiplierLabel.set_label(_("_Curves (multiplier):")); - curvesMultiplierLabel.set_use_underline(true); - curvesMultiplierLabel.set_mnemonic_widget(curvesMultiplierSpinner); - curvesMultiplierLabel.set_tooltip_text(_("Favors connections that are part of a long curve")); - curvesMultiplierSpinner.set_increments(0.125, 0); - curvesMultiplierSpinner.set_digits(3); - curvesMultiplierSpinner.set_range(-10, 10); - curvesMultiplierSpinner.get_adjustment()->signal_value_changed() - .connect(sigc::mem_fun(*this, &PixelArtDialogImpl::updatePreview)); - - curvesMultiplierHBox.pack_start(curvesMultiplierLabel, false, false); - curvesMultiplierHBox.pack_end(curvesMultiplierSpinner, false, false); - heuristicsVBox.pack_start(curvesMultiplierHBox, false, false); - - islandsWeightLabel.set_label(_("_Islands (weight):")); - islandsWeightLabel.set_use_underline(true); - islandsWeightLabel.set_mnemonic_widget(islandsWeightSpinner); - islandsWeightLabel.set_tooltip_text(_("Avoid single disconnected pixels")); - - islandsWeightSpinner.set_tooltip_text(_("A constant vote value")); - islandsWeightSpinner.set_increments(1, 0); - islandsWeightSpinner.set_range(-20, 20); - islandsWeightSpinner.get_adjustment()->signal_value_changed() - .connect(sigc::mem_fun(*this, &PixelArtDialogImpl::updatePreview)); - - islandsWeightHBox.pack_start(islandsWeightLabel, false, false); - islandsWeightHBox.pack_end(islandsWeightSpinner, false, false); - heuristicsVBox.pack_start(islandsWeightHBox, false, false); - - sparsePixelsRadiusLabel.set_label(_("Sparse pixels (window _radius):")); - sparsePixelsRadiusLabel.set_use_underline(true); - sparsePixelsRadiusLabel.set_mnemonic_widget(sparsePixelsRadiusSpinner); - - sparsePixelsRadiusSpinner.set_increments(1, 0); - sparsePixelsRadiusSpinner.set_range(2, 8); - sparsePixelsRadiusSpinner.get_adjustment()->signal_value_changed() - .connect(sigc::mem_fun(*this, &PixelArtDialogImpl::updatePreview)); - - sparsePixelsRadiusSpinner.set_tooltip_text(_("The radius of the window analyzed")); - sparsePixelsMultiplierLabel.set_label(_("Sparse pixels (_multiplier):")); - sparsePixelsMultiplierLabel.set_use_underline(true); - sparsePixelsMultiplierLabel.set_mnemonic_widget(sparsePixelsMultiplierSpinner); - - sparsePixelsMultiplierSpinner.set_increments(0.125, 0); - sparsePixelsMultiplierSpinner.set_digits(3); - sparsePixelsMultiplierSpinner.set_range(-10, 10); - sparsePixelsMultiplierSpinner.get_adjustment()->signal_value_changed() - .connect(sigc::mem_fun(*this, &PixelArtDialogImpl::updatePreview)); - - { - char const *str = _("Favors connections that are part of foreground color"); - sparsePixelsRadiusLabel.set_tooltip_text(str); - sparsePixelsMultiplierLabel.set_tooltip_text(str); - } - - { - char const *str = _("The heuristic computed vote will be multiplied by this value"); - curvesMultiplierSpinner.set_tooltip_text(str); - sparsePixelsMultiplierSpinner.set_tooltip_text(str); - } - - sparsePixelsRadiusHBox.pack_start(sparsePixelsRadiusLabel, false, false); - sparsePixelsRadiusHBox.pack_end(sparsePixelsRadiusSpinner, false, false); - heuristicsVBox.pack_start(sparsePixelsRadiusHBox, false, false); - - sparsePixelsMultiplierHBox.pack_start(sparsePixelsMultiplierLabel, false, false); - sparsePixelsMultiplierHBox.pack_end(sparsePixelsMultiplierSpinner, false, false); - heuristicsVBox.pack_start(sparsePixelsMultiplierHBox, false, false); - - heuristicsFrame.set_label(_("Heuristics")); - heuristicsFrame.add(heuristicsVBox); - contents->pack_start(heuristicsFrame, false, false); - } - - // Output - { - voronoiRadioButton.set_label(_("_Voronoi diagram")); - voronoiRadioButton.set_tooltip_text(_("Output composed of straight lines")); - voronoiRadioButton.set_use_underline(true); - outputGroup = voronoiRadioButton.get_group(); - - outputVBox.pack_start(voronoiRadioButton, false, false); - - noOptimizeRadioButton.set_label(_("Convert to _B-spline curves")); - noOptimizeRadioButton.set_tooltip_text(_("Preserve staircasing artifacts")); - noOptimizeRadioButton.set_use_underline(true); - noOptimizeRadioButton.set_group(outputGroup); - - outputVBox.pack_start(noOptimizeRadioButton, false, false); - -#if LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - optimizeRadioButton.set_label(_("_Smooth curves")); - optimizeRadioButton.set_tooltip_text(_("The Kopf-Lischinski algorithm")); - optimizeRadioButton.set_use_underline(true); - optimizeRadioButton.set_group(outputGroup); - - outputVBox.pack_start(optimizeRadioButton, false, false); -#endif // LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - - outputFrame.set_label(_("Output")); - outputFrame.add(outputVBox); - contents->pack_start(outputFrame, true, false); - } - - // Buttons - { - mainResetButton = addResponseButton(_("Reset"), GTK_RESPONSE_HELP, true); - mainResetButton ->set_tooltip_text(_("Reset all settings to defaults")); - - //## The OK button - mainCancelButton = addResponseButton(_("_Stop"), GTK_RESPONSE_CANCEL); - if (mainCancelButton) { - mainCancelButton->set_tooltip_text(_("Abort a trace in progress")); - mainCancelButton->set_sensitive(false); - } - mainOkButton = addResponseButton(_("_OK"), GTK_RESPONSE_OK); - mainOkButton->set_tooltip_text(_("Execute the trace")); - - contents->pack_start(buttonsHBox); - } - - setDefaults(); - - show_all_children(); - - desktopChangeConn = deskTrack.connectDesktopChanged( sigc::mem_fun(*this, &PixelArtDialogImpl::setTargetDesktop) ); - deskTrack.connect(GTK_WIDGET(gobj())); - - signalResponse().connect(sigc::mem_fun(*this, &PixelArtDialogImpl::responseCallback)); - - dispatcher.connect( - sigc::mem_fun(*this, &PixelArtDialogImpl::onWorkerThreadFinished) ); -} - -void PixelArtDialogImpl::responseCallback(int response_id) -{ - if (response_id == GTK_RESPONSE_OK) { - vectorize(); - } else if (response_id == GTK_RESPONSE_CANCEL) { - // libdepixelize's interface need to be extended to allow aborts - g_atomic_int_set(&abortThread, true); - } else if (response_id == GTK_RESPONSE_HELP) { - setDefaults(); - } else { - hide(); - return; - } -} - -Tracer::Kopf2011::Options PixelArtDialogImpl::options() -{ - Tracer::Kopf2011::Options options; - - options.curvesMultiplier = curvesMultiplierSpinner.get_value(); - options.islandsWeight = islandsWeightSpinner.get_value_as_int(); - options.sparsePixelsMultiplier = sparsePixelsMultiplierSpinner.get_value(); - options.sparsePixelsRadius = sparsePixelsRadiusSpinner.get_value_as_int(); -#if LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - options.optimize = optimizeRadioButton.get_active(); -#else // LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - options.optimize = false; -#endif // LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - - options.nthreads = Inkscape::Preferences::get() - ->getIntLimited("/options/threading/numthreads", -#ifdef HAVE_OPENMP - omp_get_num_procs(), -#else - 1, -#endif // HAVE_OPENMP - 1, 256); - - return options; -} - -void PixelArtDialogImpl::vectorize() -{ - Inkscape::MessageStack *msgStack = desktop->getMessageStack(); - - if ( !desktop->selection ) { - char *msg = _("Select an <b>image</b> to trace"); - msgStack->flash(Inkscape::ERROR_MESSAGE, msg); - return; - } - - auto items = desktop->selection->items(); - for(auto i=items.begin(); i!=items.end();++i){ - if ( !SP_IS_IMAGE(*i) ) - continue; - - SPImage *img = SP_IMAGE(*i); - Input input; - input.pixbuf = Glib::wrap(img->pixbuf->getPixbufRaw(), true); - input.x = img->x; - input.y = img->y; - - if ( input.pixbuf->get_width() > 256 - || input.pixbuf->get_height() > 256 ) { - char *msg = _("Image looks too big. Process may take a while and it is" - " wise to save your document before continuing." - "\n\nContinue the procedure (without saving)?"); - Gtk::MessageDialog dialog(msg, false, Gtk::MESSAGE_WARNING, - Gtk::BUTTONS_OK_CANCEL, true); - - if ( dialog.run() != Gtk::RESPONSE_OK ) - continue; - } - - queue.push_back(input); - } - - if ( !queue.size() ) { - char *msg = _("Select an <b>image</b> to trace"); - msgStack->flash(Inkscape::ERROR_MESSAGE, msg); - return; - } - - mainCancelButton->set_sensitive(true); - mainOkButton->set_sensitive(false); - - lastOptions = options(); - - g_atomic_int_set(&abortThread, false); - thread = Glib::Thread::create(sigc::mem_fun(*this, &PixelArtDialogImpl::workerThread), - /*joinable =*/true); -} - -void PixelArtDialogImpl::processLibdepixelize(const Input &input) -{ - Tracer::Splines out; - - if ( input.pixbuf->get_width() > 256 || input.pixbuf->get_height() > 256 ) { - char *msg = _("Image looks too big. Process may take a while and it is" - " wise to save your document before continuing." - "\n\nContinue the procedure (without saving)?"); - Gtk::MessageDialog dialog(msg, false, Gtk::MESSAGE_WARNING, - Gtk::BUTTONS_OK_CANCEL, true); - - if ( dialog.run() != Gtk::RESPONSE_OK ) - return; - } - - if ( voronoiRadioButton.get_active() ) { - output.emplace_back(Tracer::Kopf2011::to_voronoi(input.pixbuf, - lastOptions), - input.x, input.y); - } else { - output.emplace_back(Tracer::Kopf2011::to_splines(input.pixbuf, - lastOptions), - input.x, input.y); - } -} - -void PixelArtDialogImpl::importOutput(const Output &output) -{ - Inkscape::XML::Document *xml_doc = desktop->doc()->getReprDoc(); - Inkscape::XML::Node *group = xml_doc->createElement("svg:g"); - - for ( Tracer::Splines::const_iterator it = output.splines.begin(), - end = output.splines.end() ; it != end ; ++it ) { - Inkscape::XML::Node *repr = xml_doc->createElement("svg:path"); - - { - 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); - repr->setAttribute("d", str); - g_free(str); - - group->appendChild(repr); - - Inkscape::GC::release(repr); - } - - { - group->setAttribute("transform", - (std::string("translate(") - + sp_svg_length_write_with_units(output.x) - + ' ' + sp_svg_length_write_with_units(output.y) - + ')').c_str()); - } - - desktop->currentLayer()->appendChildRepr(group); - - Inkscape::GC::release(group); - - DocumentUndo::done(desktop->doc(), SP_VERB_SELECTION_PIXEL_ART, - _("Trace pixel art")); - - // Flush pending updates - desktop->doc()->ensureUpToDate(); -} - -void PixelArtDialogImpl::setDefaults() -{ - ignorePreview = true; - - curvesMultiplierSpinner.set_value(Tracer::Kopf2011::Options - ::CURVES_MULTIPLIER); - - islandsWeightSpinner.set_value(Tracer::Kopf2011::Options::ISLANDS_WEIGHT); - - sparsePixelsRadiusSpinner.set_value(Tracer::Kopf2011::Options - ::SPARSE_PIXELS_RADIUS); - - sparsePixelsMultiplierSpinner.set_value(Tracer::Kopf2011::Options - ::SPARSE_PIXELS_MULTIPLIER); - -#if LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - optimizeRadioButton.set_active(); -#else // LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - noOptimizeRadioButton.set_active(); -#endif // LIBDEPIXELIZE_INKSCAPE_ENABLE_SMOOTH - - ignorePreview = false; - - if ( pendingPreview ) - updatePreview(); -} - -void PixelArtDialogImpl::updatePreview() -{ - if ( ignorePreview ) { - pendingPreview = true; - return; - } - - // TODO: update preview - pendingPreview = false; -} - -void PixelArtDialogImpl::workerThread() -{ - for ( std::vector<Input>::iterator it = queue.begin(), end = queue.end() - ; it != end && !g_atomic_int_get(&abortThread) ; ++it ) { - processLibdepixelize(*it); - } - queue.clear(); - dispatcher(); -} - -void PixelArtDialogImpl::onWorkerThreadFinished() -{ - thread->join(); - thread = nullptr; - for ( std::vector<Output>::const_iterator it = output.begin(), - end = output.end() ; it != end ; ++it ) { - importOutput(*it); - } - output.clear(); - mainCancelButton->set_sensitive(false); - mainOkButton->set_sensitive(true); -} - -/** - * Factory method. Use this to create a new PixelArtDialog - */ -PixelArtDialog &PixelArtDialog::getInstance() -{ - PixelArtDialog *dialog = new PixelArtDialogImpl(); - return *dialog; -} - -PixelArtDialogImpl::~PixelArtDialogImpl() -{ - desktopChangeConn.disconnect(); -} - - -} //namespace Dialog -} //namespace UI -} //namespace Inkscape - -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/pixelartdialog.h b/src/ui/dialog/pixelartdialog.h deleted file mode 100644 index 56795fd94..000000000 --- a/src/ui/dialog/pixelartdialog.h +++ /dev/null @@ -1,59 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/** @file - * @brief Bitmap tracing settings dialog - */ -/* Authors: - * Bob Jamison - * Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com> - * Other dudes from The Inkscape Organization - * - * Copyright (C) 2004, 2005 Authors - * Released under GNU GPL v2+, read the file 'COPYING' for more information. - */ - -#ifndef __PIXELARTDIALOG_H__ -#define __PIXELARTDIALOG_H__ - -#include "ui/widget/panel.h" -#include "verbs.h" - -namespace Inkscape { -namespace UI { -namespace Dialog { - - -/** - * A dialog that displays log messages - */ -class PixelArtDialog : public UI::Widget::Panel -{ - -public: - - PixelArtDialog() : - UI::Widget::Panel("/dialogs/pixelart", SP_VERB_SELECTION_PIXEL_ART) - {} - - - static PixelArtDialog &getInstance(); - - ~PixelArtDialog() override = default;; -}; - - -} //namespace Dialog -} //namespace UI -} //namespace Inkscape - -#endif /* __PIXELARTDIALOGDIALOG_H__ */ - -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : diff --git a/src/verbs.cpp b/src/verbs.cpp index f36ef4c90..86551939c 100644 --- a/src/verbs.cpp +++ b/src/verbs.cpp @@ -1261,10 +1261,6 @@ void SelectionVerb::perform(SPAction *action, void *data) break; #endif - case SP_VERB_SELECTION_PIXEL_ART: - INKSCAPE.dialogs_unhide(); - dt->_dlg_mgr->showDialog("PixelArt"); - break; case SP_VERB_SELECTION_CREATE_BITMAP: dt->selection->createBitmapCopy(); break; @@ -2779,9 +2775,6 @@ Verb *Verb::_base_verbs[] = { N_("Create one or more paths from a bitmap by tracing it"), INKSCAPE_ICON("bitmap-trace")), #endif - new SelectionVerb(SP_VERB_SELECTION_PIXEL_ART, "SelectionPixelArt", N_("Trace Pixel Art..."), - N_("Create paths using Kopf-Lischinski algorithm to vectorize pixel art"), - INKSCAPE_ICON("pixelart-trace")), new SelectionVerb(SP_VERB_SELECTION_CREATE_BITMAP, "SelectionCreateBitmap", N_("Make a _Bitmap Copy"), N_("Export selection to a bitmap and insert it into document"), INKSCAPE_ICON("selection-make-bitmap-copy")), diff --git a/src/verbs.h b/src/verbs.h index bef596379..171af3f2d 100644 --- a/src/verbs.h +++ b/src/verbs.h @@ -154,7 +154,6 @@ enum { SP_VERB_SELECTION_TRACE, #endif - SP_VERB_SELECTION_PIXEL_ART, SP_VERB_SELECTION_CREATE_BITMAP, SP_VERB_SELECTION_COMBINE, SP_VERB_SELECTION_BREAK_APART, |
