Fix for #5495 : add setTrackbarMin

This commit is contained in:
Aman Verma
2015-10-19 08:44:06 +00:00
parent 37ce3b8cfe
commit b0209ad7f7
10 changed files with 184 additions and 6 deletions

View File

@@ -508,6 +508,7 @@ typedef struct CvTrackbar
int* data;
int pos;
int maxval;
int minval;
CvTrackbarCallback notify;
CvTrackbarCallback2 notify2;
void* userdata;
@@ -1607,7 +1608,7 @@ CV_IMPL void cvSetTrackbarMax(const char* trackbar_name, const char* window_name
trackbar = icvFindTrackbarByName(window, trackbar_name);
if (trackbar)
{
trackbar->maxval = maxval;
trackbar->maxval = (trackbar->minval>maxval)?trackbar->minval:maxval;
CV_LOCK_MUTEX();
@@ -1622,6 +1623,43 @@ CV_IMPL void cvSetTrackbarMax(const char* trackbar_name, const char* window_name
}
CV_IMPL void cvSetTrackbarMin(const char* trackbar_name, const char* window_name, int minval)
{
CV_FUNCNAME("cvSetTrackbarMin");
__BEGIN__;
if (minval >= 0)
{
CvWindow* window = 0;
CvTrackbar* trackbar = 0;
if (trackbar_name == 0 || window_name == 0)
{
CV_ERROR( CV_StsNullPtr, "NULL trackbar or window name");
}
window = icvFindWindowByName( window_name );
if (window)
{
trackbar = icvFindTrackbarByName(window, trackbar_name);
if (trackbar)
{
trackbar->minval = (minval<trackbar->maxval)?minval:trackbar->maxval;
CV_LOCK_MUTEX();
gtk_range_set_range(GTK_RANGE(trackbar->widget), minval, trackbar->maxval);
CV_UNLOCK_MUTEX();
}
}
}
__END__;
}
CV_IMPL void* cvGetWindowHandle( const char* window_name )
{
void* widget = 0;