summaryrefslogtreecommitdiffstats
path: root/src/libdepixelize/priv
diff options
context:
space:
mode:
authorVinícius dos Santos Oliveira <vini.ipsmaker@gmail.com>2013-09-13 07:00:18 +0000
committerVinícius dos Santos Oliveira <vini.ipsmaker@gmail.com>2013-09-13 07:00:18 +0000
commit0f397bdb1eae4d190a5a7d7a4792d0571917753b (patch)
tree3898ca27cedb36503dfd13818880062566fdc6aa /src/libdepixelize/priv
parentRemoving obvious comments from PixelArtDialog (diff)
downloadinkscape-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.h26
-rw-r--r--src/libdepixelize/priv/colorspace.h2
-rw-r--r--src/libdepixelize/priv/homogeneoussplines.h2
-rw-r--r--src/libdepixelize/priv/pixelgraph.h11
-rw-r--r--src/libdepixelize/priv/point.h2
-rw-r--r--src/libdepixelize/priv/simplifiedvoronoi.h3
-rw-r--r--src/libdepixelize/priv/utils.h87
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 :