Diff for /np2/x11/gtk2/gtk_main.c between versions 1.3 and 1.8

version 1.3, 2007/01/02 14:37:29 version 1.8, 2007/01/23 16:24:36
Line 62 Line 62
                          | GDK_LEAVE_NOTIFY_MASK        \                           | GDK_LEAVE_NOTIFY_MASK        \
                          | GDK_EXPOSURE_MASK)                           | GDK_EXPOSURE_MASK)
   
   /*
    - Signal: gboolean GtkWidget::destroy_event (GtkWidget *widget,
             GdkEventAny *event, gpointer user_data)
   */
 static gboolean  static gboolean
 destroy_evhandler(GtkWidget *w)  destroy_evhandler(GtkWidget *w, GdkEventAny *ev, gpointer p)
 {  {
   
         UNUSED(w);          UNUSED(w);
           UNUSED(ev);
           UNUSED(p);
   
           taskmng_exit();
         toolkit_widget_quit();          toolkit_widget_quit();
   
         return TRUE;          return TRUE;
 }  }
   
 /*  /*
  - Signal: gboolean GtkWidget::configure_event(GtkWidget *widget,   - Signal: gboolean GtkWidget::configure_event (GtkWidget *widget,
           GdkEventConfigure *event, gpointer user_data)            GdkEventConfigure *event, gpointer user_data)
 */  */
 static gboolean  static gboolean
 configure_evhandler(GtkWidget *w, GdkEventConfigure *ev, gpointer user_data)  configure_evhandler(GtkWidget *w, GdkEventConfigure *ev, gpointer p)
 {  {
   
         UNUSED(ev);          UNUSED(ev);
         UNUSED(user_data);          UNUSED(p);
   
         gdk_draw_rectangle(w->window, w->style->black_gc, TRUE,          gdk_draw_rectangle(w->window, w->style->black_gc, TRUE,
             0, 0, w->allocation.width, w->allocation.height);              0, 0, w->allocation.width, w->allocation.height);
   
         return TRUE;          return TRUE;
 }  }
   
 /*  /*
  - Signal: gboolean GtkWidget::expose_event(GtkWidget *widget,   - Signal: gboolean GtkWidget::expose_event (GtkWidget *widget,
           GdkEventExpose *event, gpointer user_data)            GdkEventExpose *event, gpointer user_data)
 */  */
 static gboolean  static gboolean
Line 118  key_press_evhandler(GtkWidget *w, GdkEve Line 124  key_press_evhandler(GtkWidget *w, GdkEve
         UNUSED(w);          UNUSED(w);
         UNUSED(p);          UNUSED(p);
   
         if ((ev->keyval == GDK_F12) && (np2oscfg.F12KEY == 0))          if (ev->keyval == GDK_F11) {
                   if ((np2oscfg.F11KEY == 1) && (scrnmode & SCRNMODE_FULLSCREEN))
                           xmenu_toggle_menu();
                   else if (np2oscfg.F11KEY == 2)
                           xmenu_select_screen(scrnmode ^ SCRNMODE_FULLSCREEN);
           } else if ((ev->keyval == GDK_F12) && (np2oscfg.F12KEY == 0))
                 xmenu_toggle_item(NULL, "mousemode", !np2oscfg.MOUSE_SW);                  xmenu_toggle_item(NULL, "mousemode", !np2oscfg.MOUSE_SW);
         else          else
                 gtkkbd_keydown(ev->keyval);                  gtkkbd_keydown(ev->keyval);
Line 195  button_release_evhandler(GtkWidget *w, G Line 206  button_release_evhandler(GtkWidget *w, G
 }  }
   
 /*  /*
  - Signal: gboolean GtkWidget::window_state_event (GtkWidget *widget,   - Signal: gboolean GtkWidget::motion_notify_event (GtkWidget *widget,
           GdkEventWindowState *event, gpointer user_data)            GdkEventMotion *event, gpointer user_data)
 */  */
 static gboolean  static gboolean
 window_state_evhandler(GtkWidget *w, GdkEventWindowState *ev, gpointer p)  motion_notify_evhandler(GtkWidget *w, GdkEventMotion *ev, gpointer p)
 {  {
   
         UNUSED(w);          UNUSED(w);
         UNUSED(p);          UNUSED(p);
   
         if (ev->new_window_state & GDK_WINDOW_STATE_FULLSCREEN) {          if ((scrnmode & SCRNMODE_FULLSCREEN) && (ev->y < 8.0))
                 /* Nothing to do. */                  xmenu_show();
         }  
         return TRUE;          return TRUE;
 }  }
   
Line 215  window_state_evhandler(GtkWidget *w, Gdk Line 226  window_state_evhandler(GtkWidget *w, Gdk
 /*  /*
  * misc   * misc
  */   */
   static gint
   main_widget_quit(gpointer p)
   {
           BYTE orig_scrnmode;
   
           UNUSED(p);
   
           /* change to window mode */
           orig_scrnmode = scrnmode;
           xmenu_select_screen(scrnmode & ~SCRNMODE_FULLSCREEN);
           scrnmode = orig_scrnmode;
   
           return 0;
   }
   
 static void  static void
 set_icon_bitmap(GtkWidget *w)  set_icon_bitmap(GtkWidget *w)
 {  {
Line 230  set_icon_bitmap(GtkWidget *w) Line 256  set_icon_bitmap(GtkWidget *w)
 /*  /*
  * idle process   * idle process
  */   */
 static int install_count = 0;  static volatile int install_count = 0;
 static guint idle_id;  static guint idle_id;
   
 void  void
Line 238  install_idle_process(void) Line 264  install_idle_process(void)
 {  {
   
         if (install_count++ == 0) {          if (install_count++ == 0) {
                 idle_id = g_idle_add((GSourceFunc)mainloop, 0);                  idle_id = g_idle_add((GSourceFunc)mainloop, NULL);
                 soundmng_play();                  soundmng_play();
         }          }
 }  }
Line 292  gui_gtk_widget_create(void) Line 318  gui_gtk_widget_create(void)
         GtkWidget *main_vbox;          GtkWidget *main_vbox;
         GtkWidget *menubar;          GtkWidget *menubar;
         gchar *accel = NULL;          gchar *accel = NULL;
           gint root_x, root_y;
   
         main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);          main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
         gtk_widget_set_double_buffered(GTK_WIDGET(main_window), FALSE);  //      gtk_widget_set_double_buffered(GTK_WIDGET(main_window), FALSE);
         gtk_window_set_resizable(GTK_WINDOW(main_window), FALSE);          gtk_window_set_resizable(GTK_WINDOW(main_window), FALSE);
         gtk_window_set_title(GTK_WINDOW(main_window), np2oscfg.titles);          gtk_window_set_title(GTK_WINDOW(main_window), np2oscfg.titles);
         gtk_widget_add_events(main_window, EVENT_MASK);          gtk_widget_add_events(main_window, EVENT_MASK);
Line 308  gui_gtk_widget_create(void) Line 335  gui_gtk_widget_create(void)
         gtk_widget_show(menubar);          gtk_widget_show(menubar);
   
         drawarea = gtk_drawing_area_new();          drawarea = gtk_drawing_area_new();
         gtk_widget_set_double_buffered(GTK_WIDGET(drawarea), FALSE);  //      gtk_widget_set_double_buffered(GTK_WIDGET(drawarea), FALSE);
         gtk_widget_set_size_request(GTK_WIDGET(drawarea), 640, 400);          gtk_widget_set_size_request(GTK_WIDGET(drawarea), 640, 400);
         gtk_box_pack_end(GTK_BOX(main_vbox), drawarea, FALSE, TRUE, 0);          gtk_box_pack_end(GTK_BOX(main_vbox), drawarea, FALSE, TRUE, 0);
         gtk_widget_show(drawarea);          gtk_widget_show(drawarea);
Line 322  gui_gtk_widget_create(void) Line 349  gui_gtk_widget_create(void)
         }          }
   
         gtk_widget_realize(main_window);          gtk_widget_realize(main_window);
           gdk_window_get_origin(main_window->window, &root_x, &root_y);
           gdk_window_reparent(main_window->window, NULL, root_x, root_y);
         set_icon_bitmap(main_window);          set_icon_bitmap(main_window);
   
         g_signal_connect(GTK_OBJECT(main_window), "destroy",           g_signal_connect(GTK_OBJECT(main_window), "destroy", 
Line 334  gui_gtk_widget_create(void) Line 363  gui_gtk_widget_create(void)
             GTK_SIGNAL_FUNC(button_press_evhandler), NULL);              GTK_SIGNAL_FUNC(button_press_evhandler), NULL);
         g_signal_connect(GTK_OBJECT(main_window), "button_release_event",          g_signal_connect(GTK_OBJECT(main_window), "button_release_event",
             GTK_SIGNAL_FUNC(button_release_evhandler), NULL);              GTK_SIGNAL_FUNC(button_release_evhandler), NULL);
         g_signal_connect(GTK_OBJECT(main_window), "window_state_event",          g_signal_connect(GTK_OBJECT(main_window), "motion_notify_event",
             GTK_SIGNAL_FUNC(window_state_evhandler), NULL);              GTK_SIGNAL_FUNC(motion_notify_evhandler), NULL);
   
         g_signal_connect(GTK_OBJECT(drawarea), "configure_event",          g_signal_connect(GTK_OBJECT(drawarea), "configure_event",
             GTK_SIGNAL_FUNC(configure_evhandler), NULL);              GTK_SIGNAL_FUNC(configure_evhandler), NULL);
Line 361  void Line 390  void
 gui_gtk_widget_mainloop(void)  gui_gtk_widget_mainloop(void)
 {  {
   
   
         install_idle_process();          install_idle_process();
           gtk_quit_add(1, main_widget_quit, NULL);
         gtk_main();          gtk_main();
         uninstall_idle_process();          uninstall_idle_process();
 }  }

Removed from v.1.3  
changed lines
  Added in v.1.8


RetroPC.NET-CVS <cvs@retropc.net>