highgui: change waitKey() default behaviour

The old behaviour is available via waitKeyEx() call or
via setting of OPENCV_LEGACY_WAITKEY environment variable
pull/7866/head
Alexander Alekhin 8 years ago
parent 36b5abf6b7
commit 4e7b521438
  1. 9
      modules/highgui/include/opencv2/highgui.hpp
  2. 17
      modules/highgui/src/window.cpp

@ -320,6 +320,15 @@ CV_EXPORTS_W void destroyAllWindows();
CV_EXPORTS_W int startWindowThread();
/** @brief Similar to #waitKey, but returns full key code.
@note
Key code is implementation specific and depends on used backend: QT/GTK/Win32/etc
*/
CV_EXPORTS_W int waitKeyEx(int delay = 0);
/** @brief Waits for a pressed key.
The function waitKey waits for a key event infinitely (when \f$\texttt{delay}\leq 0\f$ ) or for delay

@ -201,11 +201,26 @@ double cv::getWindowProperty(const String& winname, int prop_id)
return cvGetWindowProperty(winname.c_str(), prop_id);
}
int cv::waitKey(int delay)
int cv::waitKeyEx(int delay)
{
return cvWaitKey(delay);
}
int cv::waitKey(int delay)
{
int code = waitKeyEx(delay);
#ifndef HAVE_WINRT
static int use_legacy = -1;
if (use_legacy < 0)
{
use_legacy = getenv("OPENCV_LEGACY_WAITKEY") != NULL ? 1 : 0;
}
if (use_legacy > 0)
return code;
#endif
return code & 0xff;
}
int cv::createTrackbar(const String& trackbarName, const String& winName,
int* value, int count, TrackbarCallback callback,
void* userdata)

Loading…
Cancel
Save