static void icvOnTrackbar( GtkWidget* widget, gpointer user_data ) { int pos = cvRound( gtk_range_get_value(GTK_RANGE(widget))); CvTrackbar* trackbar = (CvTrackbar*)user_data; if( trackbar && trackbar->signature == CV_TRACKBAR_MAGIC_VAL && trackbar->widget == widget ) { trackbar->pos = pos; if( trackbar->data ) *trackbar->data = pos; if( trackbar->notify ) trackbar->notify(pos); } }
void TrackbarActionProcPtr (ControlRef theControl, ControlPartCode partCode) { CvTrackbar * trackbar = icvTrackbarByHandle (theControl); if (trackbar == NULL) { fprintf(stderr,"Erreur recuperation trackbar\n"); return; } else { if ( trackbar->data ) *trackbar->data = GetControl32BitValue (theControl); if ( trackbar->notify ) trackbar->notify(GetControl32BitValue (theControl)); } }
void TrackbarActionProcPtr (ControlRef theControl, ControlPartCode partCode) { CvTrackbar * trackbar = icvTrackbarByHandle (theControl); if (trackbar == NULL) { fprintf(stderr,"Error getting trackbar\n"); return; } else { int pos = GetControl32BitValue (theControl); if ( trackbar->data ) *trackbar->data = pos; if ( trackbar->notify ) trackbar->notify(pos); else if ( trackbar->notify2 ) trackbar->notify2(pos, trackbar->userdata); //--------YV--------------------------- CFStringEncoding encoding = kCFStringEncodingASCII; CFAllocatorRef alloc_default = kCFAllocatorDefault; // = NULL; char valueinchar[20]; sprintf(valueinchar, " (%d)", *trackbar->data); // create an empty CFMutableString CFIndex maxLength = 256; CFMutableStringRef cfstring = CFStringCreateMutable(alloc_default,maxLength); // append some c strings into it. CFStringAppendCString(cfstring,trackbar->name,encoding); CFStringAppendCString(cfstring,valueinchar,encoding); SetControlData(trackbar->label, kControlEntireControl,kControlStaticTextCFStringTag, sizeof(cfstring), &cfstring); DrawControls(trackbar->parent->window); //----------------------------------------- } }