summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-07-08 16:40:05 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-07-08 21:28:49 +0200
commit9e8c6c81f2f5d3df850353ee92a5b6e52546d6c6 (patch)
treec4154cdb1906ddd9098269cd9b81afaf04a63845
parent3e8989d47e3116a99d4b9f6d03800464ff235de8 (diff)
make tools::Rectangle::expandBy respect empty state
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: Ib383bb990ddcd835ff37e98893e44156287e0488 Reviewed-on: https://gerrit.libreoffice.org/75227 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--include/tools/gen.hxx10
-rw-r--r--tools/source/generic/gen.cxx15
2 files changed, 16 insertions, 9 deletions
diff --git a/include/tools/gen.hxx b/include/tools/gen.hxx
index 0d9a81ebdcee..56af47582a7f 100644
--- a/include/tools/gen.hxx
+++ b/include/tools/gen.hxx
@@ -470,7 +470,7 @@ public:
/**
* Expands the rectangle in all directions by the input value.
*/
- inline void expand(long nExpandBy);
+ void expand(long nExpandBy);
inline void shrink(long nShrinkBy);
/**
@@ -722,14 +722,6 @@ inline Rectangle operator - ( const Rectangle& rRect, const Point& rPt )
}
}
-inline void tools::Rectangle::expand(long nExpandBy)
-{
- nLeft -= nExpandBy;
- nTop -= nExpandBy;
- nRight += nExpandBy;
- nBottom += nExpandBy;
-}
-
inline void tools::Rectangle::shrink(long nShrinkBy)
{
nLeft += nShrinkBy;
diff --git a/tools/source/generic/gen.cxx b/tools/source/generic/gen.cxx
index 3593801579ac..53bb2680c5c8 100644
--- a/tools/source/generic/gen.cxx
+++ b/tools/source/generic/gen.cxx
@@ -233,4 +233,19 @@ OString tools::Rectangle::toString() const
return ss.str().c_str();
}
+void tools::Rectangle::expand(long nExpandBy)
+{
+ nLeft -= nExpandBy;
+ nTop -= nExpandBy;
+ if (nRight == RECT_EMPTY)
+ nRight = nLeft + nExpandBy - 1;
+ else
+ nRight += nExpandBy;
+ if (nBottom == RECT_EMPTY)
+ nBottom = nTop + nExpandBy - 1;
+ else
+ nBottom += nExpandBy;
+}
+
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */