diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2011-08-27 16:05:32 +0000 |
|---|---|---|
| committer | Krzysztof Kosinski <tweenk.pl@gmail.com> | 2011-08-27 16:05:32 +0000 |
| commit | d6af1140ee108cc7d7fb6e0ba89ff7e30bb7ad3a (patch) | |
| tree | 69ea9c65f725d83ae1bc267ea5a0358a1bc1d793 /src/libnr | |
| parent | Remove all NRRect use. (diff) | |
| download | inkscape-d6af1140ee108cc7d7fb6e0ba89ff7e30bb7ad3a.tar.gz inkscape-d6af1140ee108cc7d7fb6e0ba89ff7e30bb7ad3a.zip | |
Completely remove NRRect, NRRectL, in-svg-plane.h
(bzr r10582.1.6)
Diffstat (limited to 'src/libnr')
| -rw-r--r-- | src/libnr/Makefile_insert | 16 | ||||
| -rw-r--r-- | src/libnr/in-svg-plane-test.h | 82 | ||||
| -rw-r--r-- | src/libnr/in-svg-plane.h | 32 | ||||
| -rw-r--r-- | src/libnr/nr-convert2geom.h | 34 | ||||
| -rw-r--r-- | src/libnr/nr-rect-l.cpp | 59 | ||||
| -rw-r--r-- | src/libnr/nr-rect-l.h | 28 | ||||
| -rw-r--r-- | src/libnr/nr-rect.cpp | 203 | ||||
| -rw-r--r-- | src/libnr/nr-rect.h | 91 | ||||
| -rw-r--r-- | src/libnr/nr-values.cpp | 18 | ||||
| -rw-r--r-- | src/libnr/nr-values.h | 43 |
10 files changed, 1 insertions, 605 deletions
diff --git a/src/libnr/Makefile_insert b/src/libnr/Makefile_insert index cdb0b482c..6156a45e3 100644 --- a/src/libnr/Makefile_insert +++ b/src/libnr/Makefile_insert @@ -1,23 +1,9 @@ ## Makefile.am fragment sourced by src/Makefile.am. ink_common_sources += \ - libnr/in-svg-plane.h \ - libnr/nr-convert2geom.h \ libnr/nr-forward.h \ libnr/nr-macros.h \ libnr/nr-object.cpp \ libnr/nr-object.h \ libnr/nr-point-fns.cpp \ - libnr/nr-point-fns.h \ - libnr/nr-rect-l.cpp \ - libnr/nr-rect-l.h \ - libnr/nr-rect.cpp \ - libnr/nr-rect.h \ - libnr/nr-values.cpp \ - libnr/nr-values.h - -# ###################### -# ### CxxTest stuff #### -# ###################### -CXXTEST_TESTSUITES += \ - $(srcdir)/libnr/in-svg-plane-test.h + libnr/nr-point-fns.h diff --git a/src/libnr/in-svg-plane-test.h b/src/libnr/in-svg-plane-test.h deleted file mode 100644 index 696f82421..000000000 --- a/src/libnr/in-svg-plane-test.h +++ /dev/null @@ -1,82 +0,0 @@ -#include <cxxtest/TestSuite.h> - -#include <glib/gmacros.h> -#include <cmath> - -#include "libnr/in-svg-plane.h" -#include <2geom/math-utils.h> -#include <2geom/point.h> - -class InSvgPlaneTest : public CxxTest::TestSuite -{ -public: - - InSvgPlaneTest() : - setupValid(true), - p3n4( 3.0, -4.0 ), - p0(0.0, 0.0), - small( pow(2.0, -1070) ), - inf( 1e400 ), - nan( inf - inf ), - small_left( -small, 0.0 ), - small_n3_4( -3.0 * small, 4.0 * small ), - part_nan( 3., nan ) - { - setupValid &= IS_NAN(nan); - setupValid &= !IS_NAN(small); - } - virtual ~InSvgPlaneTest() {} - -// createSuite and destroySuite get us per-suite setup and teardown -// without us having to worry about static initialization order, etc. - static InSvgPlaneTest *createSuite() { return new InSvgPlaneTest(); } - static void destroySuite( InSvgPlaneTest *suite ) { delete suite; } - -// Called before each test in this suite - void setUp() - { - TS_ASSERT( setupValid ); - } - - bool setupValid; - Geom::Point const p3n4; - Geom::Point const p0; - double const small; - double const inf; - double const nan; - Geom::Point const small_left; - Geom::Point const small_n3_4; - Geom::Point const part_nan; - - - void testInSvgPlane(void) - { - TS_ASSERT( in_svg_plane(p3n4) ); - TS_ASSERT( in_svg_plane(p0) ); - TS_ASSERT( in_svg_plane(small_left) ); - TS_ASSERT( in_svg_plane(small_n3_4) ); - TS_ASSERT_DIFFERS( nan, nan ); - TS_ASSERT( !in_svg_plane(Geom::Point(nan, 3.)) ); - TS_ASSERT( !in_svg_plane(Geom::Point(inf, nan)) ); - TS_ASSERT( !in_svg_plane(Geom::Point(0., -inf)) ); - double const xs[] = {inf, -inf, nan, 1., -2., small, -small}; - for (unsigned i = 0; i < G_N_ELEMENTS(xs); ++i) { - for (unsigned j = 0; j < G_N_ELEMENTS(xs); ++j) { - TS_ASSERT_EQUALS( in_svg_plane(Geom::Point(xs[i], xs[j])), - (fabs(xs[i]) < inf && - fabs(xs[j]) < inf ) ); - } - } - } -}; - -/* - 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:fileencoding=utf-8:textwidth=99 : diff --git a/src/libnr/in-svg-plane.h b/src/libnr/in-svg-plane.h deleted file mode 100644 index 68c9e92a0..000000000 --- a/src/libnr/in-svg-plane.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef SEEN_LIBNR_IN_SVG_PLANE_H -#define SEEN_LIBNR_IN_SVG_PLANE_H - -#include <2geom/point.h> - -/** - * Returns true iff the coordinates of \a p are finite, non-NaN, and "small enough". Currently we - * use the magic number 1e18 for determining "small enough", as this number has in the past been - * used in sodipodi code as a sort of "infinity" value. - * - * For SVG Tiny output, we might choose a smaller value corresponding to the range of valid numbers - * in SVG Tiny (which uses fixed-point arithmetic). - */ -inline bool -in_svg_plane(Geom::Point const &p) -{ - return Geom::LInfty(p) < 1e18; -} - - -#endif /* !SEEN_LIBNR_IN_SVG_PLANE_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:fileencoding=utf-8:textwidth=99 : diff --git a/src/libnr/nr-convert2geom.h b/src/libnr/nr-convert2geom.h deleted file mode 100644 index 7e2423ea6..000000000 --- a/src/libnr/nr-convert2geom.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef INKSCAPE_LIBNR_CONVERT2GEOM_H -#define INKSCAPE_LIBNR_CONVERT2GEOM_H - -/* - * Converts between NR and 2Geom types. - * -* Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl> - * - * Released under GNU GPL, read the file 'COPYING' for more information - */ - -#include <libnr/nr-rect.h> -#include <2geom/rect.h> - -inline Geom::OptRect to_2geom(NRRect const *nr) { - Geom::OptRect ret; - if (!nr) return ret; - if (nr->x1 < nr->x0 || nr->y1 < nr->y0) return ret; - ret = Geom::Rect(Geom::Point(nr->x0, nr->y0), Geom::Point(nr->x1, nr->y1)); - return ret; -} - -#endif - -/* - 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:fileencoding=utf-8:textwidth=99 : diff --git a/src/libnr/nr-rect-l.cpp b/src/libnr/nr-rect-l.cpp deleted file mode 100644 index 1cb268266..000000000 --- a/src/libnr/nr-rect-l.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "libnr/nr-rect-l.h" - -NRRectL::NRRectL() -{ - x0 = G_MAXINT32; - y0 = G_MAXINT32; - x1 = G_MININT32; - y1 = G_MININT32; -} - -NRRectL::NRRectL(gint32 xmin, gint32 ymin, gint32 xmax, gint32 ymax) -{ - x0 = xmin; - y0 = ymin; - x1 = xmax; - y1 = ymax; -} - -NRRectL::NRRectL(Geom::OptIntRect const &r) -{ - if (r) { - x0 = r->left(); - y0 = r->top(); - x1 = r->right(); - y1 = r->bottom(); - } else { - x0 = G_MAXINT32; - y0 = G_MAXINT32; - x1 = G_MININT32; - y1 = G_MININT32; - } -} - -NRRectL::NRRectL(Geom::IntRect const &r) -{ - x0 = r.left(); - y0 = r.top(); - x1 = r.right(); - y1 = r.bottom(); -} - -Geom::OptIntRect NRRectL::upgrade_2geom() const -{ - Geom::OptIntRect ret; - if (x0 > x1 || y0 > y1) return ret; - ret = Geom::IntRect(x0, y0, x1, y1); - return ret; -} - -/* - 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:fileencoding=utf-8:textwidth=99 : diff --git a/src/libnr/nr-rect-l.h b/src/libnr/nr-rect-l.h deleted file mode 100644 index c4c5f5a6d..000000000 --- a/src/libnr/nr-rect-l.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef SEEN_NR_RECT_L_H -#define SEEN_NR_RECT_L_H - -#include <glib.h> -#include <2geom/int-rect.h> - -struct NRRectL { - gint32 x0, y0, x1, y1; - NRRectL(); - NRRectL(gint32 xmin, gint32 ymin, gint32 xmax, gint32 ymax); - explicit NRRectL(Geom::IntRect const &r); - explicit NRRectL(Geom::OptIntRect const &r); - operator Geom::OptIntRect() const { Geom::OptIntRect r = upgrade_2geom(); return r; } - Geom::OptIntRect upgrade_2geom() const; -}; - -#endif /* !SEEN_NR_RECT_L_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:fileencoding=utf-8:textwidth=99 : diff --git a/src/libnr/nr-rect.cpp b/src/libnr/nr-rect.cpp deleted file mode 100644 index 67857ad49..000000000 --- a/src/libnr/nr-rect.cpp +++ /dev/null @@ -1,203 +0,0 @@ -#define __NR_RECT_C__ - -/* - * Pixel buffer rendering library - * - * Authors: - * Lauris Kaplinski <lauris@kaplinski.com> - * - * This code is in public domain - */ - -#include <algorithm> -#include "nr-rect.h" -#include "nr-rect-l.h" - -NRRect::NRRect(Geom::OptRect const &rect) { - if (rect) { - x0 = rect->min()[Geom::X]; - y0 = rect->min()[Geom::Y]; - x1 = rect->max()[Geom::X]; - y1 = rect->max()[Geom::Y]; - } else { - *this = NR_RECT_EMPTY; - } -} - -Geom::OptRect NRRect::upgrade_2geom() const { - if (x0 > x1 || y0 > y1) { - return Geom::OptRect(); - } else { - return Geom::Rect(Geom::Point(x0, y0), Geom::Point(x1, y1)); - } -} - -/** - * \param r0 Rectangle. - * \param r1 Another rectangle. - * \param d Filled in with the intersection of r0 and r1. - * \return d. - */ - -NRRectL *nr_rect_l_intersect(NRRectL *d, const NRRectL *r0, const NRRectL *r1) -{ - gint32 t; - t = std::max(r0->x0, r1->x0); - d->x1 = std::min(r0->x1, r1->x1); - d->x0 = t; - t = std::max(r0->y0, r1->y0); - d->y1 = std::min(r0->y1, r1->y1); - d->y0 = t; - - return d; -} - -NRRect * -nr_rect_d_intersect (NRRect *d, const NRRect *r0, const NRRect *r1) -{ - gint32 t; - t = MAX (r0->x0, r1->x0); - d->x1 = MIN (r0->x1, r1->x1); - d->x0 = t; - t = MAX (r0->y0, r1->y0); - d->y1 = MIN (r0->y1, r1->y1); - d->y0 = t; - - return d; -} - -// returns minimal rect which covers all of r0 not covered by r1 -NRRectL * -nr_rect_l_subtract(NRRectL *d, NRRectL const *r0, NRRectL const *r1) -{ - bool inside1 = nr_rect_l_test_inside(r1, r0->x0, r0->y0); - bool inside2 = nr_rect_l_test_inside(r1, r0->x1, r0->y0); - bool inside3 = nr_rect_l_test_inside(r1, r0->x1, r0->y1); - bool inside4 = nr_rect_l_test_inside(r1, r0->x0, r0->y1); - - if (inside1 && inside2 && inside3) { - *d = NR_RECT_L_EMPTY; - - } else if (inside1 && inside2) { - d->x0 = r0->x0; - d->y0 = r1->y1; - - d->x1 = r0->x1; - d->y1 = r0->y1; - } else if (inside2 && inside3) { - d->x0 = r0->x0; - d->y0 = r0->y0; - - d->x1 = r1->x0; - d->y1 = r0->y1; - } else if (inside3 && inside4) { - d->x0 = r0->x0; - d->y0 = r0->y0; - - d->x1 = r0->x1; - d->y1 = r1->y0; - } else if (inside4 && inside1) { - d->x0 = r1->x1; - d->y0 = r0->y0; - - d->x1 = r0->x1; - d->y1 = r0->y1; - } else { - d->x0 = r0->x0; - d->y0 = r0->y0; - - d->x1 = r0->x1; - d->y1 = r0->y1; - } - return d; -} - -gint32 nr_rect_l_area(NRRectL *r) -{ - if (!r || NR_RECT_DFLS_TEST_EMPTY (r)) { - return 0; - } - return ((r->x1 - r->x0) * (r->y1 - r->y0)); -} - -NRRect * -nr_rect_d_union (NRRect *d, const NRRect *r0, const NRRect *r1) -{ - if (NR_RECT_DFLS_TEST_EMPTY (r0)) { - if (NR_RECT_DFLS_TEST_EMPTY (r1)) { - *d = NR_RECT_EMPTY; - } else { - *d = *r1; - } - } else { - if (NR_RECT_DFLS_TEST_EMPTY (r1)) { - *d = *r0; - } else { - double t; - t = MIN (r0->x0, r1->x0); - d->x1 = MAX (r0->x1, r1->x1); - d->x0 = t; - t = MIN (r0->y0, r1->y0); - d->y1 = MAX (r0->y1, r1->y1); - d->y0 = t; - } - } - return d; -} - -NRRectL * -nr_rect_l_union (NRRectL *d, const NRRectL *r0, const NRRectL *r1) -{ - if (NR_RECT_DFLS_TEST_EMPTY (r0)) { - if (NR_RECT_DFLS_TEST_EMPTY (r1)) { - *d = NR_RECT_L_EMPTY; - } else { - *d = *r1; - } - } else { - if (NR_RECT_DFLS_TEST_EMPTY (r1)) { - *d = *r0; - } else { - double t; - t = MIN (r0->x0, r1->x0); - d->x1 = MAX (r0->x1, r1->x1); - d->x0 = t; - t = MIN (r0->y0, r1->y0); - d->y1 = MAX (r0->y1, r1->y1); - d->y0 = t; - } - } - return d; -} - -NRRect * -nr_rect_union_pt(NRRect *dst, Geom::Point const &p) -{ - return nr_rect_d_union_xy(dst, p[Geom::X], p[Geom::Y]); -} - -NRRect * -nr_rect_d_union_xy (NRRect *d, double x, double y) -{ - if ((d->x0 <= d->x1) && (d->y0 <= d->y1)) { - d->x0 = MIN (d->x0, x); - d->y0 = MIN (d->y0, y); - d->x1 = MAX (d->x1, x); - d->y1 = MAX (d->y1, y); - } else { - d->x0 = d->x1 = x; - d->y0 = d->y1 = y; - } - return d; -} - -/* - 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 : diff --git a/src/libnr/nr-rect.h b/src/libnr/nr-rect.h deleted file mode 100644 index 4931b3e10..000000000 --- a/src/libnr/nr-rect.h +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef LIBNR_NR_RECT_H_SEEN -#define LIBNR_NR_RECT_H_SEEN - -/** \file - * Definitions of NRRect and NR::Rect types, and some associated functions \& macros. - *//* - * Authors: - * Lauris Kaplinski <lauris@kaplinski.com> - * Nathan Hurst <njh@mail.csse.monash.edu.au> - * MenTaLguY <mental@rydia.net> - * - * This code is in public domain - */ - -#include <stdexcept> -#include <limits> -#include <boost/optional.hpp> -#include <glib.h> -#include <2geom/rect.h> - -#include "libnr/nr-forward.h" -#include "libnr/nr-values.h" -#include "libnr/nr-macros.h" - -/* legacy rect stuff */ -/* NULL rect is infinite */ - -struct NRRect { - NRRect() - : x0(0), y0(0), x1(0), y1(0) - {} - NRRect(double xmin, double ymin, double xmax, double ymax) - : x0(xmin), y0(ymin), x1(xmax), y1(ymax) - {} - explicit NRRect(Geom::OptRect const &rect); - operator Geom::OptRect() const { return upgrade_2geom(); } - Geom::OptRect upgrade_2geom() const; - - double x0, y0, x1, y1; -}; - -// TODO convert to static overloaded functions (pointer and ref) once performance can be tested: -#define nr_rect_l_test_empty_ptr(r) ((r) && NR_RECT_DFLS_TEST_EMPTY(r)) -#define nr_rect_l_test_empty(r) NR_RECT_DFLS_TEST_EMPTY_REF(r) - -#define nr_rect_d_test_intersect(r0,r1) \ - (!nr_rect_d_test_empty(r0) && !nr_rect_d_test_empty(r1) && \ - !((r0) && (r1) && !NR_RECT_DFLS_TEST_INTERSECT(r0, r1))) - -// TODO convert to static overloaded functions (pointer and ref) once performance can be tested: -#define nr_rect_l_test_intersect_ptr(r0,r1) \ - (!nr_rect_l_test_empty_ptr(r0) && !nr_rect_l_test_empty_ptr(r1) && \ - !((r0) && (r1) && !NR_RECT_DFLS_TEST_INTERSECT(r0, r1))) -#define nr_rect_l_test_intersect(r0,r1) \ - (!nr_rect_l_test_empty(r0) && !nr_rect_l_test_empty(r1) && \ - !(!NR_RECT_DFLS_TEST_INTERSECT_REF(r0, r1))) - -#define nr_rect_d_point_d_test_inside(r,p) ((p) && (!(r) || (!NR_RECT_DF_TEST_EMPTY(r) && NR_RECT_DF_POINT_DF_TEST_INSIDE(r,p)))) -#define nr_rect_l_point_l_test_inside(r,p) ((p) && (!(r) || (!NR_RECT_DFLS_TEST_EMPTY(r) && NR_RECT_LS_POINT_LS_TEST_INSIDE(r,p)))) -#define nr_rect_l_test_inside(r,x,y) ((!(r) || (!NR_RECT_DFLS_TEST_EMPTY(r) && NR_RECT_LS_TEST_INSIDE(r,x,y)))) - -// returns minimal rect which covers all of r0 not covered by r1 -NRRectL *nr_rect_l_subtract(NRRectL *d, NRRectL const *r0, NRRectL const *r1); - -// returns the area of r -gint32 nr_rect_l_area(NRRectL *r); - -/* NULL values are OK for r0 and r1, but not for d */ -NRRect *nr_rect_d_intersect(NRRect *d, NRRect const *r0, NRRect const *r1); -NRRectL *nr_rect_l_intersect(NRRectL *d, NRRectL const *r0, NRRectL const *r1); - -NRRect *nr_rect_d_union(NRRect *d, NRRect const *r0, NRRect const *r1); -NRRectL *nr_rect_l_union(NRRectL *d, NRRectL const *r0, NRRectL const *r1); - -NRRect *nr_rect_union_pt(NRRect *dst, Geom::Point const &p); -NRRect *nr_rect_d_union_xy(NRRect *d, double x, double y); -NRRectL *nr_rect_l_union_xy(NRRectL *d, gint32 x, gint32 y); - - -#endif /* !LIBNR_NR_RECT_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:fileencoding=utf-8:textwidth=99 : diff --git a/src/libnr/nr-values.cpp b/src/libnr/nr-values.cpp deleted file mode 100644 index 06f33b13f..000000000 --- a/src/libnr/nr-values.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#define __NR_VALUES_C__ - -#include "libnr/nr-values.h" -#include "libnr/nr-rect.h" -#include "libnr/nr-rect-l.h" - -/* -The following predefined objects are for reference -and comparison. -*/ -NRRect NR_RECT_EMPTY(NR_HUGE, NR_HUGE, -NR_HUGE, -NR_HUGE); -NRRectL NR_RECT_L_EMPTY(NR_HUGE_L, NR_HUGE_L, -NR_HUGE_L, -NR_HUGE_L); - -/** component_vectors[i] is like $e_i$ in common mathematical usage; - or equivalently $I_i$ (where $I$ is the identity matrix). */ -Geom::Point const component_vectors[] = {Geom::Point(1., 0.), - Geom::Point(0., 1.)}; - diff --git a/src/libnr/nr-values.h b/src/libnr/nr-values.h deleted file mode 100644 index 07faec9fa..000000000 --- a/src/libnr/nr-values.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef __NR_VALUES_H__ -#define __NR_VALUES_H__ - -/* - * Pixel buffer rendering library - * - * Authors: - * Lauris Kaplinski <lauris@kaplinski.com> - * - * This code is in public domain - */ - -#include <libnr/nr-forward.h> -#include <2geom/point.h> - -#define NR_EPSILON 1e-18 - -#define NR_HUGE 1e18 -#define NR_HUGE_L (0x7fffffff) - -/* -The following predefined objects are for reference -and comparison. They are defined in nr-values.cpp -*/ -extern NRRect NR_RECT_EMPTY; -extern NRRectL NR_RECT_L_EMPTY; - -/** component_vectors[i] has 1.0 at position i, and 0.0 elsewhere - (i.e. in the other position). */ -extern Geom::Point const component_vectors[2]; - -#endif - -/* - 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:fileencoding=utf-8:textwidth=99 : |
