Commit 46401b06 authored by Davis King's avatar Davis King

Changed the image_window so that it doesn't resize itself if you keep

giving it images that are the same size.  This way if you are sending
video data to it will allow the user to change the size of the window
without having it snap right back.

--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%403181
parent 49f2050c
......@@ -5806,7 +5806,9 @@ namespace dlib
image_window::
image_window(
) :
gui_img(*this)
gui_img(*this),
nr(0),
nc(0)
{
// show this window on the screen
show();
......
......@@ -3077,8 +3077,15 @@ namespace dlib
)
{
auto_mutex M(m);
// if the new image has a different size when compared to the previous image
// then we should readjust the total rectangle size.
if (new_img.nr() != img.nr() || new_img.nc() != img.nc())
set_total_rect_size(new_img.nc(), new_img.nr());
else
parent.invalidate_rectangle(rect);
assign_image(img,new_img);
set_total_rect_size(img.nc(), img.nr());
}
struct overlay_rect
......@@ -3162,7 +3169,7 @@ namespace dlib
template < typename image_type >
image_window(
const image_type& img
) : gui_img(*this) { set_image(img); show(); }
) : gui_img(*this), nr(0), nc(0) { set_image(img); show(); }
~image_window(
);
......@@ -3176,11 +3183,19 @@ namespace dlib
auto_mutex M(wm);
gui_img.set_image(img);
// Only readjust the size of the window if the new image has a different size
// than the last image given to this object.
if (img.nr() != nr || img.nc() != nc)
{
// set the size of this window to match the size of the input image
set_size(img.nc()+padding*2,img.nr()+padding*2);
// call this to make sure everything else is setup properly
on_window_resized();
nr = img.nr();
nc = img.nc();
}
}
void add_overlay (
......@@ -3212,6 +3227,7 @@ namespace dlib
image_window& operator= (image_window&);
image_display gui_img;
long nr, nc;
};
// ----------------------------------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment