[aseprite] 14/308: Switch shading colors with X key

Tobias Hansen thansen at moszumanska.debian.org
Tue Mar 8 02:44:47 UTC 2016


This is an automated email from the git hooks/post-receive script.

thansen pushed a commit to branch master
in repository aseprite.

commit e683b8fb1a8f66cf60b9bf5bcb80fa20483e1b32
Author: David Capello <davidcapello at gmail.com>
Date:   Fri Nov 20 18:44:08 2015 -0300

    Switch shading colors with X key
    
    Related to #85 and #854
---
 src/app/commands/cmd_switch_colors.cpp | 26 ++++++++++++++++++++++++--
 src/app/ui/context_bar.cpp             | 10 ++++++++++
 src/app/ui/context_bar.h               |  1 +
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/src/app/commands/cmd_switch_colors.cpp b/src/app/commands/cmd_switch_colors.cpp
index c0a04cb..8922998 100644
--- a/src/app/commands/cmd_switch_colors.cpp
+++ b/src/app/commands/cmd_switch_colors.cpp
@@ -11,7 +11,11 @@
 
 #include "app/app.h"
 #include "app/commands/command.h"
+#include "app/modules/editors.h"
 #include "app/ui/color_bar.h"
+#include "app/ui/context_bar.h"
+#include "app/ui/editor/editor.h"
+#include "app/ui/main_window.h"
 #include "ui/base.h"
 
 namespace app {
@@ -21,7 +25,8 @@ public:
   SwitchColorsCommand();
 
 protected:
-  void onExecute(Context* context);
+  bool onEnabled(Context* context) override;
+  void onExecute(Context* context) override;
 };
 
 SwitchColorsCommand::SwitchColorsCommand()
@@ -31,12 +36,29 @@ SwitchColorsCommand::SwitchColorsCommand()
 {
 }
 
+bool SwitchColorsCommand::onEnabled(Context* context)
+{
+  return (current_editor ? true: false);
+}
+
 void SwitchColorsCommand::onExecute(Context* context)
 {
+  ASSERT(current_editor);
+  if (!current_editor)
+    return;
+
+  tools::Tool* tool = current_editor->getCurrentEditorTool();
+  if (tool) {
+    const auto& toolPref(Preferences::instance().tool(tool));
+    if (toolPref.ink() == tools::InkType::SHADING) {
+      App::instance()->getMainWindow()->
+        getContextBar()->reverseShadesColors();
+    }
+  }
+
   ColorBar* colorbar = ColorBar::instance();
   app::Color fg = colorbar->getFgColor();
   app::Color bg = colorbar->getBgColor();
-
   colorbar->setFgColor(bg);
   colorbar->setBgColor(fg);
 }
diff --git a/src/app/ui/context_bar.cpp b/src/app/ui/context_bar.cpp
index ef1de84..9226de1 100644
--- a/src/app/ui/context_bar.cpp
+++ b/src/app/ui/context_bar.cpp
@@ -437,6 +437,11 @@ public:
     setText("Select colors in the palette");
   }
 
+  void reverseColors() {
+    std::reverse(m_colors.begin(), m_colors.end());
+    invalidate();
+  }
+
   doc::Remap* createShadesRemap(bool left) {
     base::UniquePtr<doc::Remap> remap;
     Colors colors = getColors();
@@ -1503,4 +1508,9 @@ doc::Remap* ContextBar::createShadesRemap(bool left)
   return m_inkShades->createShadesRemap(left);
 }
 
+void ContextBar::reverseShadesColors()
+{
+  m_inkShades->reverseColors();
+}
+
 } // namespace app
diff --git a/src/app/ui/context_bar.h b/src/app/ui/context_bar.h
index 52ca071..0d0bda8 100644
--- a/src/app/ui/context_bar.h
+++ b/src/app/ui/context_bar.h
@@ -71,6 +71,7 @@ namespace app {
       ToolPreferences::Brush* brushPref = nullptr);
 
     doc::Remap* createShadesRemap(bool left);
+    void reverseShadesColors();
 
     // Signals
     Signal0<void> BrushChange;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git



More information about the Pkg-games-commits mailing list