summaryrefslogtreecommitdiffstats
path: root/src/ui/selected-color.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/selected-color.cpp')
-rw-r--r--src/ui/selected-color.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/ui/selected-color.cpp b/src/ui/selected-color.cpp
index 1be171a6b..10ca68b21 100644
--- a/src/ui/selected-color.cpp
+++ b/src/ui/selected-color.cpp
@@ -16,6 +16,8 @@
#include <cmath>
#include <glib.h>
+#include "svg/svg-icc-color.h"
+
namespace Inkscape {
namespace UI {
@@ -24,8 +26,8 @@ double const SelectedColor::_EPSILON = 1e-4;
SelectedColor::SelectedColor()
: _color(0)
, _alpha(1.0)
- , _virgin(true)
, _held(false)
+ , _virgin(true)
{
}
@@ -36,7 +38,7 @@ SelectedColor::~SelectedColor() {
void SelectedColor::setColor(SPColor const &color)
{
- setColorAlpha( color, _alpha );
+ setColorAlpha( color, _alpha, true);
}
SPColor SelectedColor::color() const
@@ -47,7 +49,7 @@ SPColor SelectedColor::color() const
void SelectedColor::setAlpha(gfloat alpha)
{
g_return_if_fail( ( 0.0 <= alpha ) && ( alpha <= 1.0 ) );
- setColorAlpha( _color, alpha );
+ setColorAlpha( _color, alpha, true);
}
gfloat SelectedColor::alpha() const
@@ -111,9 +113,14 @@ void SelectedColor::setHeld(bool held) {
if (released) {
signal_released.emit();
+ signal_changed.emit();
}
}
+void SelectedColor::preserveICC() {
+ _color.icc = _color.icc ? new SVGICCColor(*_color.icc) : 0;
+}
+
}
}