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

📄 main.c

📁 海康威视视频采集卡linux开发包4.22版
💻 C
字号:
/* * Initial main.c file generated by Glade. Edit as required. * Glade will not overwrite this file. */#ifdef HAVE_CONFIG_H#  include <config.h>#endif#include <gtk/gtk.h>#include "interface.h"#include "support.h"#include "hikplay.h"#include  "playsdkpu.h"#include <time.h>#include <gdk/gdkx.h>#include <SDL/SDL.h>extern int replay;extern ok_begin;extern int use_progress;extern GtkWidget*cut_file;extern int progress_click;extern int click2_low,click2_high;extern int count;extern GtkWidget* dialog2;extern    int click2_flag;extern   int start_count;extern  int  end_count;SDL_Surface *pOverlayScreen;SDL_Overlay*pOverlaySurface;long current_time;GtkAdjustment  *adj; long current_time;long total_time;extern int port;GtkWidget *window1;int current_frame;GtkWidget*temp;GTimer *countime=NULL;extern int fileopenok;extern PLAYRECT rect;int  temp_width;int  temp_height;long  total_frame;extern INITINFO  info;extern char *filename;int w=530,h=450;extern char SDL_windowhack[32];GtkWidget* range;void xpm_button(GtkWidget* widget,const char ** xpm_name,const  gchar *key){	GtkWidget*pixmap;	GdkPixmap*gdk_pixmap;	GdkBitmap *mask;	GtkStyle*style;	style=gtk_widget_get_default_style();	gdk_pixmap=gdk_pixmap_create_from_xpm_d(window1->window,&mask,&style->bg[GTK_STATE_NORMAL],(gchar**)xpm_name);	  pixmap=gtk_pixmap_new(gdk_pixmap,mask);	  gtk_widget_show(pixmap);	  gtk_container_add(GTK_CONTAINER(temp),pixmap);	  gtk_object_set_data_full(GTK_OBJECT(window1),key, temp,(GtkDestroyNotify)0);}void ch_seek(GtkAdjustment *adjust, gpointer data){		Hik_PlayM4_SetPlayPos(port, (float)adjust->value/100.0);}void Hik_ToggleFullScreen(){	SDL_Surface *screen;	screen = SDL_GetVideoSurface();	if(screen != NULL)		printf("screen is not NULL\n");	if(SDL_WM_ToggleFullScreen(screen))	{		printf("Toggled full screen - now %s\n", screen->flags & SDL_FULLSCREEN ? "fullscreen":"windowed");	}}int  process_time(gpointer data){	GtkWidget*temp_total_frame;	char buf[20];	char time_buf[20];			int retval;	static w_temp,h_temp;	int value;		range=lookup_widget(window1,"w_time");	temp=lookup_widget(window1,"w_current_frame");	if((current_frame=Hik_PlayM4_GetCurrentFrameNum(port))<0)		fprintf(stderr,"\nHik_PlayM4_GetPlayedFrames failed!,Error  0x%lx",(unsigned long )Hik_PlayM4_GetLastErrorCode());		sprintf(buf,"%3d",current_frame);	gtk_entry_set_text(GTK_ENTRY(temp),buf);	current_time=Hik_PlayM4_GetPlayedTime(port);	sprintf(time_buf,"%02d:%02d:%02d",current_time/3600,current_time%3600/60,current_time%3600%60);	gtk_entry_set_text(GTK_ENTRY(lookup_widget(window1,"w_start_time")),time_buf);		adj=gtk_range_get_adjustment(GTK_RANGE(range));	adj->value = (current_time* 100)/total_time;	gtk_window_set_resizable (GTK_WINDOW (window1), TRUE);		if(replay)	{		if(current_time==total_time)		{	                        if(fileopenok)		     {	                	      if(Hik_PlayM4_SetCurrentFrameNum(port,0)<0)	                  		fprintf(stderr,"\nHik_PlayM4_SetCurrentFrameNum failed! Error 0x%lx",(unsigned long)Hik_PlayM4_GetLastErrorCode());  			                  	      if (Hik_PlayM4_SetPlayPos(port,0)<0)	                  		fprintf(stderr,"\nHik_PlayM4_SetPlayPosfailed! Error 0x%lx",(unsigned long)Hik_PlayM4_GetLastErrorCode());          	              }	        }	}         	if(fileopenok)	{	                                     		w_temp=w;	  	h_temp=h;		if(Hik_PlayM4_GetPictureSize(port,&w,&h)<0)	  		fprintf(stderr,"\nHik_PlayM4_GetPictureSize failed! Error 0x%lx",(unsigned long )Hik_PlayM4_GetLastErrorCode());	  			 if(((w_temp!=w)||(h_temp!=h))&&(click2_flag%2==0))		 {		 				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%x",(unsigned long)Hik_PlayM4_GetLastErrorCode());				gtk_window_set_resizable (GTK_WINDOW (window1), FALSE);			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);		}		if(count)		{		 	 int frame_rate;		 	int abs_frame;			frame_rate=Hik_PlayM4_GetCurrentFrameRate(port);			sprintf(buf,"%3d",frame_rate);		              gtk_entry_set_text(GTK_ENTRY(lookup_widget(dialog2,"entry11")),buf);			long int played_frame;			played_frame=Hik_PlayM4_GetPlayedFrames(port);			sprintf(buf,"%3ld",played_frame);			gtk_entry_set_text(GTK_ENTRY(lookup_widget(dialog2,"entry12")),buf);			abs_frame=Hik_PlayM4_GetAbsFrameNum(port);			sprintf(buf,"%3d",abs_frame);			gtk_entry_set_text(GTK_ENTRY(lookup_widget(dialog2,"entry14")),buf);		}		if(progress_click)		{			if(use_progress)							{				char buf[100];				if((GTK_TOGGLE_BUTTON(lookup_widget(cut_file,"w_by_time"))->active))				{										sprintf(buf,"%3d",Hik_PlayM4_GetPlayedTime(port));					gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_begin")),buf);				}				else				{										sprintf(buf,"%3d",atoi(gtk_entry_get_text(GTK_ENTRY(lookup_widget(window1,"w_current_frame")))));					gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_begin")),buf);				}			}					}		if(ok_begin)		{			char buf[100];			if(!(GTK_TOGGLE_BUTTON(lookup_widget(cut_file,"w_by_time"))->active))					{																sprintf(buf,"%3d",atoi(gtk_entry_get_text(GTK_ENTRY(lookup_widget(window1,"w_current_frame")))));				gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_end")),buf);			}			else			{								sprintf(buf,"%3d",Hik_PlayM4_GetPlayedTime(port));				gtk_entry_set_text(GTK_ENTRY(lookup_widget(cut_file,"w_end")),buf);			}						}					}                              	return  TRUE;}intmain (int argc, char *argv[]){			#ifdef ENABLE_NLS	  bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);	  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");	  textdomain (GETTEXT_PACKAGE);	#endif	  gtk_set_locale ();	  gtk_init (&argc, &argv);	 char sdl_windowhack[32];  /*   * The following code was added by Glade to create one of each component   * (except popup menus), just so that you see something after building   * the project. Delete any components that you don't want shown initially.   */	window1 = create_window1 ();	gtk_widget_show (window1);  	temp=lookup_widget(window1,"w_play");  	xpm_button(temp,xpm_play,"play");  	temp=lookup_widget(window1,"w_pause");  	xpm_button(temp,xpm_pause,"pause");  	temp=lookup_widget(window1,"w_stop");  	xpm_button(temp,xpm_stop,"stop");  	temp=lookup_widget(window1,"w_goto_start");  	xpm_button(temp,xpm_goto_start,"goto_start");  	temp=lookup_widget(window1,"w_goto_end");  	xpm_button(temp,xpm_goto_end,"goto_end");  	temp=lookup_widget(window1,"w_back");  	xpm_button(temp,xpm_back,"back");  	temp=lookup_widget(window1,"w_forward");  	xpm_button(temp,xpm_forward,"forward");	gtk_main ();	return 0;}

⌨️ 快捷键说明

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