|
|
| 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; |
| } | } |