Commit 4e7b5214 authored by Alexander Alekhin's avatar Alexander Alekhin

highgui: change waitKey() default behaviour

The old behaviour is available via waitKeyEx() call or
via setting of OPENCV_LEGACY_WAITKEY environment variable
parent 36b5abf6
......@@ -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)
......
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