static void blursk_init(void) { #if 0 if (blursk_window) return; #endif #ifdef DUMPCORE signal(SIGSEGV, SIG_DFL); #endif /* Get the configuration and create the image buffers */ //config_read(NULL, NULL); //preset_read(); config_default(&config); img_resize(config.width, config.height); #if 0 /* Create the window */ blursk_window = gtk_window_new(config.window_title ? GTK_WINDOW_TOPLEVEL : GTK_WINDOW_DIALOG); gtk_window_set_title(GTK_WINDOW(blursk_window), PACKAGE); gtk_window_set_policy(GTK_WINDOW(blursk_window), TRUE, TRUE, TRUE); gtk_signal_connect(GTK_OBJECT(blursk_window), "destroy", GTK_SIGNAL_FUNC(blursk_destroy_cb), NULL); gtk_signal_connect(GTK_OBJECT(blursk_window), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &blursk_window); gtk_signal_connect(GTK_OBJECT(blursk_window), "configure_event", GTK_SIGNAL_FUNC(resize_cb), NULL); /* Put a drawing area in the window */ area = gtk_drawing_area_new(); gtk_drawing_area_size(GTK_DRAWING_AREA(area), img_physwidth, img_physheight); gtk_container_add(GTK_CONTAINER(blursk_window),area); gtk_widget_show(area); /* Arrange for key & mouse events to be detected */ gtk_signal_connect(GTK_OBJECT(blursk_window), "selection_received", GTK_SIGNAL_FUNC(selection_cb), NULL); gtk_signal_connect(GTK_OBJECT(blursk_window), "key_press_event", GTK_SIGNAL_FUNC(key_cb), NULL); gtk_signal_connect(GTK_OBJECT(blursk_window), "button_press_event", GTK_SIGNAL_FUNC(mousebutton_cb), NULL); gtk_signal_connect(GTK_OBJECT(blursk_window), "button_release_event", GTK_SIGNAL_FUNC(mousebutton_cb), NULL); gtk_signal_connect(GTK_OBJECT(blursk_window), "motion_notify_event", GTK_SIGNAL_FUNC(mousemove_cb), NULL); gtk_widget_set_events(blursk_window, GDK_KEY_PRESS_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_BUTTON1_MOTION_MASK); /* Initialize the drawing area */ gtk_widget_realize(area); bg_pixmap = gdk_pixmap_create_from_xpm_d(area->window, NULL, NULL, blursk_xmms_logo_xpm); gdk_window_set_back_pixmap(area->window, bg_pixmap, 0); /* Move the window to its usual place, if any. If portions are beyond * the edge of the screen, then move it to make everything visible. */ if (config.x != -1 || config.y != -1) { if (config.x < 0) config.x = 0; else if (config.x + img_physwidth >= gdk_screen_width()) config.x = gdk_screen_width() - img_physwidth; if (config.y < 0) config.y = 0; else if (config.y + img_physheight >= gdk_screen_height()) config.y = gdk_screen_height() - img_physheight; gtk_widget_realize(blursk_window); gtk_window_reposition(GTK_WINDOW(blursk_window), config.x, config.y); } /* Show it! */ gtk_widget_show(blursk_window); /* Determine whether fullscreen operation is supported. */ can_fullscreen = xmms_fullscreen_init(blursk_window); #endif if( blursk_bitmap == NULL ) blursk_bitmap = new os::Bitmap( config.width, config.height, os::CS_RGB32 ); color_genmap(TRUE); }
void __blursk_init (BlurskPrivate *priv) { color_genmap(priv, FALSE); img_resize(priv, config.width, config.height); songinfo = visual_songinfo_new(VISUAL_SONGINFO_TYPE_NULL); }