From 7c269a9f20b8b3566a7f682ab76deb66d0b2bb36 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Thu, 8 Dec 2022 23:44:04 +0900 Subject: [PATCH] common picture: +exception handling. invalid arguments won't be allowed. --- src/lib/tvgPicture.cpp | 7 +++++-- src/lib/tvgPictureImpl.h | 3 +-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/tvgPicture.cpp b/src/lib/tvgPicture.cpp index 56f447d8..b6f47871 100644 --- a/src/lib/tvgPicture.cpp +++ b/src/lib/tvgPicture.cpp @@ -123,8 +123,11 @@ const uint32_t* Picture::data(uint32_t* w, uint32_t* h) const noexcept Result Picture::mesh(const Polygon* triangles, const uint32_t triangleCnt) noexcept { - if (pImpl->mesh(triangles, triangleCnt)) return Result::Success; - return Result::Unknown; + if (!triangles && triangleCnt > 0) return Result::InvalidArguments; + if (triangles && triangleCnt == 0) return Result::InvalidArguments; + + pImpl->mesh(triangles, triangleCnt); + return Result::Success; } diff --git a/src/lib/tvgPictureImpl.h b/src/lib/tvgPictureImpl.h index 0ad7e036..8bbb745d 100644 --- a/src/lib/tvgPictureImpl.h +++ b/src/lib/tvgPictureImpl.h @@ -252,7 +252,7 @@ struct Picture::Impl return Result::Success; } - bool mesh(const Polygon* triangles, const uint32_t triangleCnt) + void mesh(const Polygon* triangles, const uint32_t triangleCnt) { if (triangles && triangleCnt > 0) { this->triangleCnt = triangleCnt; @@ -263,7 +263,6 @@ struct Picture::Impl this->triangles = nullptr; this->triangleCnt = 0; } - return true; } Paint* duplicate()