|
|
| version 1.4, 2003/10/21 14:57:41 | version 1.5, 2003/10/26 11:51:46 |
|---|---|
| Line 31 typedef struct { | Line 31 typedef struct { |
| BYTE r16b; | BYTE r16b; |
| BYTE l16r; | BYTE l16r; |
| BYTE l16g; | BYTE l16g; |
| BYTE menudisp; | |
| int menusize; | |
| HMENU menuhdl; | |
| RECT scrn; | RECT scrn; |
| RECT rect; | RECT rect; |
| PALETTEENTRY pal[256]; | PALETTEENTRY pal[256]; |
| Line 217 static void clearoutscreen(void) { | Line 220 static void clearoutscreen(void) { |
| static void clearoutfullscreen(void) { | static void clearoutfullscreen(void) { |
| clearoutofrect(&ddraw.scrn, &ddraw.rect); | RECT r; |
| r.left = 0; | |
| r.top = (ddraw.menuhdl)?0:ddraw.menusize; | |
| r.right = ddraw.width; // (+ ddraw.extend) | |
| r.bottom = ddraw.height; | |
| clearoutofrect(&ddraw.scrn, &r); | |
| dclock_redraw(); | dclock_redraw(); |
| } | } |
| Line 321 BOOL scrnmng_create(BYTE scrnmode) { | Line 330 BOOL scrnmng_create(BYTE scrnmode) { |
| winstyleex |= WS_EX_TOPMOST; | winstyleex |= WS_EX_TOPMOST; |
| CheckMenuItem(hmenu, IDM_WINDOW, MF_UNCHECKED); | CheckMenuItem(hmenu, IDM_WINDOW, MF_UNCHECKED); |
| CheckMenuItem(hmenu, IDM_FULLSCREEN, MF_CHECKED); | CheckMenuItem(hmenu, IDM_FULLSCREEN, MF_CHECKED); |
| ddraw.menudisp = 0; | |
| ddraw.menusize = GetSystemMetrics(SM_CYMENU); | |
| ddraw.menuhdl = GetMenu(hWndMain); | |
| SetMenu(hWndMain, NULL); | |
| } | } |
| else { | else { |
| scrnmng.flag = SCRNFLAG_HAVEEXTEND; | scrnmng.flag = SCRNFLAG_HAVEEXTEND; |
| Line 488 void scrnmng_destroy(void) { | Line 501 void scrnmng_destroy(void) { |
| if (ddraw.ddraw1) { | if (ddraw.ddraw1) { |
| ddraw.ddraw1->Release(); | ddraw.ddraw1->Release(); |
| } | } |
| scrnmng_enablemenubar(); | |
| ZeroMemory(&ddraw, sizeof(ddraw)); | ZeroMemory(&ddraw, sizeof(ddraw)); |
| } | } |
| Line 507 RGB16 scrnmng_makepal16(RGB32 pal32) { | Line 521 RGB16 scrnmng_makepal16(RGB32 pal32) { |
| (pal.p.r << ddraw.l16r) + (pal.p.b >> ddraw.r16b))); | (pal.p.r << ddraw.l16r) + (pal.p.b >> ddraw.r16b))); |
| } | } |
| void scrnmng_enablemenubar(void) { | |
| if (ddraw.menuhdl) { | |
| SetMenu(hWndMain, ddraw.menuhdl); | |
| ddraw.menuhdl = NULL; | |
| DrawMenuBar(hWndMain); | |
| } | |
| } | |
| void scrnmng_disablemenubar(void) { | |
| if (ddraw.menuhdl == NULL) { | |
| ddraw.menuhdl = GetMenu(hWndMain); | |
| SetMenu(hWndMain, NULL); | |
| } | |
| } | |
| void scrnmng_fullscrnmenu(int y) { | |
| BYTE menudisp; | |
| if (scrnmng.flag & SCRNFLAG_FULLSCREEN) { | |
| menudisp = ((y >= 0) && (y < ddraw.menusize))?1:0; | |
| if (ddraw.menudisp != menudisp) { | |
| ddraw.menudisp = menudisp; | |
| if (menudisp == 1) { | |
| scrnmng_enablemenubar(); | |
| } | |
| else { | |
| scrnmng_disablemenubar(); | |
| clearoutfullscreen(); | |
| } | |
| } | |
| } | |
| } | |
| void scrnmng_topwinui(void) { | void scrnmng_topwinui(void) { |
| mouse_running(MOUSE_STOP); | mouse_running(MOUSE_STOP); |
| Line 531 void scrnmng_clearwinui(void) { | Line 581 void scrnmng_clearwinui(void) { |
| } | } |
| } | } |
| if (scrnmng.flag & SCRNFLAG_FULLSCREEN) { | if (scrnmng.flag & SCRNFLAG_FULLSCREEN) { |
| scrnmng_disablemenubar(); | |
| clearoutfullscreen(); | clearoutfullscreen(); |
| ddraw.menudisp = 0; | |
| } | } |
| mouse_running(MOUSE_CONT); | mouse_running(MOUSE_CONT); |
| } | } |