From e71c5e8754f78b173e932d1fbfbf9f990611b011 Mon Sep 17 00:00:00 2001 From: Yannick Verdie Date: Sat, 12 Jun 2010 16:56:01 +0000 Subject: [PATCH] working on QT change/get win property (stylesheet for cvTrackBar fixed !!!) --- .../include/opencv2/highgui/highgui_c.h | 6 ++-- modules/highgui/src/precomp.hpp | 28 ++++++------------- modules/highgui/src/window.cpp | 24 ++++++++++------ modules/highgui/src/window_QT.cpp | 8 +++--- modules/highgui/src/window_carbon.cpp | 8 +++--- modules/highgui/src/window_gtk.cpp | 8 +++--- modules/highgui/src/window_w32.cpp | 10 +++---- 7 files changed, 43 insertions(+), 49 deletions(-) diff --git a/modules/highgui/include/opencv2/highgui/highgui_c.h b/modules/highgui/include/opencv2/highgui/highgui_c.h index e280d3b0a..1293e5daf 100644 --- a/modules/highgui/include/opencv2/highgui/highgui_c.h +++ b/modules/highgui/include/opencv2/highgui/highgui_c.h @@ -58,7 +58,9 @@ extern "C" { \****************************************************************************************/ //YV //-----------New for QT -//CVAPI(void) cvInformation(const char* name, const char* text, int delayms); +CVAPI(void) cvInformation(const char* name, const char* text, int delayms); +CVAPI(int) cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]); +CVAPI(void) cvStopLoop(); //---------------------- @@ -86,8 +88,6 @@ enum CVAPI(void) cvSetWindowProperty(const char* name, int prop_id, double prop_value); CVAPI(double) cvGetWindowProperty(const char* name, int prop_id); -CVAPI(void) cvInformation(const char* name, const char* text, int delayms); - /* display image within window (highgui windows remember their content) */ CVAPI(void) cvShowImage( const char* name, const CvArr* image ); diff --git a/modules/highgui/src/precomp.hpp b/modules/highgui/src/precomp.hpp index 5457530d8..32340baa3 100644 --- a/modules/highgui/src/precomp.hpp +++ b/modules/highgui/src/precomp.hpp @@ -162,26 +162,14 @@ CvVideoWriter* cvCreateVideoWriter_GStreamer( const char* filename, int fourcc, double fps, CvSize frameSize, int is_color ); //Yannick Verdie 2010 -double cvGetMode_W32(const char* name); -double cvGetMode_GTK(const char* name); -double cvGetMode_CARBON(const char* name); -double cvGetMode_QT(const char* name); -void cvChangeMode_W32(const char* name, double prop_value); -void cvChangeMode_GTK(const char* name, double prop_value); -void cvChangeMode_CARBON(const char* name, double prop_value); -void cvChangeMode_QT(const char* name, double prop_value); - -//#if defined (HAVE_QT) - //class CvWindow; - //class ViewPort; - //struct CvTrackbar; - - ////new functions available to the users - //#include "highgui_QT_extension.h" - ////new functions hidden to the users - //CvTrackbar* icvFindTrackbarByName( const char* name_trackbar, const char* name_window ); -//#endif - +double cvGetModeWindow_W32(const char* name); +double cvGetModeWindow_GTK(const char* name); +double cvGetModeWindow_CARBON(const char* name); +double cvGetModeWindow_QT(const char* name); +void cvSetModeWindow_W32(const char* name, double prop_value); +void cvSetModeWindow_GTK(const char* name, double prop_value); +void cvSetModeWindow_CARBON(const char* name, double prop_value); +void cvSetModeWindow_QT(const char* name, double prop_value); /*namespace cv { diff --git a/modules/highgui/src/window.cpp b/modules/highgui/src/window.cpp index 2e9064650..868d95bbe 100644 --- a/modules/highgui/src/window.cpp +++ b/modules/highgui/src/window.cpp @@ -54,18 +54,20 @@ CV_IMPL void cvSetWindowProperty(const char* name, int prop_id, double prop_valu break; #if defined WIN32 || defined _WIN32 - cvChangeMode_W32(name,prop_value); + cvSetModeWindow_W32(name,prop_value); #elif defined (HAVE_GTK) - cvChangeMode_GTK(name,prop_value); + cvSetModeWindow_GTK(name,prop_value); #elif defined (HAVE_CARBON) - cvChangeMode_CARBON(name,prop_value); + cvSetModeWindow_CARBON(name,prop_value); #elif defined (HAVE_QT) - cvChangeMode_QT(name,prop_value); + cvSetModeWindow_QT(name,prop_value); #endif break; case CV_WND_PROP_AUTOSIZE: - + #if defined (HAVE_QT) + //cvChangeSizeWindow_QT(name,prop_value); + #endif break; default:; @@ -83,13 +85,13 @@ CV_IMPL double cvGetWindowProperty(const char* name, int prop_id) return -1; #if defined WIN32 || defined _WIN32 - return cvGetMode_W32(name); + return cvGetModeWindow_W32(name); #elif defined (HAVE_GTK) - return cvGetMode_GTK(name); + return cvGetModeWindow_GTK(name); #elif defined (HAVE_CARBON) - return cvGetMode_CARBON(name); + return cvGetModeWindow_CARBON(name); #elif defined (HAVE_QT) - return cvGetMode_QT(name); + return cvGetModeWindow_QT(name); #else return -1; #endif @@ -99,7 +101,11 @@ CV_IMPL double cvGetWindowProperty(const char* name, int prop_id) if (!name)//bad argument return -1; + #if defined (HAVE_QT) + //cvGetSizeWindow_QT(name,prop_value); + #else return -1; + #endif default: return -1; diff --git a/modules/highgui/src/window_QT.cpp b/modules/highgui/src/window_QT.cpp index bf2907fe8..52b1caed7 100755 --- a/modules/highgui/src/window_QT.cpp +++ b/modules/highgui/src/window_QT.cpp @@ -54,7 +54,7 @@ QMutex mutexKey; //end static and global //end declaration -void cvChangeMode_QT(const char* name, double prop_value) +void cvSetModeWindow_QT(const char* name, double prop_value) { QMetaObject::invokeMethod(&guiMainThread, "toggleFullScreen", @@ -63,7 +63,7 @@ void cvChangeMode_QT(const char* name, double prop_value) Q_ARG(double, prop_value)); } -double cvGetMode_QT(const char* name) +double cvGetModeWindow_QT(const char* name) { double result; @@ -146,14 +146,14 @@ CV_IMPL int cvWaitKey( int arg ) } -int cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]) +CV_IMPL int cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]) { multiThreads = true; QFuture future = QtConcurrent::run(pt2Func,argc,argv); return guiMainThread.start(); } -void cvStopLoop() +CV_IMPL void cvStopLoop() { qApp->exit(); } diff --git a/modules/highgui/src/window_carbon.cpp b/modules/highgui/src/window_carbon.cpp index c74be9fcb..68d2cd4c6 100644 --- a/modules/highgui/src/window_carbon.cpp +++ b/modules/highgui/src/window_carbon.cpp @@ -757,11 +757,11 @@ CV_IMPL const char* cvGetWindowName( void* window_handle ) return window_name; } -double cvGetMode_CARBON(const char* name)//YV +double cvGetModeWindow_CARBON(const char* name)//YV { double result = -1; - CV_FUNCNAME( "cvGetMode_QT" ); + CV_FUNCNAME( "cvGetModeWindow_QT" ); __BEGIN__; @@ -780,12 +780,12 @@ double cvGetMode_CARBON(const char* name)//YV return result; } -void cvChangeMode_CARBON( const char* name, double prop_value)//Yannick Verdie +void cvSetModeWindow_CARBON( const char* name, double prop_value)//Yannick Verdie { OSStatus err = noErr; - CV_FUNCNAME( "cvChangeMode_QT" ); + CV_FUNCNAME( "cvSetModeWindow_QT" ); __BEGIN__; diff --git a/modules/highgui/src/window_gtk.cpp b/modules/highgui/src/window_gtk.cpp index 05360f3d2..cb66b314b 100644 --- a/modules/highgui/src/window_gtk.cpp +++ b/modules/highgui/src/window_gtk.cpp @@ -569,11 +569,11 @@ static CvWindow* icvWindowByWidget( GtkWidget* widget ) return window; } -double cvGetMode_GTK(const char* name)//YV +double cvGetModeWindow_GTK(const char* name)//YV { double result = -1; - CV_FUNCNAME( "cvGetMode_GTK" ); + CV_FUNCNAME( "cvGetModeWindow_GTK" ); __BEGIN__; @@ -595,10 +595,10 @@ double cvGetMode_GTK(const char* name)//YV } -void cvChangeMode_GTK( const char* name, double prop_value)//Yannick Verdie +void cvSetModeWindow_GTK( const char* name, double prop_value)//Yannick Verdie { - CV_FUNCNAME( "cvChangeMode_GTK" ); + CV_FUNCNAME( "cvSetModeWindow_GTK" ); __BEGIN__; diff --git a/modules/highgui/src/window_w32.cpp b/modules/highgui/src/window_w32.cpp index d7664c6f2..1516e8f71 100644 --- a/modules/highgui/src/window_w32.cpp +++ b/modules/highgui/src/window_w32.cpp @@ -369,11 +369,11 @@ icvSaveWindowPos( const char* name, CvRect rect ) RegCloseKey(hkey); } -double cvGetMode_W32(const char* name)//YV +double cvGetModeWindow_W32(const char* name)//YV { double result = -1; - CV_FUNCNAME( "cvGetMode_W32" ); + CV_FUNCNAME( "cvGetModeWindow_W32" ); __BEGIN__; @@ -393,9 +393,9 @@ double cvGetMode_W32(const char* name)//YV } #ifdef MONITOR_DEFAULTTONEAREST -void cvChangeMode_W32( const char* name, double prop_value)//Yannick Verdie +void cvSetModeWindow_W32( const char* name, double prop_value)//Yannick Verdie { - CV_FUNCNAME( "cvChangeMode_W32" ); + CV_FUNCNAME( "cvSetModeWindow_W32" ); __BEGIN__; @@ -457,7 +457,7 @@ void cvChangeMode_W32( const char* name, double prop_value)//Yannick Verdie __END__; } #else -void cvChangeMode_W32( const char*, double) +void cvSetModeWindow_W32( const char*, double) { } #endif