[HighGUI] Updated mouse wheel delta to reside within the 'flags' variable. Updated C++ API.

This commit is contained in:
Adi Shavit 2014-01-12 09:33:08 +02:00
parent fecd5c994b
commit e45cf2173f
4 changed files with 12 additions and 5 deletions

View File

@ -76,7 +76,9 @@ enum { EVENT_MOUSEMOVE = 0,
EVENT_MBUTTONUP = 6, EVENT_MBUTTONUP = 6,
EVENT_LBUTTONDBLCLK = 7, EVENT_LBUTTONDBLCLK = 7,
EVENT_RBUTTONDBLCLK = 8, EVENT_RBUTTONDBLCLK = 8,
EVENT_MBUTTONDBLCLK = 9 EVENT_MBUTTONDBLCLK =9,
EVENT_MOUSEWHEEL =10,
EVENT_MOUSEHWHEEL =11
}; };
enum { EVENT_FLAG_LBUTTON = 1, enum { EVENT_FLAG_LBUTTON = 1,
@ -137,6 +139,8 @@ CV_EXPORTS_W double getWindowProperty(const String& winname, int prop_id);
//! assigns callback for mouse events //! assigns callback for mouse events
CV_EXPORTS void setMouseCallback(const String& winname, MouseCallback onMouse, void* userdata = 0); CV_EXPORTS void setMouseCallback(const String& winname, MouseCallback onMouse, void* userdata = 0);
CV_EXPORTS int getMouseWheelDelta(int flags);
CV_EXPORTS int createTrackbar(const String& trackbarname, const String& winname, CV_EXPORTS int createTrackbar(const String& trackbarname, const String& winname,
int* value, int count, int* value, int count,
TrackbarCallback onChange = 0, TrackbarCallback onChange = 0,

View File

@ -186,9 +186,7 @@ enum
}; };
#define CV_GET_WHEEL_DELTA(event) ((short)((event >> 16) & 0xffff)) // upper 16 bits #define CV_GET_WHEEL_DELTA(flags) ((short)((flags >> 16) & 0xffff)) // upper 16 bits
#define CV_GET_MOUSEWHEEL_EVENT(event) (event & 0xffff) // lower 16 bits
typedef void (CV_CDECL *CvMouseCallback )(int event, int x, int y, int flags, void* param); typedef void (CV_CDECL *CvMouseCallback )(int event, int x, int y, int flags, void* param);

View File

@ -216,6 +216,11 @@ void cv::setMouseCallback( const String& windowName, MouseCallback onMouse, void
cvSetMouseCallback(windowName.c_str(), onMouse, param); cvSetMouseCallback(windowName.c_str(), onMouse, param);
} }
int cv::getMouseWheelDelta( int flags )
{
return CV_GET_WHEEL_DELTA(flags);
}
int cv::startWindowThread() int cv::startWindowThread()
{ {
return cvStartWindowThread(); return cvStartWindowThread();

View File

@ -1392,7 +1392,7 @@ MainWindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
// Set the wheel delta of mouse wheel to be in the upper word of 'event' // Set the wheel delta of mouse wheel to be in the upper word of 'event'
int delta = GET_WHEEL_DELTA_WPARAM(wParam); int delta = GET_WHEEL_DELTA_WPARAM(wParam);
event |= (delta << 16); flags |= (delta << 16);
POINT pt; POINT pt;
{ {