{"id":1297,"url":"https://patchwork.libcamera.org/api/patches/1297/?format=json","web_url":"https://patchwork.libcamera.org/patch/1297/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20190527001543.13593-5-niklas.soderlund@ragnatech.se>","date":"2019-05-27T00:15:30","name":"[libcamera-devel,04/17] libcamera: geometry: SizeRange: Add toString()","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"c166a62c2099f3b11290ec345b3aa313e899a8bd","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/?format=json","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/1297/mbox/","series":[{"id":328,"url":"https://patchwork.libcamera.org/api/series/328/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=328","date":"2019-05-27T00:15:28","name":"libcamera: Add support for format information and validation","version":1,"mbox":"https://patchwork.libcamera.org/series/328/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/1297/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/1297/checks/","tags":{},"headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from bin-mail-out-05.binero.net (bin-mail-out-05.binero.net\n\t[195.74.38.228])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AECE7618F8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 27 May 2019 02:16:07 +0200 (CEST)","from bismarck.berto.se (unknown [89.233.230.99])\n\tby bin-vsp-out-01.atm.binero.net (Halon) with ESMTPA\n\tid 9d5be10c-8014-11e9-8ab4-005056917a89;\n\tMon, 27 May 2019 02:16:04 +0200 (CEST)"],"X-Halon-ID":"9d5be10c-8014-11e9-8ab4-005056917a89","Authorized-sender":"niklas@soderlund.pp.se","From":"=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","To":"libcamera-devel@lists.libcamera.org","Date":"Mon, 27 May 2019 02:15:30 +0200","Message-Id":"<20190527001543.13593-5-niklas.soderlund@ragnatech.se>","X-Mailer":"git-send-email 2.21.0","In-Reply-To":"<20190527001543.13593-1-niklas.soderlund@ragnatech.se>","References":"<20190527001543.13593-1-niklas.soderlund@ragnatech.se>","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 04/17] libcamera: geometry: SizeRange: Add\n\ttoString()","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Mon, 27 May 2019 00:16:08 -0000"},"content":"It's useful to be able to print a string representation of a SizeRange\nto the log or console, add a toString() method. While at it turn the\nstructure into a class as it contains functions as well as data.\n\nSigned-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n---\n include/libcamera/geometry.h |  6 +++++-\n src/libcamera/geometry.cpp   | 22 ++++++++++++++++++++++\n 2 files changed, 27 insertions(+), 1 deletion(-)","diff":"diff --git a/include/libcamera/geometry.h b/include/libcamera/geometry.h\nindex 1c9267b14274cb5d..ca920a1e16817860 100644\n--- a/include/libcamera/geometry.h\n+++ b/include/libcamera/geometry.h\n@@ -67,7 +67,9 @@ static inline bool operator>=(const Size &lhs, const Size &rhs)\n \treturn !(lhs < rhs);\n }\n \n-struct SizeRange {\n+class SizeRange\n+{\n+public:\n \tSizeRange()\n \t{\n \t}\n@@ -90,6 +92,8 @@ struct SizeRange {\n \t{\n \t}\n \n+\tconst std::string toString() const;\n+\n \tSize min;\n \tSize max;\n \tunsigned int hStep;\ndiff --git a/src/libcamera/geometry.cpp b/src/libcamera/geometry.cpp\nindex e7f1bafd40e944f5..337f2efa828ba996 100644\n--- a/src/libcamera/geometry.cpp\n+++ b/src/libcamera/geometry.cpp\n@@ -259,6 +259,28 @@ bool operator<(const Size &lhs, const Size &rhs)\n  * \\brief The vertical step\n  */\n \n+/**\n+ * \\brief Assemble and return a string describing the size range\n+ * \\return A string describing the SizeRange\n+ */\n+const std::string SizeRange::toString() const\n+{\n+\tstd::stringstream ss;\n+\n+\tif (min == max)\n+\t\tss << \"Width: \" << min.width\n+\t\t   << \" Height: \" << min.height\n+\t\t   << \" hStep: \" << hStep\n+\t\t   << \" vStep: \" << vStep;\n+\telse\n+\t\tss << \"Width: \" << min.width << \"-\" << max.width\n+\t\t   << \" Height: \" << min.height << \"-\" << max.height\n+\t\t   << \" hStep: \" << hStep\n+\t\t   << \" vStep: \" << vStep;\n+\n+\treturn ss.str();\n+}\n+\n /**\n  * \\brief Compare size ranges for equality\n  * \\return True if the two size ranges are equal, false otherwise\n","prefixes":["libcamera-devel","04/17"]}