Code

Adding the lacking HSL bubbles transparent
[inkscape.git] / src / helper / geom.h
index fbc3f2c00c8455d7b92bf4a27a89816734e787ff..adf16739294501298fb5a95829e34b4735b0171d 100644 (file)
@@ -1,30 +1,52 @@
-#ifndef INKSCAPE_HELPER_GEOM_H\r
-#define INKSCAPE_HELPER_GEOM_H\r
-\r
-/**\r
- * Specific geometry functions for Inkscape, not provided my lib2geom.\r
- *\r
- * Author:\r
- *   Johan Engelen <goejendaagh@zonnet.nl>\r
- *\r
- * Copyright (C) 2008 Johan Engelen\r
- *\r
- * Released under GNU GPL\r
- */\r
-\r
-#include <2geom/forward.h>\r
-\r
-Geom::Rect bounds_fast_transformed(Geom::PathVector const & pv, Geom::Matrix const & t);\r
-\r
-#endif  // INKSCAPE_HELPER_GEOM_H\r
-\r
-/*\r
-  Local Variables:\r
-  mode:c++\r
-  c-file-style:"stroustrup"\r
-  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))\r
-  indent-tabs-mode:nil\r
-  fill-column:99\r
-  End:\r
-*/\r
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :\r
+#ifndef INKSCAPE_HELPER_GEOM_H
+#define INKSCAPE_HELPER_GEOM_H
+
+/**
+ * Specific geometry functions for Inkscape, not provided my lib2geom.
+ *
+ * Author:
+ *   Johan Engelen <goejendaagh@zonnet.nl>
+ *
+ * Copyright (C) 2008 Johan Engelen
+ *
+ * Released under GNU GPL
+ */
+
+#include <2geom/forward.h>
+#include <libnr/nr-forward.h>
+#include <libnr/nr-coord.h>
+
+Geom::OptRect bounds_fast_transformed(Geom::PathVector const & pv, Geom::Matrix const & t);
+Geom::OptRect bounds_exact_transformed(Geom::PathVector const & pv, Geom::Matrix const & t);
+
+void pathv_matrix_point_bbox_wind_distance ( Geom::PathVector const & pathv, Geom::Matrix const &m, Geom::Point const &pt,
+                                             Geom::Rect *bbox, int *wind, Geom::Coord *dist,
+                                             Geom::Coord tolerance, Geom::Rect const *viewbox);
+
+Geom::PathVector pathv_to_linear_and_cubic_beziers( Geom::PathVector const &pathv );
+
+void round_rectangle_outwards(Geom::Rect & rect);
+
+/*
+The following predefined objects are for reference
+and comparison.  They are defined in helper/geom.cpp
+*/
+extern Geom::Matrix GEOM_MATRIX_IDENTITY;
+
+namespace Geom{
+bool transform_equalp(Geom::Matrix const &m0, Geom::Matrix const &m1, Geom::Coord const epsilon);
+bool translate_equalp(Geom::Matrix const &m0, Geom::Matrix const &m1, Geom::Coord const epsilon);
+bool matrix_equalp(Geom::Matrix const &m0, Geom::Matrix const &m1, Geom::Coord const epsilon);
+}
+#endif  // INKSCAPE_HELPER_GEOM_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 :