Skip to content

Commit 08fae4e

Browse files
committed
Fix viewport resize
1 parent ea07e96 commit 08fae4e

3 files changed

Lines changed: 13 additions & 6 deletions

File tree

lib/Flop.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -835,20 +835,15 @@ int flop_analyze(char const* reference_path,
835835
<< "Error histogram: \n[";
836836

837837

838-
float average_error = 0.f;
839838
uint32_t histogram[32];
840839
std::memcpy(histogram, g_error_histogram.data_, sizeof(uint32_t) * 32);
841840
std::printf("%i", histogram[0]);
842841
uint32_t sample_count = histogram[0];
843842
for (uint32_t i = 1; i != 32u; ++i)
844843
{
845844
std::printf(", %i", histogram[i]);
846-
average_error += histogram[i] * i / 32.f;
847-
sample_count += histogram[i];
848845
}
849846
std::printf("]\n");
850847

851-
std::printf("Averaage error: %f\n", average_error);
852-
853848
return 0;
854849
}

src/Preview.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,11 @@ void Preview::set_image(Image& image)
154154
void Preview::set_viewport(Rect2D viewport)
155155
{
156156
viewport_ = viewport;
157+
if (!image_ || !image_->image_)
158+
{
159+
viewport_dirty_ = true;
160+
return;
161+
}
157162

158163
if (image_->aspect() < preview_viewport_.width / preview_viewport_.height)
159164
{
@@ -261,11 +266,17 @@ float Preview::min_scale() const
261266

262267
void Preview::render(GLFWwindow* window, VkCommandBuffer cb)
263268
{
264-
if (image_ == nullptr || viewport_.x2 == 0)
269+
if (image_ == nullptr || image_->image_ == VK_NULL_HANDLE || viewport_.x2 == 0)
265270
{
266271
return;
267272
}
268273

274+
if (viewport_dirty_)
275+
{
276+
set_viewport(viewport_);
277+
viewport_dirty_ = false;
278+
}
279+
269280
if (pan_active_)
270281
{
271282
double cx;

src/Preview.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,5 +61,6 @@ class Preview
6161
uint32_t color_map_ = 0;
6262
bool use_color_map_ = false;
6363
bool pan_active_ = false;
64+
bool viewport_dirty_ = false;
6465
Quadrant quadrant_ = Quadrant::TopLeft;
6566
};

0 commit comments

Comments
 (0)