int main ( int argc, char** argv ) { int i; glutInitWindowSize ( 400, 600 ) ; glutInit(&argc, argv); for(i=1; i<argc; i++) { if(!strcmp(argv[i], "-v")) { verbose = 1; } } glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_MULTISAMPLE); glutCreateWindow ( "geoface" ) ; myinit ( ) ; faceinit ( ) ; glutMouseFunc(mouse); glutMotionFunc(motion); glutKeyboardFunc ( Key ) ; glutSpecialFunc(special); glutReshapeFunc ( myReshape ) ; glutDisplayFunc(display); make_menus(); glutMainLoop() ; return 0; /* ANSI C requires main to return int. */ }
int main (int argc, char *argv[]) { GtkWidget *label; GdkPixbuf *icon_pixbuf; GError *err = NULL; bindtextdomain(PACKAGE, LOCALEDIR); bind_textdomain_codeset(PACKAGE, "UTF-8"); textdomain(PACKAGE); srand (time(NULL)); gnome_program_init (APPID, APPVERSION, LIBGNOMEUI_MODULE, argc, argv, GNOME_PARAM_POPT_TABLE, options, GNOME_PARAM_NONE); textbox_setup (); /* needs to be done before text boxes are created */ /* Initialize the GConf library */ if (!gconf_init (argc, argv, &err)) { fprintf (stderr, _("Failed to init GConf: %s\n"), err->message); g_error_free (err); err = NULL; } /* Start a GConf client */ gconf_client = gconf_client_get_default (); /* Add the GTetrinet directories to the list of directories that GConf client must watch */ gconf_client_add_dir (gconf_client, "/apps/gtetrinet/sound", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); gconf_client_add_dir (gconf_client, "/apps/gtetrinet/themes", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); gconf_client_add_dir (gconf_client, "/apps/gtetrinet/keys", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); gconf_client_add_dir (gconf_client, "/apps/gtetrinet/partyline", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); /* Request notification of change for these gconf keys */ gconf_client_notify_add (gconf_client, "/apps/gtetrinet/sound/midi_player", (GConfClientNotifyFunc) sound_midi_player_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/sound/enable_sound", (GConfClientNotifyFunc) sound_enable_sound_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/sound/enable_midi", (GConfClientNotifyFunc) sound_enable_midi_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/themes/theme_dir", (GConfClientNotifyFunc) themes_theme_dir_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/down", (GConfClientNotifyFunc) keys_down_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/left", (GConfClientNotifyFunc) keys_left_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/right", (GConfClientNotifyFunc) keys_right_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/rotate_left", (GConfClientNotifyFunc) keys_rotate_left_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/rotate_right", (GConfClientNotifyFunc) keys_rotate_right_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/drop", (GConfClientNotifyFunc) keys_drop_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/message", (GConfClientNotifyFunc) keys_message_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/discard", (GConfClientNotifyFunc) keys_discard_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/special1", (GConfClientNotifyFunc) keys_special1_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/special2", (GConfClientNotifyFunc) keys_special2_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/special3", (GConfClientNotifyFunc) keys_special3_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/special4", (GConfClientNotifyFunc) keys_special4_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/special5", (GConfClientNotifyFunc) keys_special5_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/special6", (GConfClientNotifyFunc) keys_special6_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/keys/special_self", (GConfClientNotifyFunc) keys_special_self_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/partyline/enable_timestamps", (GConfClientNotifyFunc) partyline_enable_timestamps_changed, NULL, NULL, NULL); gconf_client_notify_add (gconf_client, "/apps/gtetrinet/partyline/enable_channel_list", (GConfClientNotifyFunc) partyline_enable_channel_list_changed, NULL, NULL, NULL); /* load settings */ config_loadconfig (); /* initialise some stuff */ fields_init (); if (!g_thread_supported()) g_thread_init (NULL); /* first set up the display */ /* create the main window */ app = gnome_app_new (APPID, APPNAME); g_signal_connect (G_OBJECT(app), "destroy", GTK_SIGNAL_FUNC(destroymain), NULL); keypress_signal = g_signal_connect (G_OBJECT(app), "key-press-event", GTK_SIGNAL_FUNC(keypress), NULL); g_signal_connect (G_OBJECT(app), "key-release-event", GTK_SIGNAL_FUNC(keyrelease), NULL); gtk_widget_set_events (app, GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK); gtk_window_set_resizable (GTK_WINDOW (app), TRUE); /* create and set the window icon */ icon_pixbuf = gdk_pixbuf_new_from_file (PIXMAPSDIR "/gtetrinet.png", NULL); if (icon_pixbuf) { gtk_window_set_icon (GTK_WINDOW (app), icon_pixbuf); gdk_pixbuf_unref (icon_pixbuf); } /* create the notebook */ notebook = gtk_notebook_new (); gtk_notebook_set_tab_pos (GTK_NOTEBOOK(notebook), GTK_POS_TOP); /* put it in the main window */ gnome_app_set_contents (GNOME_APP(app), notebook); /* make menus + toolbar */ make_menus (GNOME_APP(app)); /* create the pages in the notebook */ fieldswidget = fields_page_new (); gtk_widget_set_sensitive (fieldswidget, TRUE); gtk_widget_show (fieldswidget); pfields = gtk_hbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER(pfields), 0); gtk_container_add (GTK_CONTAINER(pfields), fieldswidget); gtk_widget_show (pfields); g_object_set_data (G_OBJECT(fieldswidget), "title", "Playing Fields"); // FIXME label = pixmapdata_label (fields_xpm, _("Playing Fields")); gtk_widget_show (label); gtk_notebook_append_page (GTK_NOTEBOOK(notebook), pfields, label); partywidget = partyline_page_new (); gtk_widget_show (partywidget); pparty = gtk_hbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER(pparty), 0); gtk_container_add (GTK_CONTAINER(pparty), partywidget); gtk_widget_show (pparty); g_object_set_data (G_OBJECT(partywidget), "title", "Partyline"); // FIXME label = pixmapdata_label (partyline_xpm, _("Partyline")); gtk_widget_show (label); gtk_notebook_append_page (GTK_NOTEBOOK(notebook), pparty, label); winlistwidget = winlist_page_new (); gtk_widget_show (winlistwidget); pwinlist = gtk_hbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER(pwinlist), 0); gtk_container_add (GTK_CONTAINER(pwinlist), winlistwidget); gtk_widget_show (pwinlist); g_object_set_data (G_OBJECT(winlistwidget), "title", "Winlist"); // FIXME label = pixmapdata_label (winlist_xpm, _("Winlist")); gtk_widget_show (label); gtk_notebook_append_page (GTK_NOTEBOOK(notebook), pwinlist, label); /* add signal to focus the text entry when switching to the partyline page*/ g_signal_connect_after(G_OBJECT (notebook), "switch-page", GTK_SIGNAL_FUNC (switch_focus), NULL); gtk_widget_show (notebook); g_object_set (G_OBJECT (notebook), "can-focus", FALSE, NULL); partyline_show_channel_list (list_enabled); gtk_widget_show (app); // gtk_widget_set_size_request (partywidget, 480, 360); // gtk_widget_set_size_request (winlistwidget, 480, 360); /* initialise some stuff */ commands_checkstate (); /* check command line params */ #ifdef DEBUG printf ("option_connect: %s\n" "option_nick: %s\n" "option_team: %s\n" "option_pass: %s\n" "option_spec: %i\n", option_connect, option_nick, option_team, option_pass, option_spec); #endif if (option_nick) GTET_O_STRCPY(nick, option_nick); if (option_team) GTET_O_STRCPY(team, option_team); if (option_pass) GTET_O_STRCPY(specpassword, option_pass); if (option_spec) spectating = TRUE; if (option_connect) { client_init (option_connect, nick); } /* Don't schedule if data is ready, glib should do this itself, * but welcome to anything that works... */ g_main_context_set_poll_func(NULL, gtetrinet_poll_func); /* gtk_main() */ gtk_main (); client_disconnect (); /* cleanup */ fields_cleanup (); sound_stopmidi (); return 0; }
int main( int argc, char *argv[] ) { GtkWidget *mainbox, *hbox, *hbox2, *label,*pixmap_w; /* GdkPixmap *pixmap; GdkBitmap *mask; GtkStyle *style;*/ init_pipes(); /* set all pipe data to 0 */ command_line_options(argc, argv); /* g_thread_init(NULL); no ide why I had to remove it */ gtk_init(&argc, &argv); gdk_rgb_init (); /* capturing_init = FALSE; playing = FALSE;*/ signal(SIGSEGV, signal_handler); signal(SIGTERM, signal_handler); signal(SIGINT, signal_handler); signal(SIGPIPE, signal_handler); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL); gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (destroy), NULL); gtk_window_set_title (GTK_WINDOW (window), "Linux Video Studio"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); mainbox = gtk_vbox_new(FALSE,0); gtk_container_add (GTK_CONTAINER (window), mainbox); gtk_widget_show (mainbox); make_menus(mainbox); notebook = gtk_notebook_new (); /* style = gtk_widget_get_style(window);*/ gtk_widget_realize(window); hbox = create_lavrec_layout(window); if (hbox != NULL) { hbox2 = gtk_hbox_new(FALSE, 10); /* pixmap = gdk_pixmap_create_from_xpm_d(window->window, &mask, &style->bg[GTK_STATE_NORMAL], cam_xpm); pixmap_w = gtk_pixmap_new(pixmap, mask);*/ pixmap_w = gtk_widget_from_xpm_data(cam_xpm); gtk_widget_show(pixmap_w); gtk_box_pack_start(GTK_BOX(hbox2), pixmap_w, FALSE, FALSE, 0); label = gtk_label_new("Capture Video"); gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 0); gtk_widget_show(label); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), hbox, hbox2); gtk_widget_show(hbox); gtk_widget_show(hbox2); } hbox = create_lavedit_layout(window); hbox2 = gtk_hbox_new(FALSE, 10); /* pixmap = gdk_pixmap_create_from_xpm_d(window->window, &mask, &style->bg[GTK_STATE_NORMAL], editing_xpm); pixmap_w = gtk_pixmap_new(pixmap, mask);*/ pixmap_w = gtk_widget_from_xpm_data(editing_xpm); gtk_widget_show(pixmap_w); gtk_box_pack_start(GTK_BOX(hbox2), pixmap_w, FALSE, FALSE, 0); label = gtk_label_new("Edit Video"); gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 0); gtk_widget_show(label); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), hbox, hbox2); gtk_widget_show(hbox); gtk_widget_show(hbox2); hbox = create_lavplay_layout(); if (hbox != NULL) { hbox2 = gtk_hbox_new(FALSE, 10); /* pixmap = gdk_pixmap_create_from_xpm_d(window->window, &mask, &style->bg[GTK_STATE_NORMAL], tv_xpm); pixmap_w = gtk_pixmap_new(pixmap, mask);*/ pixmap_w = gtk_widget_from_xpm_data(tv_xpm); gtk_widget_show(pixmap_w); gtk_box_pack_start(GTK_BOX(hbox2), pixmap_w, FALSE, FALSE, 0); label = gtk_label_new("Playback Video"); gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 0); gtk_widget_show(label); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), hbox, hbox2); gtk_widget_show(hbox); gtk_widget_show(hbox2); } /* New notebook entry for encoding */ hbox = create_lavencode_layout(); hbox2 = gtk_hbox_new(FALSE, 10); /* pixmap = gdk_pixmap_create_from_xpm_d(window->window, &mask, &style->bg[GTK_STATE_NORMAL], arrows_xpm); pixmap_w = gtk_pixmap_new(pixmap, mask);*/ pixmap_w = gtk_widget_from_xpm_data(arrows_xpm); gtk_widget_show(pixmap_w); gtk_box_pack_start(GTK_BOX(hbox2), pixmap_w, FALSE, FALSE, 0); label = gtk_label_new("Encode Video"); gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 0); gtk_widget_show(label); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), hbox, hbox2); gtk_widget_show(hbox); gtk_widget_show(hbox2); hbox = gtk_hbox_new(FALSE,5); gtk_box_pack_start(GTK_BOX(hbox), notebook, FALSE, FALSE, 5); gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_TOP); gtk_widget_show(notebook); gtk_box_pack_start(GTK_BOX(mainbox), hbox, FALSE, FALSE, 5); gtk_widget_show(hbox); gtk_signal_connect(GTK_OBJECT(notebook), "switch_page", GTK_SIGNAL_FUNC(notebook_page_switched),NULL); gtk_widget_show(window); if (verbose) g_print("Linux Video Studio initialized correctly\n"); gdk_threads_enter(); gtk_main(); gdk_threads_leave(); return 0; }
int main(int argc, char **argv) { int c, fd; int (*dialog_utc)(unsigned char *, unsigned char *, int, int); dialog_utc = dialog_noyes; while ((c = getopt(argc, argv, "n")) != -1) { switch(c) { case 'n': reallydoit = 0; break; default: usage(); } } if (argc - optind > 1) usage(); /* Override the user-supplied umask. */ umask(S_IWGRP|S_IWOTH); read_iso3166_table(); read_zones(); sort_countries(); make_menus(); init_dialog(); if (!dialog_utc("Select local or UTC (Greenwich Mean Time) clock", "Is this machine's CMOS clock set to UTC? If it is set to local time,\n" "or you don't know, please choose NO here!", 7, 72)) { if (reallydoit) unlink(_PATH_WALL_CMOS_CLOCK); } else { if (reallydoit) { fd = open(_PATH_WALL_CMOS_CLOCK, O_WRONLY|O_CREAT|O_TRUNC, S_IRUSR|S_IRGRP|S_IROTH); if (fd < 0) err(1, "create %s", _PATH_WALL_CMOS_CLOCK); close(fd); } } dialog_clear_norefresh(); if (optind == argc - 1) { char *msg; asprintf(&msg, "\nUse the default `%s' zone?", argv[optind]); if (!dialog_yesno("Default timezone provided", msg, 7, 72)) { install_zone_file(argv[optind]); dialog_clear(); end_dialog(); return 0; } free(msg); dialog_clear_norefresh(); } dialog_menu("Time Zone Selector", "Select a region", -1, -1, NCONTINENTS, -NCONTINENTS, continents, 0, NULL, NULL); dialog_clear(); end_dialog(); return 0; }
static void viewer_init (Viewer *viewer) { viewer->renderers = g_ptr_array_new(); viewer->renderers_sorted = g_ptr_array_new(); viewer->renderers_sorted_with_controls = g_ptr_array_new(); viewer->event_handlers = g_ptr_array_new(); viewer->event_handlers_sorted = g_ptr_array_new(); viewer->modes = g_ptr_array_new(); viewer->prettier_flag = (getenv("DGC_VIEWER_PRETTIER") != NULL && atoi(getenv("DGC_VIEWER_PRETTIER"))>0);; printf("DGC_VIEWER_PRETTIER: %d\n", viewer->prettier_flag); viewer->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(viewer->window), "Viewer"); gtk_window_set_resizable(GTK_WINDOW(viewer->window), TRUE); gtk_window_set_default_size(GTK_WINDOW(viewer->window), 800, 540); GtkWidget *vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(viewer->window), vbox); make_menus(viewer, vbox); viewer->tips = gtk_tooltips_new (); make_toolbar(viewer, vbox); GtkWidget *hpaned = gtk_hpaned_new(); gtk_box_pack_start(GTK_BOX(vbox), hpaned, TRUE, TRUE, 0); GtkWidget *gl_box = gtk_event_box_new(); gtk_paned_pack1(GTK_PANED(hpaned), gl_box, TRUE, TRUE); GtkWidget *controls_align = gtk_alignment_new(.5, .5, 1, 1); gtk_paned_pack2(GTK_PANED(hpaned), controls_align, FALSE, TRUE); gtk_paned_set_position(GTK_PANED(hpaned), 560); GtkWidget *controls_scroll = gtk_scrolled_window_new(NULL, NULL); gtk_container_add(GTK_CONTAINER(controls_align), controls_scroll); GtkWidget *controls_view = gtk_viewport_new(NULL, NULL); gtk_container_add(GTK_CONTAINER(controls_scroll), controls_view); viewer->controls_box = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(controls_view), viewer->controls_box); viewer->status_bar = gtk_statusbar_new(); gtk_box_pack_start(GTK_BOX(vbox), viewer->status_bar, FALSE, FALSE, 0); viewer_set_status_bar_message(viewer, "Ready"); // create the aspect area to maintain a 1:1 aspect ratio viewer->gl_area = GTKU_GL_DRAWING_AREA (gtku_gl_drawing_area_new (FALSE)); gtk_widget_set_events (GTK_WIDGET (viewer->gl_area), GDK_LEAVE_NOTIFY_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK); gtk_container_add (GTK_CONTAINER (gl_box), GTK_WIDGET (viewer->gl_area)); gtk_widget_show (GTK_WIDGET (viewer->gl_area)); g_signal_connect (G_OBJECT (viewer->gl_area), "configure-event", G_CALLBACK (on_gl_configure), viewer); g_signal_connect (G_OBJECT (viewer->gl_area), "expose-event", G_CALLBACK (on_gl_expose), viewer); g_signal_connect (G_OBJECT (viewer->gl_area), "button-press-event", G_CALLBACK (on_button_press), viewer); g_signal_connect (G_OBJECT (viewer->gl_area), "button-release-event", G_CALLBACK (on_button_release), viewer); g_signal_connect (G_OBJECT (viewer->gl_area), "motion-notify-event", G_CALLBACK (on_motion_notify), viewer); g_signal_connect (G_OBJECT (viewer->gl_area), "scroll-event", G_CALLBACK (on_scroll_notify), viewer); g_signal_connect (G_OBJECT (viewer->window), "key_press_event", G_CALLBACK (on_main_window_key_press_event), viewer); g_signal_connect (G_OBJECT (viewer->window), "delete_event", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect (G_OBJECT (viewer->window), "delete_event", G_CALLBACK (gtk_widget_hide_on_delete), NULL); g_signal_connect (G_OBJECT (viewer->window), "destroy_event", G_CALLBACK(gtk_main_quit), NULL); //////////////////////////////////////////////////////////////////// // Create plugins menu // plugins will be inserted here as add_plugin is called gtk_widget_show_all(viewer->window); DefaultViewHandler *dvh = default_view_handler_new(viewer); viewer->default_view_handler = &dvh->vhandler; viewer_request_redraw(viewer); }