Message ID | 20190616133402.21934-4-niklas.soderlund@ragnatech.se |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Niklas, Thank you for the patch. On Sun, Jun 16, 2019 at 03:33:49PM +0200, Niklas Söderlund wrote: > It's useful to be able to print a string representation of a SizeRange > to the log or console, add a toString() method. While at it turn the > structure into a class as it contains functions as well as data. > > Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> > Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > include/libcamera/geometry.h | 6 +++++- > src/libcamera/geometry.cpp | 14 ++++++++++++++ > 2 files changed, 19 insertions(+), 1 deletion(-) > > diff --git a/include/libcamera/geometry.h b/include/libcamera/geometry.h > index b2a8e5b0e005e4db..03962d7d09fac2b0 100644 > --- a/include/libcamera/geometry.h > +++ b/include/libcamera/geometry.h > @@ -67,7 +67,9 @@ static inline bool operator>=(const Size &lhs, const Size &rhs) > return !(lhs < rhs); > } > > -struct SizeRange { > +class SizeRange > +{ > +public: > SizeRange() > { > } > @@ -90,6 +92,8 @@ struct SizeRange { > { > } > > + std::string toString() const; > + > Size min; > Size max; > unsigned int hStep; > diff --git a/src/libcamera/geometry.cpp b/src/libcamera/geometry.cpp > index dfc264b2700f7f61..895861eb0678181b 100644 > --- a/src/libcamera/geometry.cpp > +++ b/src/libcamera/geometry.cpp > @@ -261,6 +261,20 @@ bool operator<(const Size &lhs, const Size &rhs) > * \brief The vertical step > */ > > +/** > + * \brief Assemble and return a string describing the size range > + * \return A string describing the SizeRange > + */ > +std::string SizeRange::toString() const > +{ > + std::stringstream ss; > + > + ss << "(" << min.toString() << ")-(" << max.toString() << ")/(+" > + << hStep << ",+" << vStep << ")"; > + > + return ss.str(); > +} > + > /** > * \brief Compare size ranges for equality > * \return True if the two size ranges are equal, false otherwise
diff --git a/include/libcamera/geometry.h b/include/libcamera/geometry.h index b2a8e5b0e005e4db..03962d7d09fac2b0 100644 --- a/include/libcamera/geometry.h +++ b/include/libcamera/geometry.h @@ -67,7 +67,9 @@ static inline bool operator>=(const Size &lhs, const Size &rhs) return !(lhs < rhs); } -struct SizeRange { +class SizeRange +{ +public: SizeRange() { } @@ -90,6 +92,8 @@ struct SizeRange { { } + std::string toString() const; + Size min; Size max; unsigned int hStep; diff --git a/src/libcamera/geometry.cpp b/src/libcamera/geometry.cpp index dfc264b2700f7f61..895861eb0678181b 100644 --- a/src/libcamera/geometry.cpp +++ b/src/libcamera/geometry.cpp @@ -261,6 +261,20 @@ bool operator<(const Size &lhs, const Size &rhs) * \brief The vertical step */ +/** + * \brief Assemble and return a string describing the size range + * \return A string describing the SizeRange + */ +std::string SizeRange::toString() const +{ + std::stringstream ss; + + ss << "(" << min.toString() << ")-(" << max.toString() << ")/(+" + << hStep << ",+" << vStep << ")"; + + return ss.str(); +} + /** * \brief Compare size ranges for equality * \return True if the two size ranges are equal, false otherwise