📄 interface.c
字号:
#include "interface.h"gint test (GtkWidget* widget, GdkEvent* event, gpointer data){// gdk_draw_line (area->window, area->style->black_gc, 1, 1, 100, 100);// if (event->type == GDK_BUTTON_PRESS) { myout("receive button\n"); fprintf (stderr, "type=%d\n", event->type);// } return FALSE;}void create_interface (){ int i, j; gchar lab[20]; GtkStyle* style; GdkColor color; main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); style = gtk_widget_get_style (main_window); gdk_color_parse ("#629BF4", &color); style->bg[0] = color; gtk_widget_set_style (main_window, style); gtk_window_set_title (GTK_WINDOW(main_window), "GPE Bomb"); gtk_widget_show (main_window); gtk_widget_set_uposition (main_window, 100, 100); gtk_widget_set_usize (main_window, BLOCK_WIDTH*MAX_COL, BLOCK_HEIGHT*MAX_ROW+65); gtk_window_set_policy(GTK_WINDOW(main_window), FALSE, FALSE, FALSE); gtk_signal_connect (GTK_OBJECT(main_window), "delete_event", GTK_SIGNAL_FUNC(quit_game), NULL); vbox = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER(main_window), vbox); toolbar = gtk_toolbar_new (); style = gtk_widget_get_style (toolbar); style->bg[0] = color; gtk_widget_set_style (toolbar, style); gtk_widget_show (toolbar); gtk_box_pack_start (GTK_BOX(vbox), toolbar, FALSE, FALSE, 0); item = gtk_image_new_from_stock (GTK_STOCK_NEW, GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_toolbar_append_item (GTK_TOOLBAR(toolbar), _("New"), _("New Game"), NULL, item, GTK_SIGNAL_FUNC(new_game), NULL); item = gtk_image_new_from_stock (GTK_STOCK_PREFERENCES, GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_toolbar_append_item (GTK_TOOLBAR(toolbar), _("Pref"), _("Preferences"), NULL, item, GTK_SIGNAL_FUNC(pref_set), NULL); item = gtk_image_new_from_stock (GTK_STOCK_QUIT, GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_toolbar_append_item (GTK_TOOLBAR(toolbar), _("Quit"), _("Quit Game"), NULL, item, GTK_SIGNAL_FUNC(quit_game), NULL);/* table = gtk_table_new (MAX_ROW, MAX_COL, 0); gtk_widget_show (table); gtk_box_pack_end_defaults (GTK_BOX(vbox), table);// FALSE, FALSE, 0); for (i=0; i<MAX_ROW; i++) for (j=0; j<MAX_COL; j++) { button = gtk_button_new(); gtk_widget_set_usize(button, MAX_WIDTH/MAX_COL, MAX_HEIGHT/MAX_ROW); gtk_signal_connect (GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_main_quit), (gpointer)((i<<SHIFT_LEN)&j)); gtk_widget_show (button); gtk_table_attach (GTK_TABLE(table), button, j, j+1, i, i+1, GTK_FILL, GTK_FILL, 0, 0); }*//* main_frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME(main_frame), GTK_SHADOW_IN); gtk_widget_show (main_frame); gtk_box_pack_end (GTK_BOX(vbox), main_frame, FALSE, FALSE, 0);*/ eventbox = gtk_event_box_new (); //gtk_frame_set_shadow_type (GTK_FRAME(main_frame), GTK_SHADOW_IN); gtk_widget_show (eventbox); gtk_box_pack_start (GTK_BOX(vbox), eventbox, FALSE, FALSE, 0); area = gtk_drawing_area_new (); gtk_drawing_area_size (GTK_DRAWING_AREA(area), BLOCK_WIDTH*MAX_COL, BLOCK_HEIGHT*MAX_ROW); //BLOCK_WIDTH*30, BLOCK_HEIGHT*16); gtk_widget_show (area); gtk_signal_connect (GTK_OBJECT(area), "expose_event", GTK_SIGNAL_FUNC(area_expose), NULL); gtk_container_add (GTK_CONTAINER(eventbox), area); gtk_signal_connect (GTK_OBJECT(eventbox), "button_press_event", GTK_SIGNAL_FUNC(button_press), (gpointer)area); hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox); sprintf (lab, "%d bombs left", MAX_BOMB); label = gtk_label_new (lab); gtk_widget_show (label); gtk_box_pack_end (GTK_BOX(vbox), hbox, FALSE, FALSE, FALSE); gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, FALSE); sprintf (lab, "0:0"); timelab = gtk_label_new (lab); gtk_widget_show (timelab); gtk_box_pack_end (GTK_BOX(hbox), timelab, FALSE, FALSE, FALSE);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -