From a12c897435e615618b14f5cbdd50c7d01dd291fa Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 29 Aug 2021 09:27:41 +0200 Subject: Allow bookmarking manga from chapters page --- include/Scale.hpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/Scale.hpp b/include/Scale.hpp index e458894..eb902cd 100644 --- a/include/Scale.hpp +++ b/include/Scale.hpp @@ -2,12 +2,15 @@ #include -// TODO: Check if size is 0 before dividing to prevent division by 0? - namespace QuickMedia { template static T wrap_to_size_x(const T &size, const T &clamp_size) { T new_size; + if(size.x == 0) { + new_size.x = 0; + new_size.y = 0; + return new_size; + } float size_ratio = (float)size.y / (float)size.x; new_size.x = clamp_size.x; new_size.y = new_size.x * size_ratio; @@ -17,6 +20,11 @@ namespace QuickMedia { template static T wrap_to_size_y(const T &size, const T &clamp_size) { T new_size; + if(size.y == 0) { + new_size.x = 0; + new_size.y = 0; + return new_size; + } float size_ratio = (float)size.x / (float)size.y; new_size.y = clamp_size.y; new_size.x = new_size.y * size_ratio; @@ -50,6 +58,9 @@ namespace QuickMedia { template static sf::Vector2f get_ratio(const T &original_size, const T &new_size) { - return sf::Vector2f((float)new_size.x / (float)original_size.x, (float)new_size.y / (float)original_size.y); + if(original_size.x == 0 || original_size.y == 0) + return sf::Vector2f(0.0f, 0.0f); + else + return sf::Vector2f((float)new_size.x / (float)original_size.x, (float)new_size.y / (float)original_size.y); } } \ No newline at end of file -- cgit v1.2.3