diff --git a/region.cpp b/region.cpp index 50a43b2d..06e84f89 100644 --- a/region.cpp +++ b/region.cpp @@ -38,6 +38,19 @@ util::region::region (point<2,T> _point, { ; } +//----------------------------------------------------------------------------- +template +util::region::region (point<2,T> _a, + point<2,T> _b): + x (_a.x), + y (_a.y), + w (_b.x - _a.x), + h (_b.y - _a.y) +{ + CHECK_GE (_b.x, _a.x); + CHECK_GE (_b.y, _a.y); +} + //----------------------------------------------------------------------------- template util::region::region (position_type _x, diff --git a/region.hpp b/region.hpp index 73c9d7f9..b1d202ce 100644 --- a/region.hpp +++ b/region.hpp @@ -43,6 +43,7 @@ namespace util { region () = default; region (util::point<2,T>, util::extent); + region (util::point<2,T>, util::point<2,T>); region (T _x, T _y, size_type _w, size_type _h); size_type area (void) const;