⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callbacks.c

📁 海康威视视频采集卡linux开发包4.22版
💻 C
📖 第 1 页 / 共 2 页
字号:
			gtk_range_set_adjustment(range,adj);					}	}		} int click2_flag=0; int i=0;gbooleanclick2                                 (GtkWidget       *widget,                                        GdkEventButton  *event,                                        gpointer         user_data){	static int click=0;	if(event->type!=GDK_2BUTTON_PRESS)		return 0;	click2_flag++;	if(click2_flag%2==1)	{		gtk_widget_hide(lookup_widget(window1,"hbox1"));		gtk_widget_hide(lookup_widget(window1,"hbox5"));		gtk_widget_hide(lookup_widget(window1,"hbox6"));		gtk_widget_hide(lookup_widget(window1,"menubar1"));					w=1024;		h=768;		rect.x=0;		rect.y=0;		info.uWidth=w;	  	info.uHeight=h;	  	rect.uWidth=w;		rect.uHeight=h;		if(Hik_PlayM4_SetDisplay(info.uWidth,info.uHeight)<0)	  		fprintf(stderr,"\nHik_PlayM4_SetDisplay failed! Error 0x%lx",(unsigned long)Hik_PlayM4_GetLastErrorCode());		if(Hik_PlayM4_SetPlayRect(port,rect)<0)			fprintf(stderr,"\nHik_PlayM4_SetPlayRect failed!,Error  0x%lx",(unsigned long)Hik_PlayM4_GetLastErrorCode());		gtk_window_set_resizable (GTK_WINDOW (window1), TRUE);			gtk_window_fullscreen(GTK_WINDOW(window1));		i++;									}	else 	{				int w,h;		if(Hik_PlayM4_GetPictureSize(port,&w,&h)<0)	  		fprintf(stderr,"\nHik_PlayM4_GetPictureSize failed! Error 0x%lx",(unsigned long)Hik_PlayM4_GetLastErrorCode());	  			rect.x=0;		rect.y=0;		info.uWidth=w;	  	info.uHeight=h;	  	rect.uWidth=w;		rect.uHeight=h;		if(Hik_PlayM4_SetDisplay(info.uWidth,info.uHeight)<0)	  		fprintf(stderr,"\nHik_PlayM4_SetDisplay failed! Error 0x%lx",(unsigned long)Hik_PlayM4_GetLastErrorCode());		if(Hik_PlayM4_SetPlayRect(port,rect)<0)			fprintf(stderr,"\nHik_PlayM4_SetPlayRect failed!,Error  0x%lx",(unsigned long)Hik_PlayM4_GetLastErrorCode());		gtk_widget_set_size_request (lookup_widget(window1,"vbox3"), w, h);		gtk_widget_set_size_request (lookup_widget(window1,"w_full_area"), w, h);		gtk_widget_set_size_request (window1, w, h+80);			gtk_widget_show(lookup_widget(window1,"hbox1"));		gtk_widget_show(lookup_widget(window1,"hbox5"));		gtk_widget_show(lookup_widget(window1,"hbox6"));		gtk_widget_show(lookup_widget(window1,"menubar1"));				gtk_window_unfullscreen(GTK_WINDOW(window1));		gtk_widget_set_size_request (lookup_widget(window1,"vbox3"), w, h);		gtk_widget_set_size_request (lookup_widget(window1,"w_full_area"), w, h);		gtk_widget_set_size_request (window1, w, h+80);				 		}	gtk_window_set_resizable (GTK_WINDOW (window1), FALSE);	click++;	 	 return TRUE;}gbooleanmove_callback                                (GtkWidget       *widget,                                        GdkEventButton  *event,                                        gpointer         user_data){         if(fileopenok)    {                int  width,height;                     gdk_window_get_size(GDK_WINDOW(lookup_widget(window1,"w_full_area")->window),&width,&height);                    info.uWidth=width;               info.uHeight=height;               rect.x=0;	rect.y=0;  	rect.uWidth=width;	rect.uHeight=height;	if(Hik_PlayM4_SetDisplay(info.uWidth,info.uHeight)<0)  		fprintf(stderr,"\nHik_PlayM4_SetDisplay failed! Error  0x%lx",(unsigned long )Hik_PlayM4_GetLastErrorCode());	if(Hik_PlayM4_SetPlayRect(port,rect)<0)		fprintf(stderr,"\nHik_PlayM4_SetPlayRect failed!,Error  0x%x",(unsigned long)Hik_PlayM4_GetLastErrorCode());	    }              return  TRUE;}voidset_picture_quality_callback                    (GtkButton       *button,                                        gpointer         user_data){        int i;        i=GPOINTER_TO_INT(user_data);       if(i==1)    {                if(GTK_TOGGLE_BUTTON(button)->active)         {                         	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog2,"w_low")),FALSE);                	if(Hik_PlayM4_SetPicQuality(port,1)<0)                {	                	fprintf(stderr,"\nHik_PlayM4_SetPicQuality failed! Error 0x%x",Hik_PlayM4_GetLastErrorCode());	        }		 click2_high++;		 	  }	  else	  {	  	                	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog2,"w_low")),TRUE);                	if(Hik_PlayM4_SetPicQuality(port,0)<0)                {	                	fprintf(stderr,"\nHik_PlayM4_SetPicQuality failed! Error 0x%x",Hik_PlayM4_GetLastErrorCode());	        }		 click2_low++;	   }      }      else    {      	 if(GTK_TOGGLE_BUTTON(button)->active)         {                         	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog2,"w_high")),FALSE);                	if(Hik_PlayM4_SetPicQuality(port,0)<0)                {	                	fprintf(stderr,"\nHik_PlayM4_SetPicQuality failed! Error 0x%x",Hik_PlayM4_GetLastErrorCode());	        }		 click2_low++;	        	  }	  else	  {	  	                	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog2,"w_high")),TRUE);                	if(Hik_PlayM4_SetPicQuality(port,1)<0)                {	                	fprintf(stderr,"\nHik_PlayM4_SetPicQuality failed! Error 0x%x",Hik_PlayM4_GetLastErrorCode());	        }		 click2_high++;	        	   }      }}                                     voidon_closebutton1_clicked                (GtkButton       *button,                                        gpointer         user_data){	gtk_widget_hide(dialog);}voidon_file_info_activate                      (GtkMenuItem     *menuitem,                                        gpointer         user_data){	   	 dialog2=(gpointer)create_dialog2();	 gtk_widget_show(dialog2);	 count++;  	 char   buf[100];  	 sprintf(buf,"%3d",Hik_PlayM4_GetFileHeadLength());    	 gtk_entry_set_text(GTK_ENTRY(lookup_widget(dialog2,"entry13")),buf);}                                             voidon_closebutton2_clicked                (GtkButton       *button,                                        gpointer         user_data){	gtk_widget_hide(dialog2);}                                        voidon_w_set_index_file_clicked              (GtkButton       *button,                                        gpointer         user_data){			}                                      voidon_cut_file_activate                      (GtkMenuItem     *menuitem,                                        gpointer         user_data){			cut_file=(gpointer)create_dialog3();	gtk_widget_show(cut_file);		if(fileopenok)	{		char buf[100];		sprintf(buf,"0~%ld",Hik_PlayM4_GetFileFrames(port));		gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_frame_num")),buf);		sprintf(buf,"0~%ld",Hik_PlayM4_GetFileTime(port));		gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_frame_time")),buf);	}			}                                        voidon_cancelbutton1_clicked               (GtkButton       *button,                                        gpointer         user_data){	gtk_widget_hide(cut_file);}voidon_okbutton1_clicked                (GtkButton       *button,                                        gpointer         user_data){#if 1		unsigned int begin_pos;	unsigned int end_pos;	FRAME_POS pos_begin;	FRAME_POS  pos_end;	long newfilelen;	char *savefilename;	char buf[2048];	long  size=2048;	long block;	long  count;	long remain;	int save_fd;	FILE *org_fd;	begin_pos=atoi(gtk_entry_get_text(GTK_ENTRY(lookup_widget(cut_file,"w_begin"))));	end_pos=atoi(gtk_entry_get_text(GTK_ENTRY(lookup_widget(cut_file,"w_end"))));	if(fileopenok)	{			if(GTK_TOGGLE_BUTTON(lookup_widget(cut_file,"w_by_num"))->active)		{			if((begin_pos>Hik_PlayM4_GetFileFrames(port))||(end_pos>Hik_PlayM4_GetFileFrames(port))||(begin_pos>end_pos)||(end_pos==0))			{				fprintf(stderr,"\nInput value of pos error !\n");				return ;			}			else			{				if(Hik_PlayM4_GetKeyFramePos(port,begin_pos,BY_FRAMENUM,&pos_begin)<0)				fprintf(stderr,"\nHIk_PlayM4_GetKeyFramePos  failed! Error 0x%x",Hik_PlayM4_GetLastErrorCode());				 if(Hik_PlayM4_GetNextKeyFramePos(port,end_pos,BY_FRAMENUM,&pos_end)<0)				fprintf(stderr,"\nHIk_PlayM4_GetNextKeyFramePos  failed! Error 0x%x",Hik_PlayM4_GetLastErrorCode());			 				newfilelen=pos_end.nFilePos-pos_begin.nFilePos;					savefilename=(char*)gtk_entry_get_text(GTK_ENTRY(lookup_widget(cut_file,"w_save_file")));				save_fd=open(savefilename,O_WRONLY|O_CREAT,0777);				if(save_fd<0)				{					perror(">>>open");				}				else				{					ftruncate(save_fd,0);					org_fd=fopen(filename,"rb");							if(org_fd==0)											fprintf(stderr,"\nRead file %s failed!",filename);					else					{						fseek(org_fd,0,SEEK_SET);						if(fread(buf,Hik_PlayM4_GetFileHeadLength(),1,org_fd)==0)							fprintf(stderr,"\nRead filehead failed!");						else						{												fprintf(stderr,"\nRead  file head from org_file ok!");							if(write(save_fd,buf,Hik_PlayM4_GetFileHeadLength())<0)							fprintf(stderr,"\nWrite file head failed!");							else							fprintf(stderr,"\nWrite file head to save_file ok!\n   fileheadlen=%d\n",Hik_PlayM4_GetFileHeadLength());																}																		fseek(org_fd,pos_begin.nFilePos,SEEK_SET);						block=newfilelen/size;						remain=newfilelen%size;						for(count=0;count<block;count++)						{							if(fread(buf,size,1,org_fd)==0)							fprintf(stderr,"\nRead file stream failed!");							else							{												if(write(save_fd,buf,size)<0)							fprintf(stderr,"\nWrite file stream failed!");												}							}						if(fread(buf,remain,1,org_fd)==0)							fprintf(stderr,"\nRead remain failed!");						else						{												if(write(save_fd,buf,remain)<0)							fprintf(stderr,"\nWrite  remain failed!");											}										}															}			}						}					else if(GTK_TOGGLE_BUTTON(lookup_widget(cut_file,"w_by_time"))->active)		{					if((begin_pos>Hik_PlayM4_GetFileFrames(port))||(end_pos>Hik_PlayM4_GetFileFrames(port))||(begin_pos>end_pos)||(end_pos==0))			{				fprintf(stderr,"\nInput value of pos error !");				return ;			}			else			{				if(Hik_PlayM4_GetKeyFramePos(port,begin_pos*1000,BY_FRAMETIME,&pos_begin)<0)				fprintf(stderr,"\nHIk_PlayM4_GetKeyFramePos  failed! Error 0x%x",Hik_PlayM4_GetLastErrorCode());				 if(Hik_PlayM4_GetNextKeyFramePos(port,end_pos*1000,BY_FRAMETIME,&pos_end)<0)				fprintf(stderr,"\nHIk_PlayM4_GetNextKeyFramePos  failed! Error 0x%x",Hik_PlayM4_GetLastErrorCode());			 				newfilelen=pos_end.nFilePos-pos_begin.nFilePos;					savefilename=(char*)gtk_entry_get_text(GTK_ENTRY(lookup_widget(cut_file,"w_save_file")));				save_fd=open(savefilename,O_WRONLY|O_CREAT,0777);				if(save_fd<0)				{					perror(">>>open");				}				else				{					ftruncate(save_fd,0);					org_fd=fopen(filename,"rb");							if(org_fd==0)						fprintf(stderr,"\nRead file %s failed!",filename);					else					{						fseek(org_fd,0,SEEK_SET);						if(fread(buf,Hik_PlayM4_GetFileHeadLength(),1,org_fd)==0)							fprintf(stderr,"\nRead filehead failed!");						else						{												fprintf(stderr,"\nRead  file head from org_file ok!");							if(write(save_fd,buf,Hik_PlayM4_GetFileHeadLength())<0)							fprintf(stderr,"\nWrite file head failed!");							else							fprintf(stderr,"\nWrite file head to save_file ok!\n  fileheadlen=%d\n",Hik_PlayM4_GetFileHeadLength());																}																		fseek(org_fd,pos_begin.nFilePos,SEEK_SET);						block=newfilelen/size;						remain=newfilelen%size;						for(count=0;count<block;count++)						{							if(fread(buf,size,1,org_fd)==0)							fprintf(stderr,"\nRead file stream failed!");							else							{												if(write(save_fd,buf,size)<0)							fprintf(stderr,"\nWrite file stream failed!");												}							}						if(fread(buf,remain,1,org_fd)==0)							fprintf(stderr,"\nRead remain failed!");						else						{												if(write(save_fd,buf,remain)<0)							fprintf(stderr,"\nWrite  remain failed!");											}										}															}			}		}									}				gtk_widget_hide(cut_file);#endif 		}                                                                                voidon_set_index_file_activate             (GtkMenuItem     *menuitem,                                        gpointer         user_data){	if(GTK_CHECK_MENU_ITEM(menuitem)->active)	{		select_index_file=(gpointer)create_fileselection2();	        	gtk_widget_show(select_index_file);	}			}                                        voidon_button1_clicked                     (GtkButton       *button,                                        gpointer         user_data){	gtk_widget_hide(select_index_file);	}voidon_button2_clicked                     (GtkButton       *button,                                        gpointer         user_data){	indexfile=(char *)(gtk_file_selection_get_filename(GTK_FILE_SELECTION(select_index_file)));	set_index_file++;	gtk_widget_hide(select_index_file);				}voidon_w_use_progress_clicked              (GtkButton       *button,                                        gpointer         user_data){	if(GTK_TOGGLE_BUTTON(button)->active)	{				progress_click++;	}							}voidon_w_ok_begin_clicked                  (GtkButton       *button,                                        gpointer         user_data){	progress_click=0;	static int start_pos;	char buf[100];	if(GTK_TOGGLE_BUTTON(lookup_widget(cut_file,"w_ok_begin"))->active)	{				if(!(GTK_TOGGLE_BUTTON(lookup_widget(cut_file,"w_by_time"))->active))			{							start_pos=atoi(gtk_entry_get_text(GTK_ENTRY(lookup_widget(window1,"w_current_frame"))));			sprintf(buf,"%3d",start_pos);			gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_begin")),buf);								}		else		{					start_pos=Hik_PlayM4_GetPlayedTime(port);			sprintf(buf,"%3d",start_pos);			gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_begin")),buf);		}		ok_begin++;								}}voidon_w_ok_end_clicked                    (GtkButton       *button,                                        gpointer         user_data){	int end_pos;	char buf[100];	if(ok_begin)	{				if(GTK_TOGGLE_BUTTON(button)->active)		{			if(!(GTK_TOGGLE_BUTTON(lookup_widget(cut_file,"w_by_time"))->active))					{				end_pos=atoi(gtk_entry_get_text(GTK_ENTRY(lookup_widget(window1,"w_current_frame"))));				sprintf(buf,"%3d",end_pos);				gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_end")),buf);			}			else			{				end_pos=Hik_PlayM4_GetPlayedTime(port);				sprintf(buf,"%3d",end_pos);				gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_end")),buf);			}							}		ok_begin=0;	}				}voidon_replay_activate                     (GtkMenuItem     *menuitem,                                        gpointer         user_data){	if(GTK_CHECK_MENU_ITEM(menuitem)->active)	{		replay++;	}	else	{		replay=0;	} 	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -