From a20182310dc7d2ad56cf208269a05206580a9a94 Mon Sep 17 00:00:00 2001
From: Jacopo Mondi <jacopo@jmondi.org>
Date: Fri, 22 Mar 2019 13:01:49 +0100
Subject: libcamera: geometry: Add toString to Rectangle

Add toString() helpers to pretty print out the sizes of a Rectangle.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/libcamera/geometry.cpp       | 16 ++++++++++++++++
 src/libcamera/include/geometry.h |  4 ++++
 2 files changed, 20 insertions(+)

diff --git a/src/libcamera/geometry.cpp b/src/libcamera/geometry.cpp
index b6b6592b..6dc8e74d 100644
--- a/src/libcamera/geometry.cpp
+++ b/src/libcamera/geometry.cpp
@@ -5,6 +5,8 @@
  * geometry.cpp - Geometry-related structures
  */
 
+#include <sstream>
+
 #include "geometry.h"
 
 /**
@@ -46,6 +48,20 @@ namespace libcamera {
  * \brief The distance between the top and bottom sides
  */
 
+/**
+ * \brief Assemble and return a string describing the rectangle
+ *
+ * \return A string describing the Rectangle
+ */
+const std::string Rectangle::toString() const
+{
+	std::stringstream ss;
+
+	ss << "(" << x << "x" << y << ")/" << w << "x" << h;
+
+	return ss.str();
+}
+
 /**
  * \struct SizeRange
  * \brief Describe a range of image sizes
diff --git a/src/libcamera/include/geometry.h b/src/libcamera/include/geometry.h
index eadc4ed4..b14f9732 100644
--- a/src/libcamera/include/geometry.h
+++ b/src/libcamera/include/geometry.h
@@ -8,6 +8,8 @@
 #ifndef __LIBCAMERA_GEOMETRY_H__
 #define __LIBCAMERA_GEOMETRY_H__
 
+#include <string>
+
 namespace libcamera {
 
 struct Rectangle {
@@ -15,6 +17,8 @@ struct Rectangle {
 	int y;
 	unsigned int w;
 	unsigned int h;
+
+	const std::string toString() const;
 };
 
 struct SizeRange {
-- 
cgit v1.2.1