mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 01:13:28 +08:00
Merge pull request #25160 from asmorkalov:as/backport_highgui_22754
Backport some highgui changes from #22754
This commit is contained in:
commit
9f2494da2d
@ -217,9 +217,9 @@ CV_IMPL void cvSetWindowProperty(const char* name, int prop_id, double prop_valu
|
||||
switch(prop_id)
|
||||
{
|
||||
//change between fullscreen or not.
|
||||
case CV_WND_PROP_FULLSCREEN:
|
||||
case cv::WND_PROP_FULLSCREEN:
|
||||
|
||||
if (prop_value != CV_WINDOW_NORMAL && prop_value != CV_WINDOW_FULLSCREEN) // bad argument
|
||||
if (prop_value != cv::WINDOW_NORMAL && prop_value != cv::WINDOW_FULLSCREEN) // bad argument
|
||||
break;
|
||||
|
||||
#if defined (HAVE_QT)
|
||||
@ -236,13 +236,13 @@ CV_IMPL void cvSetWindowProperty(const char* name, int prop_id, double prop_valu
|
||||
|
||||
break;
|
||||
|
||||
case CV_WND_PROP_AUTOSIZE:
|
||||
case cv::WND_PROP_AUTOSIZE:
|
||||
#if defined (HAVE_QT)
|
||||
cvSetPropWindow_QT(name,prop_value);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case CV_WND_PROP_ASPECTRATIO:
|
||||
case cv::WND_PROP_ASPECT_RATIO:
|
||||
#if defined (HAVE_QT)
|
||||
cvSetRatioWindow_QT(name,prop_value);
|
||||
#endif
|
||||
@ -305,7 +305,7 @@ CV_IMPL double cvGetWindowProperty(const char* name, int prop_id)
|
||||
#else
|
||||
switch(prop_id)
|
||||
{
|
||||
case CV_WND_PROP_FULLSCREEN:
|
||||
case cv::WND_PROP_FULLSCREEN:
|
||||
|
||||
#if defined (HAVE_QT)
|
||||
return cvGetModeWindow_QT(name);
|
||||
@ -322,7 +322,7 @@ CV_IMPL double cvGetWindowProperty(const char* name, int prop_id)
|
||||
#endif
|
||||
break;
|
||||
|
||||
case CV_WND_PROP_AUTOSIZE:
|
||||
case cv::WND_PROP_AUTOSIZE:
|
||||
|
||||
#if defined (HAVE_QT)
|
||||
return cvGetPropWindow_QT(name);
|
||||
@ -335,7 +335,7 @@ CV_IMPL double cvGetWindowProperty(const char* name, int prop_id)
|
||||
#endif
|
||||
break;
|
||||
|
||||
case CV_WND_PROP_ASPECTRATIO:
|
||||
case cv::WND_PROP_ASPECT_RATIO:
|
||||
|
||||
#if defined (HAVE_QT)
|
||||
return cvGetRatioWindow_QT(name);
|
||||
@ -348,7 +348,7 @@ CV_IMPL double cvGetWindowProperty(const char* name, int prop_id)
|
||||
#endif
|
||||
break;
|
||||
|
||||
case CV_WND_PROP_OPENGL:
|
||||
case cv::WND_PROP_OPENGL:
|
||||
|
||||
#if defined (HAVE_QT)
|
||||
return cvGetOpenGlProp_QT(name);
|
||||
@ -361,7 +361,7 @@ CV_IMPL double cvGetWindowProperty(const char* name, int prop_id)
|
||||
#endif
|
||||
break;
|
||||
|
||||
case CV_WND_PROP_VISIBLE:
|
||||
case cv::WND_PROP_VISIBLE:
|
||||
#if defined (HAVE_QT)
|
||||
return cvGetPropVisible_QT(name);
|
||||
#elif defined(HAVE_WIN32UI)
|
||||
|
@ -1016,7 +1016,7 @@ double GuiReceiver::isFullScreen(QString name)
|
||||
if (!w)
|
||||
return -1;
|
||||
|
||||
return w->isFullScreen() ? CV_WINDOW_FULLSCREEN : CV_WINDOW_NORMAL;
|
||||
return w->isFullScreen() ? cv::WINDOW_FULLSCREEN : cv::WINDOW_NORMAL;
|
||||
}
|
||||
|
||||
|
||||
@ -1702,11 +1702,11 @@ CvWindow::CvWindow(QString name, int arg2)
|
||||
|
||||
//3: my view
|
||||
#ifndef HAVE_QT_OPENGL
|
||||
if (arg2 & CV_WINDOW_OPENGL)
|
||||
if (arg2 & cv::WINDOW_OPENGL)
|
||||
CV_Error( cv::Error::OpenGlNotSupported, "Library was built without OpenGL support" );
|
||||
mode_display = CV_MODE_NORMAL;
|
||||
#else
|
||||
mode_display = arg2 & CV_WINDOW_OPENGL ? CV_MODE_OPENGL : CV_MODE_NORMAL;
|
||||
mode_display = arg2 & cv::WINDOW_OPENGL ? CV_MODE_OPENGL : CV_MODE_NORMAL;
|
||||
if (mode_display == CV_MODE_OPENGL)
|
||||
param_gui_mode = CV_GUI_NORMAL;
|
||||
#endif
|
||||
@ -1837,13 +1837,13 @@ void CvWindow::setPropWindow(int flags)
|
||||
|
||||
switch(flags)
|
||||
{
|
||||
case CV_WINDOW_NORMAL:
|
||||
case cv::WINDOW_NORMAL:
|
||||
myGlobalLayout->setSizeConstraint(QLayout::SetMinAndMaxSize);
|
||||
param_flags = flags;
|
||||
|
||||
break;
|
||||
|
||||
case CV_WINDOW_AUTOSIZE:
|
||||
case cv::WINDOW_AUTOSIZE:
|
||||
myGlobalLayout->setSizeConstraint(QLayout::SetFixedSize);
|
||||
param_flags = flags;
|
||||
|
||||
@ -1856,14 +1856,14 @@ void CvWindow::setPropWindow(int flags)
|
||||
|
||||
void CvWindow::toggleFullScreen(int flags)
|
||||
{
|
||||
if (isFullScreen() && flags == CV_WINDOW_NORMAL)
|
||||
if (isFullScreen() && flags == cv::WINDOW_NORMAL)
|
||||
{
|
||||
showTools();
|
||||
showNormal();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isFullScreen() && flags == CV_WINDOW_FULLSCREEN)
|
||||
if (!isFullScreen() && flags == cv::WINDOW_FULLSCREEN)
|
||||
{
|
||||
hideTools();
|
||||
showFullScreen();
|
||||
@ -2013,9 +2013,9 @@ void CvWindow::createGlobalLayout()
|
||||
#endif
|
||||
setMinimumSize(1, 1);
|
||||
|
||||
if (param_flags == CV_WINDOW_AUTOSIZE)
|
||||
if (param_flags == cv::WINDOW_AUTOSIZE)
|
||||
myGlobalLayout->setSizeConstraint(QLayout::SetFixedSize);
|
||||
else if (param_flags == CV_WINDOW_NORMAL)
|
||||
else if (param_flags == cv::WINDOW_NORMAL)
|
||||
myGlobalLayout->setSizeConstraint(QLayout::SetMinAndMaxSize);
|
||||
}
|
||||
|
||||
@ -2605,7 +2605,7 @@ void DefaultViewPort::setRatio(int flags)
|
||||
return;
|
||||
|
||||
//if valid flags
|
||||
if (flags == CV_WINDOW_FREERATIO || flags == CV_WINDOW_KEEPRATIO)
|
||||
if (flags == cv::WINDOW_FREERATIO || flags == cv::WINDOW_KEEPRATIO)
|
||||
{
|
||||
centralWidget->param_ratio_mode = flags;
|
||||
param_keepRatio = flags;
|
||||
@ -2816,7 +2816,7 @@ void DefaultViewPort::resizeEvent(QResizeEvent* evnt)
|
||||
ratioX = width() / float(image2Draw_mat->cols);
|
||||
ratioY = height() / float(image2Draw_mat->rows);
|
||||
|
||||
if (param_keepRatio == CV_WINDOW_KEEPRATIO)//to keep the same aspect ratio
|
||||
if (param_keepRatio == cv::WINDOW_KEEPRATIO)//to keep the same aspect ratio
|
||||
{
|
||||
QSize newSize = QSize(image2Draw_mat->cols, image2Draw_mat->rows);
|
||||
newSize.scale(evnt->size(), Qt::KeepAspectRatio);
|
||||
|
@ -271,7 +271,7 @@ cvImageWidget_get_preferred_width (GtkWidget *widget, gint *minimal_width, gint
|
||||
CvImageWidget * image_widget = CV_IMAGE_WIDGET( widget );
|
||||
|
||||
if(image_widget->original_image != NULL) {
|
||||
*minimal_width = (image_widget->flags & CV_WINDOW_AUTOSIZE) != CV_WINDOW_AUTOSIZE ?
|
||||
*minimal_width = (image_widget->flags & cv::WINDOW_AUTOSIZE) != cv::WINDOW_AUTOSIZE ?
|
||||
gdk_window_get_width(gtk_widget_get_window(widget)) : image_widget->original_image->cols;
|
||||
}
|
||||
else {
|
||||
@ -295,7 +295,7 @@ cvImageWidget_get_preferred_height (GtkWidget *widget, gint *minimal_height, gin
|
||||
CvImageWidget * image_widget = CV_IMAGE_WIDGET( widget );
|
||||
|
||||
if(image_widget->original_image != NULL) {
|
||||
*minimal_height = (image_widget->flags & CV_WINDOW_AUTOSIZE) != CV_WINDOW_AUTOSIZE ?
|
||||
*minimal_height = (image_widget->flags & cv::WINDOW_AUTOSIZE) != cv::WINDOW_AUTOSIZE ?
|
||||
gdk_window_get_height(gtk_widget_get_window(widget)) : image_widget->original_image->rows;
|
||||
}
|
||||
else {
|
||||
@ -322,7 +322,7 @@ cvImageWidget_size_request (GtkWidget *widget,
|
||||
//printf("cvImageWidget_size_request ");
|
||||
// the case the first time cvShowImage called or when AUTOSIZE
|
||||
if( image_widget->original_image &&
|
||||
((image_widget->flags & CV_WINDOW_AUTOSIZE) ||
|
||||
((image_widget->flags & cv::WINDOW_AUTOSIZE) ||
|
||||
(image_widget->flags & CV_WINDOW_NO_IMAGE)))
|
||||
{
|
||||
//printf("original ");
|
||||
@ -351,7 +351,7 @@ static void cvImageWidget_set_size(GtkWidget * widget, int max_width, int max_he
|
||||
//printf("cvImageWidget_set_size %d %d\n", max_width, max_height);
|
||||
|
||||
// don't allow to set the size
|
||||
if(image_widget->flags & CV_WINDOW_AUTOSIZE) return;
|
||||
if(image_widget->flags & cv::WINDOW_AUTOSIZE) return;
|
||||
if(!image_widget->original_image) return;
|
||||
|
||||
CvSize scaled_image_size = cvImageWidget_calc_size( image_widget->original_image->cols,
|
||||
@ -390,7 +390,7 @@ cvImageWidget_size_allocate (GtkWidget *widget,
|
||||
image_widget = CV_IMAGE_WIDGET (widget);
|
||||
|
||||
|
||||
if( (image_widget->flags & CV_WINDOW_AUTOSIZE)==0 && image_widget->original_image ){
|
||||
if( (image_widget->flags & cv::WINDOW_AUTOSIZE)==0 && image_widget->original_image ){
|
||||
// (re) allocated scaled image
|
||||
if( image_widget->flags & CV_WINDOW_NO_IMAGE ){
|
||||
cvImageWidget_set_size( widget, image_widget->original_image->cols,
|
||||
@ -407,7 +407,7 @@ cvImageWidget_size_allocate (GtkWidget *widget,
|
||||
image_widget = CV_IMAGE_WIDGET (widget);
|
||||
|
||||
if( image_widget->original_image &&
|
||||
((image_widget->flags & CV_WINDOW_AUTOSIZE) ||
|
||||
((image_widget->flags & cv::WINDOW_AUTOSIZE) ||
|
||||
(image_widget->flags & CV_WINDOW_NO_IMAGE)) )
|
||||
{
|
||||
#if defined (GTK_VERSION3)
|
||||
@ -808,7 +808,7 @@ void cvSetModeWindow_GTK( const char* name, double prop_value)//Yannick Verdie
|
||||
|
||||
static bool setModeWindow_(const std::shared_ptr<CvWindow>& window, int mode)
|
||||
{
|
||||
if (window->flags & CV_WINDOW_AUTOSIZE) //if the flag CV_WINDOW_AUTOSIZE is set
|
||||
if (window->flags & cv::WINDOW_AUTOSIZE) //if the flag cv::WINDOW_AUTOSIZE is set
|
||||
return false;
|
||||
|
||||
//so easy to do fullscreen here, Linux rocks !
|
||||
@ -816,17 +816,17 @@ static bool setModeWindow_(const std::shared_ptr<CvWindow>& window, int mode)
|
||||
if (window->status == mode)
|
||||
return true;
|
||||
|
||||
if (window->status==CV_WINDOW_FULLSCREEN && mode==CV_WINDOW_NORMAL)
|
||||
if (window->status==cv::WINDOW_FULLSCREEN && mode==cv::WINDOW_NORMAL)
|
||||
{
|
||||
gtk_window_unfullscreen(GTK_WINDOW(window->frame));
|
||||
window->status=CV_WINDOW_NORMAL;
|
||||
window->status=cv::WINDOW_NORMAL;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (window->status==CV_WINDOW_NORMAL && mode==CV_WINDOW_FULLSCREEN)
|
||||
if (window->status==cv::WINDOW_NORMAL && mode==cv::WINDOW_FULLSCREEN)
|
||||
{
|
||||
gtk_window_fullscreen(GTK_WINDOW(window->frame));
|
||||
window->status=CV_WINDOW_FULLSCREEN;
|
||||
window->status=cv::WINDOW_FULLSCREEN;
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -859,7 +859,7 @@ double cvGetPropWindowAutoSize_GTK(const char* name)
|
||||
if (!window)
|
||||
return -1; // keep silence here
|
||||
|
||||
double result = window->flags & CV_WINDOW_AUTOSIZE;
|
||||
double result = window->flags & cv::WINDOW_AUTOSIZE;
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -1037,7 +1037,7 @@ static std::shared_ptr<CvWindow> namedWindow_(const std::string& name, int flags
|
||||
auto window_ptr = std::make_shared<CvWindow>(name);
|
||||
CvWindow* window = window_ptr.get();
|
||||
window->flags = flags;
|
||||
window->status = CV_WINDOW_NORMAL;//YV
|
||||
window->status = cv::WINDOW_NORMAL;//YV
|
||||
|
||||
window->frame = gtk_window_new( GTK_WINDOW_TOPLEVEL );
|
||||
|
||||
@ -1049,10 +1049,10 @@ static std::shared_ptr<CvWindow> namedWindow_(const std::string& name, int flags
|
||||
gtk_widget_show( window->paned );
|
||||
|
||||
#ifndef HAVE_OPENGL
|
||||
if (flags & CV_WINDOW_OPENGL)
|
||||
if (flags & cv::WINDOW_OPENGL)
|
||||
CV_Error( cv::Error::OpenGlNotSupported, "Library was built without OpenGL support" );
|
||||
#else
|
||||
if (flags & CV_WINDOW_OPENGL)
|
||||
if (flags & cv::WINDOW_OPENGL)
|
||||
createGlContext(window);
|
||||
|
||||
window->glDrawCallback = 0;
|
||||
@ -1097,7 +1097,7 @@ static std::shared_ptr<CvWindow> namedWindow_(const std::string& name, int flags
|
||||
getGTKWindows().push_back(window_ptr);
|
||||
}
|
||||
|
||||
bool b_nautosize = ((flags & CV_WINDOW_AUTOSIZE) == 0);
|
||||
bool b_nautosize = ((flags & cv::WINDOW_AUTOSIZE) == 0);
|
||||
gtk_window_set_resizable( GTK_WINDOW(window->frame), b_nautosize );
|
||||
|
||||
// allow window to be resized
|
||||
@ -1333,7 +1333,7 @@ void resizeWindow_(const std::shared_ptr<CvWindow>& window, int width, int heigh
|
||||
{
|
||||
CV_Assert(window);
|
||||
CvImageWidget* image_widget = CV_IMAGE_WIDGET( window->widget );
|
||||
//if(image_widget->flags & CV_WINDOW_AUTOSIZE)
|
||||
//if(image_widget->flags & cv::WINDOW_AUTOSIZE)
|
||||
//EXIT;
|
||||
|
||||
gtk_window_set_resizable( GTK_WINDOW(window->frame), 1 );
|
||||
@ -1916,7 +1916,7 @@ static gboolean icvOnMouse( GtkWidget *widget, GdkEvent *event, gpointer user_da
|
||||
if( cv_event >= 0 )
|
||||
{
|
||||
// scale point if image is scaled
|
||||
if( (image_widget->flags & CV_WINDOW_AUTOSIZE)==0 &&
|
||||
if( (image_widget->flags & cv::WINDOW_AUTOSIZE)==0 &&
|
||||
image_widget->original_image &&
|
||||
image_widget->scaled_image )
|
||||
{
|
||||
@ -2080,17 +2080,17 @@ public:
|
||||
// see cvGetWindowProperty
|
||||
switch (prop)
|
||||
{
|
||||
case CV_WND_PROP_FULLSCREEN:
|
||||
case cv::WND_PROP_FULLSCREEN:
|
||||
return (double)window->status;
|
||||
|
||||
case CV_WND_PROP_AUTOSIZE:
|
||||
return (window->flags & CV_WINDOW_AUTOSIZE) ? 1.0 : 0.0;
|
||||
case cv::WND_PROP_AUTOSIZE:
|
||||
return (window->flags & cv::WINDOW_AUTOSIZE) ? 1.0 : 0.0;
|
||||
|
||||
case CV_WND_PROP_ASPECTRATIO:
|
||||
case cv::WND_PROP_ASPECT_RATIO:
|
||||
return getRatioWindow_(window);
|
||||
|
||||
#ifdef HAVE_OPENGL
|
||||
case CV_WND_PROP_OPENGL:
|
||||
case cv::WND_PROP_OPENGL:
|
||||
return window->useGl ? 1.0 : 0.0;
|
||||
#endif
|
||||
|
||||
@ -2107,8 +2107,8 @@ public:
|
||||
// see cvSetWindowProperty
|
||||
switch (prop)
|
||||
{
|
||||
case CV_WND_PROP_FULLSCREEN:
|
||||
if (value != CV_WINDOW_NORMAL && value != CV_WINDOW_FULLSCREEN) // bad arg
|
||||
case cv::WND_PROP_FULLSCREEN:
|
||||
if (value != cv::WINDOW_NORMAL && value != cv::WINDOW_FULLSCREEN) // bad arg
|
||||
break;
|
||||
setModeWindow_(window, value);
|
||||
return true;
|
||||
|
@ -587,7 +587,7 @@ void cvSetModeWindow_W32(const char* name, double prop_value)//Yannick Verdie
|
||||
|
||||
static bool setModeWindow_(CvWindow& window, int mode)
|
||||
{
|
||||
if (window.flags & CV_WINDOW_AUTOSIZE)//if the flag CV_WINDOW_AUTOSIZE is set
|
||||
if (window.flags & cv::WINDOW_AUTOSIZE)//if the flag cv::WINDOW_AUTOSIZE is set
|
||||
return false;
|
||||
|
||||
if (window.status == mode)
|
||||
@ -597,18 +597,18 @@ static bool setModeWindow_(CvWindow& window, int mode)
|
||||
DWORD dwStyle = (DWORD)GetWindowLongPtr(window.frame, GWL_STYLE);
|
||||
CvRect position;
|
||||
|
||||
if (window.status == CV_WINDOW_FULLSCREEN && mode == CV_WINDOW_NORMAL)
|
||||
if (window.status == cv::WINDOW_FULLSCREEN && mode == cv::WINDOW_NORMAL)
|
||||
{
|
||||
icvLoadWindowPos(window.name.c_str(), position);
|
||||
SetWindowLongPtr(window.frame, GWL_STYLE, dwStyle | WS_CAPTION | WS_THICKFRAME);
|
||||
|
||||
SetWindowPos(window.frame, HWND_TOP, position.x, position.y , position.width,position.height, SWP_NOZORDER | SWP_FRAMECHANGED);
|
||||
window.status=CV_WINDOW_NORMAL;
|
||||
window.status=cv::WINDOW_NORMAL;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (window.status == CV_WINDOW_NORMAL && mode == CV_WINDOW_FULLSCREEN)
|
||||
if (window.status == cv::WINDOW_NORMAL && mode == cv::WINDOW_FULLSCREEN)
|
||||
{
|
||||
//save dimension
|
||||
RECT rect = { 0 };
|
||||
@ -630,7 +630,7 @@ static bool setModeWindow_(CvWindow& window, int mode)
|
||||
SetWindowLongPtr(window.frame, GWL_STYLE, dwStyle & ~WS_CAPTION & ~WS_THICKFRAME);
|
||||
|
||||
SetWindowPos(window.frame, HWND_TOP, position.x, position.y , position.width,position.height, SWP_NOZORDER | SWP_FRAMECHANGED);
|
||||
window.status=CV_WINDOW_FULLSCREEN;
|
||||
window.status=cv::WINDOW_FULLSCREEN;
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -836,7 +836,7 @@ double cvGetPropWindowAutoSize_W32(const char* name)
|
||||
if (!window)
|
||||
CV_Error_(Error::StsNullPtr, ("NULL window: '%s'", name));
|
||||
|
||||
result = window->flags & CV_WINDOW_AUTOSIZE;
|
||||
result = window->flags & cv::WINDOW_AUTOSIZE;
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -1055,11 +1055,11 @@ static std::shared_ptr<CvWindow> namedWindow_(const std::string& name, int flags
|
||||
CvRect rect;
|
||||
icvLoadWindowPos(name.c_str(), rect);
|
||||
|
||||
if (!(flags & CV_WINDOW_AUTOSIZE))//YV add border in order to resize the window
|
||||
if (!(flags & cv::WINDOW_AUTOSIZE))//YV add border in order to resize the window
|
||||
defStyle |= WS_SIZEBOX;
|
||||
|
||||
#ifdef HAVE_OPENGL
|
||||
if (flags & CV_WINDOW_OPENGL)
|
||||
if (flags & cv::WINDOW_OPENGL)
|
||||
defStyle |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
|
||||
#endif
|
||||
|
||||
@ -1076,14 +1076,14 @@ static std::shared_ptr<CvWindow> namedWindow_(const std::string& name, int flags
|
||||
CV_Error(Error::StsError, "Frame window can not be created");
|
||||
|
||||
#ifndef HAVE_OPENGL
|
||||
if (flags & CV_WINDOW_OPENGL)
|
||||
if (flags & cv::WINDOW_OPENGL)
|
||||
CV_Error(Error::OpenGlNotSupported, "Library was built without OpenGL support");
|
||||
#else
|
||||
useGl = false;
|
||||
hGLDC = 0;
|
||||
hGLRC = 0;
|
||||
|
||||
if (flags & CV_WINDOW_OPENGL)
|
||||
if (flags & cv::WINDOW_OPENGL)
|
||||
createGlContext(hWnd, hGLDC, hGLRC, useGl);
|
||||
#endif
|
||||
|
||||
@ -1117,7 +1117,7 @@ static std::shared_ptr<CvWindow> namedWindow_(const std::string& name, int flags
|
||||
#endif
|
||||
|
||||
window->last_key = 0;
|
||||
window->status = CV_WINDOW_NORMAL;//YV
|
||||
window->status = cv::WINDOW_NORMAL;//YV
|
||||
|
||||
window->on_mouse = 0;
|
||||
window->on_mouse_param = 0;
|
||||
@ -1338,7 +1338,7 @@ static void icvUpdateWindowPos(CvWindow& window)
|
||||
{
|
||||
RECT rect = { 0 };
|
||||
|
||||
if ((window.flags & CV_WINDOW_AUTOSIZE) && window.image)
|
||||
if ((window.flags & cv::WINDOW_AUTOSIZE) && window.image)
|
||||
{
|
||||
int i;
|
||||
SIZE size = {0,0};
|
||||
@ -1383,7 +1383,7 @@ cvShowImage(const char* name, const CvArr* arr)
|
||||
window = icvFindWindowByName(name);
|
||||
if (!window)
|
||||
{
|
||||
cvNamedWindow(name, CV_WINDOW_AUTOSIZE);
|
||||
cvNamedWindow(name, cv::WINDOW_AUTOSIZE);
|
||||
window = icvFindWindowByName(name);
|
||||
}
|
||||
}
|
||||
@ -1548,7 +1548,7 @@ MainWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
break;
|
||||
|
||||
case WM_GETMINMAXINFO:
|
||||
if (!(window.flags & CV_WINDOW_AUTOSIZE))
|
||||
if (!(window.flags & cv::WINDOW_AUTOSIZE))
|
||||
{
|
||||
MINMAXINFO* minmax = (MINMAXINFO*)lParam;
|
||||
RECT rect = { 0 };
|
||||
@ -1579,7 +1579,7 @@ MainWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
MoveWindow(window.toolbar.toolbar, 0, 0, pos->cx, rect.bottom - rect.top, TRUE);
|
||||
}
|
||||
|
||||
if (!(window.flags & CV_WINDOW_AUTOSIZE))
|
||||
if (!(window.flags & cv::WINDOW_AUTOSIZE))
|
||||
icvUpdateWindowPos(window);
|
||||
|
||||
break;
|
||||
@ -1846,7 +1846,7 @@ static LRESULT CALLBACK HighGUIProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM
|
||||
pt.x = GET_X_LPARAM(lParam);
|
||||
pt.y = GET_Y_LPARAM(lParam);
|
||||
|
||||
if (window.flags & CV_WINDOW_AUTOSIZE)
|
||||
if (window.flags & cv::WINDOW_AUTOSIZE)
|
||||
{
|
||||
// As user can't change window size, do not scale window coordinates. Underlying windowing system
|
||||
// may prevent full window from being displayed and in this case coordinates should not be scaled.
|
||||
@ -1908,7 +1908,7 @@ static LRESULT CALLBACK HighGUIProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM
|
||||
SetDIBColorTable(window.dc, 0, 255, table);
|
||||
}
|
||||
|
||||
if (window.flags & CV_WINDOW_AUTOSIZE)
|
||||
if (window.flags & cv::WINDOW_AUTOSIZE)
|
||||
{
|
||||
BitBlt(hdc, 0, 0, size.cx, size.cy, window.dc, 0, 0, SRCCOPY);
|
||||
}
|
||||
|
@ -1509,7 +1509,7 @@ void cv_wl_viewer::get_preferred_height_for_width(int width, int &minimum, int &
|
||||
minimum = natural = image_.size().height;
|
||||
} else {
|
||||
natural = static_cast<int>(width * aspect_ratio(image_.size()));
|
||||
minimum = (flags_ & CV_WINDOW_FREERATIO ? 0 : natural);
|
||||
minimum = (flags_ & cv::WINDOW_FREERATIO ? 0 : natural);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1548,11 +1548,11 @@ cv::Rect cv_wl_viewer::draw(void *data, cv::Size const &size, bool force) {
|
||||
CV_Assert(image_.size() == size);
|
||||
write_mat_to_xrgb8888(image_, data);
|
||||
} else {
|
||||
if (flags_ & CV_WINDOW_FREERATIO) {
|
||||
if (flags_ & cv::WINDOW_FREERATIO) {
|
||||
cv::Mat resized;
|
||||
cv::resize(image_, resized, size);
|
||||
write_mat_to_xrgb8888(resized, data);
|
||||
} else /* CV_WINDOW_KEEPRATIO */ {
|
||||
} else /* cv::WINDOW_KEEPRATIO */ {
|
||||
auto rect = cv::Rect(cv::Point(0, 0), size);
|
||||
if (aspect_ratio(size) >= aspect_ratio(image_.size())) {
|
||||
rect.height = static_cast<int>(image_.size().height * ((double) rect.width / image_.size().width));
|
||||
|
Loading…
Reference in New Issue
Block a user