5 ////////////////////// create trackbar /////////////////////
6 static ChInterp_t interp;
7 static void* cvCreateTrackbar_chdl_callback_ptr[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
9 static void cvCreateTrackbar_chdl_callback0(int arg) {
10 Ch_CallFuncByAddr(interp,cvCreateTrackbar_chdl_callback_ptr[0],NULL,arg);
13 static void cvCreateTrackbar_chdl_callback1(int arg) {
14 Ch_CallFuncByAddr(interp,cvCreateTrackbar_chdl_callback_ptr[1],NULL,arg);
17 static void cvCreateTrackbar_chdl_callback2(int arg) {
18 Ch_CallFuncByAddr(interp,cvCreateTrackbar_chdl_callback_ptr[2],NULL,arg);
21 static void cvCreateTrackbar_chdl_callback3(int arg) {
22 Ch_CallFuncByAddr(interp,cvCreateTrackbar_chdl_callback_ptr[3],NULL,arg);
25 static void cvCreateTrackbar_chdl_callback4(int arg) {
26 Ch_CallFuncByAddr(interp,cvCreateTrackbar_chdl_callback_ptr[4],NULL,arg);
29 static void cvCreateTrackbar_chdl_callback5(int arg) {
30 Ch_CallFuncByAddr(interp,cvCreateTrackbar_chdl_callback_ptr[5],NULL,arg);
33 static void cvCreateTrackbar_chdl_callback6(int arg) {
34 Ch_CallFuncByAddr(interp,cvCreateTrackbar_chdl_callback_ptr[6],NULL,arg);
37 static void cvCreateTrackbar_chdl_callback7(int arg) {
38 Ch_CallFuncByAddr(interp,cvCreateTrackbar_chdl_callback_ptr[7],NULL,arg);
42 EXPORTCH int cvCreateTrackbar_chdl(void *varg) {
46 const char* window_name;
49 CvTrackbarCallback on_notify_ch = NULL, on_notify_c = NULL;
52 Ch_VaStart(interp, ap, varg);
53 name = Ch_VaArg(interp, ap, const char*);
54 window_name = Ch_VaArg(interp, ap, const char*);
55 value = Ch_VaArg(interp, ap, int*);
56 count = Ch_VaArg(interp, ap, int);
57 on_notify_ch = Ch_VaArg(interp, ap, CvTrackbarCallback);
58 if (on_notify_ch != NULL) {
61 case 0: on_notify_c = cvCreateTrackbar_chdl_callback0; break;
62 case 1: on_notify_c = cvCreateTrackbar_chdl_callback1; break;
63 case 2: on_notify_c = cvCreateTrackbar_chdl_callback2; break;
64 case 3: on_notify_c = cvCreateTrackbar_chdl_callback3; break;
65 case 4: on_notify_c = cvCreateTrackbar_chdl_callback4; break;
66 case 5: on_notify_c = cvCreateTrackbar_chdl_callback5; break;
67 case 6: on_notify_c = cvCreateTrackbar_chdl_callback6; break;
68 case 7: on_notify_c = cvCreateTrackbar_chdl_callback7; break;
70 cvCreateTrackbar_chdl_callback_ptr[idx] = (void*)on_notify_ch;
73 retval = cvCreateTrackbar(name, window_name, value, count, on_notify_c);