Merge pull request #22160 from sturkmen72:update_highgui

pull/22298/head
Alexander Smorkalov 3 years ago
commit 348b7383f9
  1. 4
      modules/highgui/CMakeLists.txt
  2. 5
      modules/highgui/src/plugin_wrapper.impl.hpp
  3. 2
      modules/highgui/src/precomp.hpp
  4. 6
      modules/highgui/src/window_w32.cpp

@ -1,9 +1,9 @@
set(the_description "High-level GUI")
if(ANDROID)
ocv_add_module(highgui opencv_imgproc opencv_imgcodecs OPTIONAL opencv_videoio WRAP python)
ocv_add_module(highgui opencv_imgproc OPTIONAL opencv_imgcodecs opencv_videoio WRAP python)
else()
ocv_add_module(highgui opencv_imgproc opencv_imgcodecs OPTIONAL opencv_videoio WRAP python java)
ocv_add_module(highgui opencv_imgproc OPTIONAL opencv_imgcodecs opencv_videoio WRAP python java)
endif()
include(${CMAKE_CURRENT_LIST_DIR}/cmake/plugin.cmake)

@ -235,12 +235,15 @@ std::vector<FileSystemPath_t> getPluginCandidates(const std::string& baseName)
return results;
}
// NB: require loading of imgcodecs module
#ifdef HAVE_OPENCV_IMGCODECS // NB: require loading of imgcodecs module
static void* g_imwrite = (void*)imwrite;
#endif
void PluginUIBackendFactory::loadPlugin()
{
#ifdef HAVE_OPENCV_IMGCODECS
CV_Assert(g_imwrite);
#endif
for (const FileSystemPath_t& plugin : getPluginCandidates(baseName_))
{
auto lib = std::make_shared<cv::plugin::impl::DynamicLib>(plugin);

@ -60,8 +60,6 @@
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/imgcodecs.hpp"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

@ -2132,6 +2132,7 @@ cvDestroyAllWindows(void)
static void showSaveDialog(CvWindow& window)
{
#ifdef HAVE_OPENCV_IMGCODECS
if (!window.image)
return;
@ -2193,6 +2194,11 @@ static void showSaveDialog(CvWindow& window)
cv::flip(cv::Mat(sz.cy, sz.cx, CV_8UC(channels), data, (sz.cx * channels + 3) & -4), tmp, 0);
cv::imwrite(szFileName, tmp);
}
#else
CV_UNUSED(window);
CV_LOG_WARNING("Save dialog requires enabled 'imgcodecs' module.");
return;
#endif
}
/*

Loading…
Cancel
Save