commit 80b30ac0
Fix ratio of wide images
Changed files
| M | src/PuzzleSingleImageState.cpp before |
| M | src/PuzzleSingleImageState.hpp before |
diff --git a/src/PuzzleSingleImageState.cpp b/src/PuzzleSingleImageState.cpp
index 389c805..e90f511 100644
--- a/src/PuzzleSingleImageState.cpp
+++ b/src/PuzzleSingleImageState.cpp
@@ -48,7 +48,7 @@ void PuzzleSingleImageState::Draw(SDL_Renderer* target) {
globalData.spriteHolder->GetSprite("background_sixteen_nine").Draw(target, SDL_GetTicks(), 0, 0);
SDL_Rect rect;
rect.x = globalData.xsize/2-resized_image_width/2;
- rect.y = globalData.ysize/2-resized_image_height/2;;
+ rect.y = globalData.ysize/2-resized_image_height/2;
rect.h = resized_image_height;
rect.w = resized_image_width;
if (!shuffeled) {
@@ -124,7 +124,12 @@ void PuzzleSingleImageState::LoadPictureFromFile(const std::string& filename, SD
}
source_image_height = bitmapSurface->h;
source_image_width = bitmapSurface->w;
+ resized_image_height = resized_image_height_max;
resized_image_width = double(resized_image_height) * (double(source_image_width)/double(source_image_height));
+ if (resized_image_width > resized_image_width_max) {
+ resized_image_width = resized_image_width_max;
+ resized_image_height = double(resized_image_width) * (double(source_image_height)/double(source_image_width));
+ }
this->pictureTex = SDL_CreateTextureFromSurface(renderer, bitmapSurface);
std::cerr << resized_image_width << ", " << resized_image_height << "\n";
SDL_FreeSurface(bitmapSurface);
diff --git a/src/PuzzleSingleImageState.hpp b/src/PuzzleSingleImageState.hpp
index 82a8713..ec44361 100644
--- a/src/PuzzleSingleImageState.hpp
+++ b/src/PuzzleSingleImageState.hpp
@@ -52,8 +52,10 @@ private:
SDL_Texture* pictureTex = NULL;
int source_image_height = 1;
int source_image_width = 1;
- const int resized_image_height = 700;
+ int resized_image_height = 700;
int resized_image_width = 1;
+ const int resized_image_height_max = 700;
+ const int resized_image_width_max = 1100;
std::vector<SDL_Rect> pieces;
int min_piece_size = 120;
bool shuffeled = false;