Diff for /np2/x11/gtk2/gtk_screen.c between versions 1.8 and 1.9

version 1.8, 2007/01/24 14:09:32 version 1.9, 2007/02/04 11:51:14
Line 58  typedef struct { Line 58  typedef struct {
         RECT_T          rect;           /* drawarea に描画するサイズ */          RECT_T          rect;           /* drawarea に描画するサイズ */
   
         /* toolkit depend */          /* toolkit depend */
           GdkPixbuf       *drawsurf;
         GdkPixbuf       *backsurf;          GdkPixbuf       *backsurf;
         GdkPixbuf       *surface;          GdkPixbuf       *surface;
         double          ratio_w, ratio_h;          double          ratio_w, ratio_h;
Line 415  scrnmng_create(UINT8 mode) Line 416  scrnmng_create(UINT8 mode)
         gdk_pixbuf_fill(drawmng.surface, 0);          gdk_pixbuf_fill(drawmng.surface, 0);
   
         if (mode & SCRNMODE_FULLSCREEN) {          if (mode & SCRNMODE_FULLSCREEN) {
                   drawmng.drawsurf =
                       real_fullscreen ? drawmng.backsurf : drawmng.surface;
                 xmenu_hide();                  xmenu_hide();
                 if (real_fullscreen) {                  gtk_window_fullscreen_mode(main_window);
                         gtk_window_fullscreen_mode(main_window);  
                 } else {  
                         gtk_window_fullscreen(GTK_WINDOW(main_window));  
                 }  
         } else {          } else {
                 if (real_fullscreen) {                  drawmng.drawsurf = (scrnstat.multiple == SCREEN_DEFMUL)
                         gtk_window_restore_mode(main_window);                      ? drawmng.backsurf : drawmng.surface;
                 } else {                  gtk_window_restore_mode(main_window);
                         gtk_window_unfullscreen(GTK_WINDOW(main_window));  
                 }  
                 xmenu_show();                  xmenu_show();
         }          }
   
Line 454  scrnmng_fullscreen(int onoff) Line 451  scrnmng_fullscreen(int onoff)
 {  {
   
         if (onoff) {          if (onoff) {
                 if (real_fullscreen) {                  gtk_window_fullscreen_mode(main_window);
                         gtk_window_fullscreen_mode(main_window);  
                 } else {  
                         gtk_window_fullscreen(GTK_WINDOW(main_window));  
                 }  
         } else {          } else {
                 if (real_fullscreen) {                  gtk_window_restore_mode(main_window);
                         gtk_window_restore_mode(main_window);  
                 } else {  
                         gtk_window_unfullscreen(GTK_WINDOW(main_window));  
                 }  
         }          }
 }  }
   
Line 510  scrnmng_setmultiple(int multiple) Line 499  scrnmng_setmultiple(int multiple)
   
         if (scrnstat.multiple != multiple) {          if (scrnstat.multiple != multiple) {
                 scrnstat.multiple = multiple;                  scrnstat.multiple = multiple;
                 soundmng_stop();                  if (!(drawmng.scrnmode & SCRNMODE_FULLSCREEN)) {
                 mouse_running(MOUSE_STOP);                          soundmng_stop();
                 scrnmng_destroy();                          mouse_running(MOUSE_STOP);
                 if (scrnmng_create(scrnmode) != SUCCESS) {                          scrnmng_destroy();
                         toolkit_widget_quit();                          if (scrnmng_create(scrnmode) != SUCCESS) {
                         return;                                  toolkit_widget_quit();
                                   return;
                           }
                           renewal_client_size();
                           scrndraw_redraw();
                           mouse_running(MOUSE_CONT);
                           soundmng_play();
                 }                  }
                 renewal_client_size();  
                 scrndraw_redraw();  
                 mouse_running(MOUSE_CONT);  
                 soundmng_play();  
         }          }
 }  }
   
Line 553  scrnmng_surfunlock(const SCRNSURF *surf) Line 544  scrnmng_surfunlock(const SCRNSURF *surf)
   
         UNUSED(surf);          UNUSED(surf);
   
         if (((drawmng.scrnmode & SCRNMODE_FULLSCREEN) && real_fullscreen)          if (drawmng.drawsurf == drawmng.surface) {
          && !(drawmng.scrnmode & SCRNMODE_FULLSCREEN) && (scrnstat.multiple == SCREEN_DEFMUL)) {  
                 /* Nothing to do */  
         } else {  
                 gdk_pixbuf_scale(drawmng.backsurf, drawmng.surface,                  gdk_pixbuf_scale(drawmng.backsurf, drawmng.surface,
                     0, 0, drawmng.rect.right, drawmng.rect.bottom,                      0, 0, drawmng.rect.right, drawmng.rect.bottom,
                     0, 0, drawmng.ratio_w, drawmng.ratio_h,                      0, 0, drawmng.ratio_w, drawmng.ratio_h,
Line 596  scrnmng_update(void) Line 584  scrnmng_update(void)
                 }                  }
         }          }
   
         if (((drawmng.scrnmode & SCRNMODE_FULLSCREEN) && real_fullscreen)          gdk_draw_pixbuf(d, gc, drawmng.drawsurf,
          && !(drawmng.scrnmode & SCRNMODE_FULLSCREEN) && (scrnstat.multiple == SCREEN_DEFMUL)) {              0, 0,
                 gdk_draw_pixbuf(d, gc, drawmng.backsurf,              drawmng.scrn.left, drawmng.scrn.top,
                     0, 0,              drawmng.rect.right, drawmng.rect.bottom,
                     drawmng.scrn.left, drawmng.scrn.top,              GDK_RGB_DITHER_NORMAL, 0, 0);
                     drawmng.rect.right, drawmng.rect.bottom,  
                     GDK_RGB_DITHER_NORMAL, 0, 0);  
         } else {  
                 gdk_draw_pixbuf(d, gc, drawmng.surface,  
                     0, 0,  
                     drawmng.scrn.left, drawmng.scrn.top,  
                     drawmng.rect.right, drawmng.rect.bottom,  
                     GDK_RGB_DITHER_NORMAL, 0, 0);  
         }  
   
         drawmng.drawing = FALSE;          drawmng.drawing = FALSE;
 }  }

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


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