diff options
| author | Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com> | 2013-09-13 07:00:18 +0000 |
|---|---|---|
| committer | Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com> | 2013-09-13 07:00:18 +0000 |
| commit | 0f397bdb1eae4d190a5a7d7a4792d0571917753b (patch) | |
| tree | 3898ca27cedb36503dfd13818880062566fdc6aa /src/libdepixelize/priv | |
| parent | Removing obvious comments from PixelArtDialog (diff) | |
| download | inkscape-0f397bdb1eae4d190a5a7d7a4792d0571917753b.tar.gz inkscape-0f397bdb1eae4d190a5a7d7a4792d0571917753b.zip | |
Bumping new version of libdepixelize
(bzr r12506.1.3)
Diffstat (limited to 'src/libdepixelize/priv')
| -rw-r--r-- | src/libdepixelize/priv/branchless.h | 26 | ||||
| -rw-r--r-- | src/libdepixelize/priv/colorspace.h | 2 | ||||
| -rw-r--r-- | src/libdepixelize/priv/homogeneoussplines.h | 2 | ||||
| -rw-r--r-- | src/libdepixelize/priv/pixelgraph.h | 11 | ||||
| -rw-r--r-- | src/libdepixelize/priv/point.h | 2 | ||||
| -rw-r--r-- | src/libdepixelize/priv/simplifiedvoronoi.h | 3 | ||||
| -rw-r--r-- | src/libdepixelize/priv/utils.h | 87 |
7 files changed, 11 insertions, 122 deletions
diff --git a/src/libdepixelize/priv/branchless.h b/src/libdepixelize/priv/branchless.h index f8f041cce..487a9688d 100644 --- a/src/libdepixelize/priv/branchless.h +++ b/src/libdepixelize/priv/branchless.h @@ -32,31 +32,13 @@ namespace Tracer { */ namespace branchless { -template<class T> -T first_if(T first, T second, bool cond) -{ - return first * cond + second * (1 - cond); -} - -template<class T> -T min(T first, T second) -{ - return first - (first > second) * (first - second); -} - -template<class T> -T max(T first, T second) -{ - return first + (first < second) * (second - first); -} - -/** - * When abs(first - second) == 1 +/* + * All modern processors optimize the branch to a conditional move */ template<class T> -T max_consecutive(T first, T second) +T first_if(T first, T second, bool cond) { - return first + (first < second); + return cond ? first : second; } } // namespace branchless diff --git a/src/libdepixelize/priv/colorspace.h b/src/libdepixelize/priv/colorspace.h index 21025b852..4982630ad 100644 --- a/src/libdepixelize/priv/colorspace.h +++ b/src/libdepixelize/priv/colorspace.h @@ -25,7 +25,7 @@ #ifndef LIBDEPIXELIZE_TRACER_YUV_H #define LIBDEPIXELIZE_TRACER_YUV_H -#include <glib/gtypes.h> +#include <glib.h> namespace Tracer { namespace colorspace { diff --git a/src/libdepixelize/priv/homogeneoussplines.h b/src/libdepixelize/priv/homogeneoussplines.h index d6860cdf4..57c77a163 100644 --- a/src/libdepixelize/priv/homogeneoussplines.h +++ b/src/libdepixelize/priv/homogeneoussplines.h @@ -82,8 +82,6 @@ public: return _polygons.end(); } - // Capacity - size_type size() const { return _polygons.size(); diff --git a/src/libdepixelize/priv/pixelgraph.h b/src/libdepixelize/priv/pixelgraph.h index 0ae4f36b4..32523d8ee 100644 --- a/src/libdepixelize/priv/pixelgraph.h +++ b/src/libdepixelize/priv/pixelgraph.h @@ -40,7 +40,7 @@ public: /* * Hamming weight of \p adj */ - unsigned adjsize() + unsigned adjsize() const { unsigned all[8] = { adj.top, @@ -145,7 +145,6 @@ public: return _nodes.rend(); } - // Capacity size_t size() const { return _nodes.size(); @@ -164,14 +163,14 @@ public: // Algorithms void connectAllNeighbors(); - int toX(Node *n) const + int toX(const_iterator n) const { - return (n - &_nodes[0]) % _width; + return (&*n - &_nodes[0]) % _width; } - int toY(Node *n) const + int toY(const_iterator n) const { - return (n - &_nodes[0]) / _width; + return (&*n - &_nodes[0]) / _width; } iterator nodeTop(iterator n) diff --git a/src/libdepixelize/priv/point.h b/src/libdepixelize/priv/point.h index 037c03de6..6bea752ed 100644 --- a/src/libdepixelize/priv/point.h +++ b/src/libdepixelize/priv/point.h @@ -25,8 +25,6 @@ #ifndef LIBDEPIXELIZE_TRACER_POINT_H #define LIBDEPIXELIZE_TRACER_POINT_H -#include <glib/gtypes.h> - namespace Tracer { template<class T> diff --git a/src/libdepixelize/priv/simplifiedvoronoi.h b/src/libdepixelize/priv/simplifiedvoronoi.h index 7c4a6d9fb..a33695ff7 100644 --- a/src/libdepixelize/priv/simplifiedvoronoi.h +++ b/src/libdepixelize/priv/simplifiedvoronoi.h @@ -105,7 +105,6 @@ public: return _cells.rend(); } - // Capacity size_t size() const { return _cells.size(); @@ -1011,7 +1010,7 @@ SimplifiedVoronoi<T> // or it might be 1-color and doesn't matter, // because the current node will disappear vertex.smooth - = !( vertex.smooth = bottom(a_it) ^ bottom(b_it) ); + = !( bottom(a_it) ^ bottom(b_it) ); if ( vertex.smooth ) { vertex.smooth diff --git a/src/libdepixelize/priv/utils.h b/src/libdepixelize/priv/utils.h deleted file mode 100644 index 8a8e03352..000000000 --- a/src/libdepixelize/priv/utils.h +++ /dev/null @@ -1,87 +0,0 @@ -/* This file is part of the libdepixelize project - Copyright (C) 2013 Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com> - - GNU Lesser General Public License Usage - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by the - Free Software Foundation; either version 2.1 of the License, or (at your - option) any later version. - You should have received a copy of the GNU Lesser General Public License - along with this library. If not, see <http://www.gnu.org/licenses/>. - - GNU General Public License Usage - Alternatively, this library may be used under the terms of the GNU General - Public License as published by the Free Software Foundation, either version - 2 of the License, or (at your option) any later version. - You should have received a copy of the GNU General Public License along with - this library. If not, see <http://www.gnu.org/licenses/>. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. -*/ - -#ifndef LIBDEPIXELIZE_TRACER_UTILS_H -#define LIBDEPIXELIZE_TRACER_UTILS_H - -#include "pixelgraph.h" -#include "simplifiedvoronoi.h" -#include <iostream> -#include <ios> -#include <iomanip> - -namespace Tracer { -namespace Utils { - -template<class T> -Splines to_splines(const SimplifiedVoronoi<T> &diagram) -{ - svg << "<svg xmlns=\"http://www.w3.org/2000/svg\"" - " width=\"" << diagram.width() - << "px\" height=\"" << diagram.height() - << "px\">"; - - for ( typename SimplifiedVoronoi<T>::const_iterator it = diagram.begin() - , end = diagram.end() ; it != end ; ++it ) { - typename std::vector< Point<T> >::const_iterator - it2 = it->vertices.begin(), end2 = it->vertices.end(); - if ( it2 == end2 ) - continue; - - svg << "<path d=\"M"; - - for ( ; it2 != end2 ; ++it2 ) - svg << ' ' << it2->x << ' ' << it2->y; - - std::hex(svg); - svg << " z\" fill=\"#" - << std::setfill('0') - << std::setw(2) << int(it->rgba[0]) - << std::setw(2) << int(it->rgba[1]) - << std::setw(2) << int(it->rgba[2]) - << std::setw(0) << std::setfill(' ') << "\" fill-opacity=\"" - << double(it->rgba[3]) / 255.; - std::dec(svg); - - svg << "\" />"; - } - - svg << "</svg>" << std::endl; -} - -} // namespace Utils -} // namespace Tracer - -#endif // LIBDEPIXELIZE_TRACER_UTILS_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:encoding=utf-8:textwidth=99 : |
