auto backend = getCurrentUIBackend();
if (backend)
{
- auto window = backend->createWindow(winname, WINDOW_NORMAL);
+ auto window = backend->createWindow(winname, WINDOW_AUTOSIZE);
if (!window)
{
CV_LOG_ERROR(NULL, "OpenCV/UI: Can't create window: '" << winname << "'");
SIZE sz;
int channels;
void* data;
- if (icvGetBitmapData(window, sz, channels, data))
+ if (!icvGetBitmapData(window, sz, channels, data))
return; // nothing to save
char szFileName[MAX_PATH] = "";
switch (message.message)
{
case WM_DESTROY:
+ // fallthru
case WM_CHAR:
DispatchMessage(&message);
keyCode = (int)message.wParam;
break;
case WM_KEYDOWN:
+ // Intercept Ctrl+C for copy to clipboard
+ if ('C' == message.wParam && (::GetKeyState(VK_CONTROL) >> 15))
+ {
+ ::SendMessage(message.hwnd, WM_COPY, 0, 0);
+ return false;
+ }
+
+ // Intercept Ctrl+S for "save as" dialog
+ if ('S' == message.wParam && (::GetKeyState(VK_CONTROL) >> 15))
+ {
+ showSaveDialog(window);
+ return false;
+ }
+
TranslateMessage(&message);
if ((message.wParam >= VK_F1 && message.wParam <= VK_F24) ||
message.wParam == VK_HOME || message.wParam == VK_END ||
return true;
}
- // Intercept Ctrl+C for copy to clipboard
- if ('C' == message.wParam && (::GetKeyState(VK_CONTROL) >> 15))
- ::SendMessage(message.hwnd, WM_COPY, 0, 0);
-
- // Intercept Ctrl+S for "save as" dialog
- if ('S' == message.wParam && (::GetKeyState(VK_CONTROL) >> 15))
- showSaveDialog(window);
+ // fallthru
default:
DispatchMessage(&message);