summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/color.cpp54
-rw-r--r--src/color.h2
-rw-r--r--src/desktop-style.cpp26
-rw-r--r--src/style.cpp12
-rw-r--r--src/svg/Makefile_insert1
-rw-r--r--src/svg/svg-color.cpp105
-rw-r--r--src/svg/svg-color.h3
-rw-r--r--src/svg/svg-device-color.h26
-rw-r--r--src/widgets/sp-color-scales.cpp26
9 files changed, 10 insertions, 245 deletions
diff --git a/src/color.cpp b/src/color.cpp
index 07c15ff15..ae1bfa05d 100644
--- a/src/color.cpp
+++ b/src/color.cpp
@@ -17,7 +17,6 @@
#include <math.h>
#include "color.h"
#include "svg/svg-icc-color.h"
-#include "svg/svg-device-color.h"
#include "svg/svg-color.h"
#include "svg/css-ostringstream.h"
@@ -30,8 +29,7 @@ static bool profileMatches( SVGICCColor const* first, SVGICCColor const* second
#define PROFILE_EPSILON 0.00000001
SPColor::SPColor() :
- icc(0),
- device(0)
+ icc(0)
{
v.c[0] = 0;
v.c[1] = 0;
@@ -39,22 +37,19 @@ SPColor::SPColor() :
}
SPColor::SPColor( SPColor const& other ) :
- icc(0),
- device(0)
+ icc(0)
{
*this = other;
}
SPColor::SPColor( float r, float g, float b ) :
- icc(0),
- device(0)
+ icc(0)
{
set( r, g, b );
}
SPColor::SPColor( guint32 value ) :
- icc(0),
- device(0)
+ icc(0)
{
set( value );
}
@@ -62,16 +57,13 @@ SPColor::SPColor( guint32 value ) :
SPColor::~SPColor()
{
delete icc;
- delete device;
icc = 0;
- device = 0;
}
SPColor& SPColor::operator= (SPColor const& other)
{
SVGICCColor* tmp_icc = other.icc ? new SVGICCColor(*other.icc) : 0;
- SVGDeviceColor* tmp_device = other.device ? new SVGDeviceColor(*other.device) : 0;
v.c[0] = other.v.c[0];
v.c[1] = other.v.c[1];
@@ -81,11 +73,6 @@ SPColor& SPColor::operator= (SPColor const& other)
}
icc = tmp_icc;
- if ( device ) {
- delete device;
- }
- device = tmp_device;
-
return *this;
}
@@ -100,7 +87,6 @@ bool SPColor::operator == (SPColor const& other) const
&& (v.c[2] != other.v.c[2]);
match &= profileMatches( icc, other.icc );
-//TODO?: match &= devicecolorMatches( device, other.device );
return match;
}
@@ -219,38 +205,6 @@ std::string SPColor::toString() const
css << ')';
}
- if ( device && device->type != DEVICE_COLOR_INVALID) {
- if ( !css.str().empty() ) {
- css << " ";
- }
-
- switch(device->type){
- case DEVICE_GRAY:
- css << "device-gray(";
- break;
- case DEVICE_RGB:
- css << "device-rgb(";
- break;
- case DEVICE_CMYK:
- css << "device-cmyk(";
- break;
- case DEVICE_NCHANNEL:
- css << "device-nchannel(";
- break;
- case DEVICE_COLOR_INVALID:
- //should not be reached
- break;
- }
-
- for (vector<double>::const_iterator i(device->colors.begin()),
- iEnd(device->colors.end());
- i != iEnd; ++i) {
- if (i!=device->colors.begin()) css << ", ";
- css << *i;
- }
- css << ')';
- }
-
return css.str();
}
diff --git a/src/color.h b/src/color.h
index 7fd351360..bebeaec60 100644
--- a/src/color.h
+++ b/src/color.h
@@ -34,7 +34,6 @@
#define SP_RGBA32_F_COMPOSE(r,g,b,a) SP_RGBA32_U_COMPOSE (SP_COLOR_F_TO_U (r), SP_COLOR_F_TO_U (g), SP_COLOR_F_TO_U (b), SP_COLOR_F_TO_U (a))
struct SVGICCColor;
-struct SVGDeviceColor;
/**
* An RGB color with optional icc-color part
@@ -60,7 +59,6 @@ struct SPColor {
std::string toString() const;
SVGICCColor* icc;
- SVGDeviceColor* device;
union {
float c[3];
} v;
diff --git a/src/desktop-style.cpp b/src/desktop-style.cpp
index e11fa1493..5866b14fb 100644
--- a/src/desktop-style.cpp
+++ b/src/desktop-style.cpp
@@ -44,7 +44,6 @@
#include "desktop-style.h"
#include "svg/svg-icc-color.h"
-#include "svg/svg-device-color.h"
#include "box3d-side.h"
/**
@@ -466,7 +465,6 @@ objects_query_fillstroke (GSList *objects, SPStyle *style_res, bool const isfill
paint_res->set = TRUE;
SVGICCColor* iccColor = 0;
- SVGDeviceColor* devColor = 0;
bool iccSeen = false;
gfloat c[4];
@@ -570,22 +568,6 @@ objects_query_fillstroke (GSList *objects, SPStyle *style_res, bool const isfill
c[2] += d[2];
c[3] += SP_SCALE24_TO_FLOAT (isfill? style->fill_opacity.value : style->stroke_opacity.value);
- // average device color
- unsigned int it;
- if (i==objects /*if this is the first object in the GList*/
- && paint->value.color.device){
- devColor = new SVGDeviceColor(*paint->value.color.device);
- for (it=0; it < paint->value.color.device->colors.size(); it++){
- devColor->colors[it] = 0;
- }
- }
-
- if (devColor && paint->value.color.device && paint->value.color.device->type == devColor->type){
- for (it=0; it < paint->value.color.device->colors.size(); it++){
- devColor->colors[it] += paint->value.color.device->colors[it];
- }
- }
-
num ++;
}
@@ -625,14 +607,6 @@ objects_query_fillstroke (GSList *objects, SPStyle *style_res, bool const isfill
paint_res->value.color.icc = tmp;
}
- // divide and store the device-color
- if (devColor){
- for (unsigned int it=0; it < devColor->colors.size(); it++){
- devColor->colors[it] /= num;
- }
- paint_res->value.color.device = devColor;
- }
-
if (num > 1) {
if (same_color)
return QUERY_STYLE_MULTIPLE_SAME;
diff --git a/src/style.cpp b/src/style.cpp
index 2b5804671..ffc1fb0ae 100644
--- a/src/style.cpp
+++ b/src/style.cpp
@@ -28,7 +28,6 @@
#include "svg/svg.h"
#include "svg/svg-color.h"
#include "svg/svg-icc-color.h"
-#include "svg/svg-device-color.h"
#include "display/canvas-bpath.h"
#include "attributes.h"
@@ -3259,17 +3258,6 @@ sp_style_read_ipaint(SPIPaint *paint, gchar const *str, SPStyle *style, SPDocume
}
paint->value.color.icc = tmp;
}
- if (strneq(str, "device-gray(", 12) ||
- strneq(str, "device-rgb(", 11) ||
- strneq(str, "device-cmyk(", 12) ||
- strneq(str, "device-nchannel(", 16)) {
- SVGDeviceColor* tmp = new SVGDeviceColor();
- if ( ! sp_svg_read_device_color( str, &str, tmp ) ) {
- delete tmp;
- tmp = 0;
- }
- paint->value.color.device = tmp;
- }
}
}
}
diff --git a/src/svg/Makefile_insert b/src/svg/Makefile_insert
index c27b2291c..265210a45 100644
--- a/src/svg/Makefile_insert
+++ b/src/svg/Makefile_insert
@@ -14,7 +14,6 @@ ink_common_sources += \
svg/svg-affine.cpp \
svg/svg-color.cpp \
svg/svg-color.h \
- svg/svg-device-color.h \
svg/svg-icc-color.h \
svg/svg-length.cpp \
svg/svg-length.h \
diff --git a/src/svg/svg-color.cpp b/src/svg/svg-color.cpp
index 7d43b68ee..04f387798 100644
--- a/src/svg/svg-color.cpp
+++ b/src/svg/svg-color.cpp
@@ -35,7 +35,6 @@
#include "preferences.h"
#include "svg-color.h"
#include "svg-icc-color.h"
-#include "svg-device-color.h"
#if ENABLE_LCMS
#include <lcms.h>
@@ -606,110 +605,6 @@ bool sp_svg_read_icc_color( gchar const *str, SVGICCColor* dest )
return sp_svg_read_icc_color(str, NULL, dest);
}
-bool sp_svg_read_device_color( gchar const *str, gchar const **end_ptr, SVGDeviceColor* dest)
-{
- bool good = true;
- unsigned int max_colors;
-
- if ( end_ptr ) {
- *end_ptr = str;
- }
- if ( dest ) {
- dest->colors.clear();
- }
-
- if ( !str ) {
- // invalid input
- good = false;
- } else {
- while ( g_ascii_isspace(*str) ) {
- str++;
- }
-
- dest->type = DEVICE_COLOR_INVALID;
- if (strneq( str, "device-gray(", 12 )){
- dest->type = DEVICE_GRAY;
- max_colors=1;
- str += 12;
- }
-
- if (strneq( str, "device-rgb(", 11 )){
- dest->type = DEVICE_RGB;
- max_colors=3;
- str += 11;
- }
-
- if (strneq( str, "device-cmyk(", 12 )){
- dest->type = DEVICE_CMYK;
- max_colors=4;
- str += 12;
- }
-
- if (strneq( str, "device-nchannel(", 16 )){
- dest->type = DEVICE_NCHANNEL;
- max_colors=0;
- str += 16;
- }
-
- if ( dest->type != DEVICE_COLOR_INVALID ) {
- while ( g_ascii_isspace(*str) ) {
- str++;
- }
-
- while ( *str && *str != ')' ) {
- if ( g_ascii_isdigit(*str) || *str == '.' || *str == '-' || *str == '+') {
- gchar* endPtr = 0;
- gdouble dbl = g_ascii_strtod( str, &endPtr );
- if ( !errno ) {
- if ( dest ) {
- dest->colors.push_back( dbl );
- }
- str = endPtr;
- } else {
- good = false;
- break;
- }
-
- while ( g_ascii_isspace(*str) || *str == ',' ) {
- str++;
- }
- } else {
- break;
- }
- }
- }
-
- // We need to have ended on a closing parenthesis
- if ( good ) {
- while ( g_ascii_isspace(*str) ) {
- str++;
- }
- good &= (*str == ')');
- }
- }
-
- if ( dest->colors.size() == 0) good=false;
- if ( dest->type != DEVICE_NCHANNEL && (dest->colors.size() != max_colors)) good=false;
-
- if ( good ) {
- if ( end_ptr ) {
- *end_ptr = str;
- }
- } else {
- if ( dest ) {
- dest->type = DEVICE_COLOR_INVALID;
- dest->colors.clear();
- }
- }
-
- return good;
-}
-
-
-bool sp_svg_read_device_color( gchar const *str, SVGDeviceColor* dest)
-{
- return sp_svg_read_device_color(str, NULL, dest);
-}
/*
Local Variables:
diff --git a/src/svg/svg-color.h b/src/svg/svg-color.h
index f4e534652..a3868c149 100644
--- a/src/svg/svg-color.h
+++ b/src/svg/svg-color.h
@@ -4,7 +4,6 @@
#include <glib/gtypes.h>
class SVGICCColor;
-class SVGDeviceColor;
guint32 sp_svg_read_color(gchar const *str, unsigned int dfl);
guint32 sp_svg_read_color(gchar const *str, gchar const **end_ptr, guint32 def);
@@ -12,8 +11,6 @@ void sp_svg_write_color(char *buf, unsigned int buflen, unsigned int rgba32);
bool sp_svg_read_icc_color( gchar const *str, gchar const **end_ptr, SVGICCColor* dest );
bool sp_svg_read_icc_color( gchar const *str, SVGICCColor* dest );
-bool sp_svg_read_device_color( gchar const *str, gchar const **end_ptr, SVGDeviceColor* dest );
-bool sp_svg_read_device_color( gchar const *str, SVGDeviceColor* dest );
void icc_color_to_sRGB(SVGICCColor* dest, guchar* r, guchar* g, guchar* b);
#endif /* !SVG_SVG_COLOR_H_SEEN */
diff --git a/src/svg/svg-device-color.h b/src/svg/svg-device-color.h
deleted file mode 100644
index 305133ed3..000000000
--- a/src/svg/svg-device-color.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef SVG_DEVICE_COLOR_H_SEEN
-#define SVG_DEVICE_COLOR_H_SEEN
-
-#include <string>
-#include <vector>
-
-typedef enum {DEVICE_COLOR_INVALID, DEVICE_GRAY, DEVICE_RGB, DEVICE_CMYK, DEVICE_NCHANNEL} SVGDeviceColorType;
-
-struct SVGDeviceColor {
- SVGDeviceColorType type;
- std::vector<double> colors;
-};
-
-
-#endif /* !SVG_DEVICE_COLOR_H_SEEN */
-
-/*
- 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:encoding=utf-8:textwidth=99 :
diff --git a/src/widgets/sp-color-scales.cpp b/src/widgets/sp-color-scales.cpp
index e41b81e5c..d20cf65ef 100644
--- a/src/widgets/sp-color-scales.cpp
+++ b/src/widgets/sp-color-scales.cpp
@@ -11,7 +11,6 @@
#include "../dialogs/dialog-events.h"
#include "sp-color-scales.h"
#include "svg/svg-icc-color.h"
-#include "svg/svg-device-color.h"
#define CSC_CHANNEL_R (1 << 0)
#define CSC_CHANNEL_G (1 << 1)
@@ -232,12 +231,6 @@ void ColorScales::_recalcColor( gboolean changing )
case SP_COLOR_SCALES_MODE_CMYK:
{
_getCmykaFloatv( c );
- color.device = new SVGDeviceColor();
- color.device->type=DEVICE_CMYK;
- color.device->colors.clear();
- for (int i=0;i<4;i++){
- color.device->colors.push_back(c[i]);
- }
float rgb[3];
sp_color_cmyk_to_rgb_floatv( rgb, c[0], c[1], c[2], c[3] );
@@ -483,19 +476,12 @@ void ColorScales::setMode(SPColorScalesMode mode)
gtk_widget_show (_b[4]);
_updating = TRUE;
- if (_color.device && _color.device->type == DEVICE_CMYK){
- setScaled( _a[0], _color.device->colors[0] );
- setScaled( _a[1], _color.device->colors[1] );
- setScaled( _a[2], _color.device->colors[2] );
- setScaled( _a[3], _color.device->colors[3] );
- } else {
- //If we still dont have a device-color, convert from rbga
- sp_color_rgb_to_cmyk_floatv (c, rgba[0], rgba[1], rgba[2]);
- setScaled( _a[0], c[0] );
- setScaled( _a[1], c[1] );
- setScaled( _a[2], c[2] );
- setScaled( _a[3], c[3] );
- }
+ sp_color_rgb_to_cmyk_floatv (c, rgba[0], rgba[1], rgba[2]);
+ setScaled( _a[0], c[0] );
+ setScaled( _a[1], c[1] );
+ setScaled( _a[2], c[2] );
+ setScaled( _a[3], c[3] );
+
setScaled( _a[4], rgba[3] );
_updating = FALSE;
_updateSliders( CSC_CHANNELS_ALL );