mirror of
https://github.com/opencv/opencv.git
synced 2026-07-31 08:13:04 +04:00
Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts: doc/tutorials/introduction/linux_install/linux_install.rst modules/core/doc/operations_on_arrays.rst modules/core/include/opencv2/core/core.hpp modules/core/src/system.cpp modules/gpu/src/cuda/resize.cu modules/imgproc/doc/miscellaneous_transformations.rst modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst modules/video/src/bgfg_gaussmix2.cpp
This commit is contained in:
@@ -711,13 +711,13 @@ CvCaptureCAM_Giganetix::setProperty( int property_id, double value )
|
||||
INT64 w, wmax, val = (INT64)value;
|
||||
if((b_ret = m_device->GetIntegerNodeValue ("Width", w)))
|
||||
if((b_ret = m_device->GetIntegerNodeValue ("WidthMax", wmax)))
|
||||
b_ret = m_device->SetIntegerNodeValue ("OffsetX", val w > wmax ? wmax - w : val);
|
||||
b_ret = m_device->SetIntegerNodeValue ("OffsetX", (val + w) > wmax ? (wmax - w) : val);
|
||||
} break;
|
||||
case CV_CAP_PROP_GIGA_FRAME_OFFSET_Y: {
|
||||
INT64 h, hmax, val = (INT64)value;
|
||||
if((b_ret = m_device->GetIntegerNodeValue ("Height", h)))
|
||||
if((b_ret = m_device->GetIntegerNodeValue ("HeightMax", hmax)))
|
||||
b_ret = m_device->SetIntegerNodeValue ("OffsetY", val h > hmax ? hmax - h : val);
|
||||
b_ret = m_device->SetIntegerNodeValue ("OffsetY", (val + h) > hmax ? (hmax - h) : val);
|
||||
b_ret = m_device->SetIntegerNodeValue ("OffsetY", (INT64)value);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -735,6 +735,7 @@ bool CvCapture_GStreamer::open( int type, const char* filename )
|
||||
|
||||
#if GST_VERSION_MAJOR == 0
|
||||
caps = gst_caps_new_simple("video/x-raw-rgb",
|
||||
"bpp", G_TYPE_INT, 24,
|
||||
"red_mask", G_TYPE_INT, 0x0000FF,
|
||||
"green_mask", G_TYPE_INT, 0x00FF00,
|
||||
"blue_mask", G_TYPE_INT, 0xFF0000,
|
||||
|
||||
@@ -1472,8 +1472,6 @@ static LRESULT CALLBACK HighGUIProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM
|
||||
if( window->on_mouse )
|
||||
{
|
||||
POINT pt;
|
||||
RECT rect;
|
||||
SIZE size = {0,0};
|
||||
|
||||
int flags = (wParam & MK_LBUTTON ? CV_EVENT_FLAG_LBUTTON : 0)|
|
||||
(wParam & MK_RBUTTON ? CV_EVENT_FLAG_RBUTTON : 0)|
|
||||
@@ -1499,12 +1497,23 @@ static LRESULT CALLBACK HighGUIProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM
|
||||
pt.x = GET_X_LPARAM( lParam );
|
||||
pt.y = GET_Y_LPARAM( lParam );
|
||||
|
||||
GetClientRect( window->hwnd, &rect );
|
||||
icvGetBitmapData( window, &size, 0, 0 );
|
||||
if (window->flags & CV_WINDOW_AUTOSIZE)
|
||||
{
|
||||
// As user can't change window size, do not scale window coordinates. Underlying windowing system
|
||||
// may prevent full window from being displayed and in this case coordinates should not be scaled.
|
||||
window->on_mouse( event, pt.x, pt.y, flags, window->on_mouse_param );
|
||||
} else {
|
||||
// Full window is displayed using different size. Scale coordinates to match underlying positions.
|
||||
RECT rect;
|
||||
SIZE size = {0, 0};
|
||||
|
||||
window->on_mouse( event, pt.x*size.cx/MAX(rect.right - rect.left,1),
|
||||
pt.y*size.cy/MAX(rect.bottom - rect.top,1), flags,
|
||||
window->on_mouse_param );
|
||||
GetClientRect( window->hwnd, &rect );
|
||||
icvGetBitmapData( window, &size, 0, 0 );
|
||||
|
||||
window->on_mouse( event, pt.x*size.cx/MAX(rect.right - rect.left,1),
|
||||
pt.y*size.cy/MAX(rect.bottom - rect.top,1), flags,
|
||||
window->on_mouse_param );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user