~valavanisalex/ubuntu/oneiric/inkscape/inkscape_0.48.1-2ubuntu4

« back to all changes in this revision

Viewing changes to src/dialogs/eek-color-def.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook, Ted Gould, Kees Cook
  • Date: 2009-06-24 14:00:43 UTC
  • mfrom: (1.1.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20090624140043-07stp20mry48hqup
Tags: 0.47~pre0-0ubuntu1
* New upstream release

[ Ted Gould ]
* debian/control: Adding libgsl0 and removing version specifics on boost

[ Kees Cook ]
* debian/watch: updated to run uupdate and mangle pre-release versions.
* Dropped patches that have been taken upstream:
  - 01_mips
  - 02-poppler-0.8.3
  - 03-chinese-inkscape
  - 05_fix_latex_patch
  - 06_gcc-4.4
  - 07_cdr2svg
  - 08_skip-bad-utf-on-pdf-import
  - 09_gtk-clist
  - 10_belarussian
  - 11_libpng
  - 12_desktop
  - 13_slider
  - 100_svg_import_improvements
  - 102_sp_pattern_painter_free
  - 103_bitmap_type_print

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2
 
 *
3
 
 */
4
 
/* ***** BEGIN LICENSE BLOCK *****
5
 
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6
 
 *
7
 
 * The contents of this file are subject to the Mozilla Public License Version
8
 
 * 1.1 (the "License"); you may not use this file except in compliance with
9
 
 * the License. You may obtain a copy of the License at
10
 
 * http://www.mozilla.org/MPL/
11
 
 *
12
 
 * Software distributed under the License is distributed on an "AS IS" basis,
13
 
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14
 
 * for the specific language governing rights and limitations under the
15
 
 * License.
16
 
 *
17
 
 * The Original Code is Eek Color Definition.
18
 
 *
19
 
 * The Initial Developer of the Original Code is
20
 
 * Jon A. Cruz.
21
 
 * Portions created by the Initial Developer are Copyright (C) 2006
22
 
 * the Initial Developer. All Rights Reserved.
23
 
 *
24
 
 * Contributor(s):
25
 
 *
26
 
 * Alternatively, the contents of this file may be used under the terms of
27
 
 * either the GNU General Public License Version 2 or later (the "GPL"), or
28
 
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29
 
 * in which case the provisions of the GPL or the LGPL are applicable instead
30
 
 * of those above. If you wish to allow use of your version of this file only
31
 
 * under the terms of either the GPL or the LGPL, and not to allow others to
32
 
 * use your version of this file under the terms of the MPL, indicate your
33
 
 * decision by deleting the provisions above and replace them with the notice
34
 
 * and other provisions required by the GPL or the LGPL. If you do not delete
35
 
 * the provisions above, a recipient may use your version of this file under
36
 
 * the terms of any one of the MPL, the GPL or the LGPL.
37
 
 *
38
 
 * ***** END LICENSE BLOCK ***** */
39
 
 
40
 
#include "config.h"
41
 
 
42
 
#ifdef HAVE_LIBINTL_H
43
 
#include <libintl.h>
44
 
#endif
45
 
 
46
 
#if !defined(_)
47
 
#define _(s) gettext(s)
48
 
#endif // !defined(_)
49
 
 
50
 
#include "eek-color-def.h"
51
 
 
52
 
namespace eek
53
 
{
54
 
 
55
 
ColorDef::ColorDef() :
56
 
    descr(_("none")),
57
 
    r(0),
58
 
    g(0),
59
 
    b(0),
60
 
    none(true),
61
 
    editable(false)
62
 
{
63
 
}
64
 
 
65
 
ColorDef::ColorDef( unsigned int r, unsigned int g, unsigned int b, const std::string& description ) :
66
 
    descr(description),
67
 
    r(r),
68
 
    g(g),
69
 
    b(b),
70
 
    none(false),
71
 
    editable(false)
72
 
{
73
 
}
74
 
 
75
 
ColorDef::~ColorDef()
76
 
{
77
 
}
78
 
 
79
 
ColorDef::ColorDef( ColorDef const &other )
80
 
{
81
 
    if ( this != &other ) {
82
 
        *this = other;
83
 
    }
84
 
}
85
 
 
86
 
ColorDef& ColorDef::operator=( ColorDef const &other )
87
 
{
88
 
    if ( this != & other )
89
 
    {
90
 
        r = other.r;
91
 
        g = other.g;
92
 
        b = other.b;
93
 
        descr = other.descr;
94
 
        none = other.none;
95
 
        editable = other.editable;
96
 
    }
97
 
    return *this;
98
 
}
99
 
 
100
 
class ColorDef::HookData {
101
 
public:
102
 
    HookData( ColorCallback cb, void* data ) {_cb = cb; _data = data;}
103
 
    ColorCallback _cb;
104
 
    void* _data;
105
 
};
106
 
 
107
 
void ColorDef::setRGB( unsigned int r, unsigned int g, unsigned int b )
108
 
{
109
 
    if ( r != this->r || g != this->g || b != this->b ) {
110
 
        this->r = r;
111
 
        this->g = g;
112
 
        this->b = b;
113
 
 
114
 
        // beware of callbacks changing things
115
 
        for ( std::vector<HookData*>::iterator it = _listeners.begin(); it != _listeners.end(); ++it )
116
 
        {
117
 
            if ( (*it)->_cb )
118
 
            {
119
 
                (*it)->_cb( (*it)->_data );
120
 
            }
121
 
        }
122
 
    }
123
 
}
124
 
 
125
 
void ColorDef::addCallback( ColorCallback cb, void* data )
126
 
{
127
 
    _listeners.push_back( new HookData(cb, data) );
128
 
}
129
 
 
130
 
void ColorDef::removeCallback( ColorCallback cb, void* data )
131
 
{
132
 
    (void)cb;
133
 
    (void)data;
134
 
}
135
 
 
136
 
 
137
 
} // namespace eek