123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- /** (c) Nullsoft, Inc. C O N F I D E N T I A L
- ** Filename:
- ** Project:
- ** Description:
- ** Author:
- ** Created:
- **/
- #include "Main.h"
- #include "wa_dlg.h"
- #include "../nu/AutoChar.h"
- #include "resource.h"
- extern "C" extern int g_skinloadedmanually;
- int Main_OnGetText(wchar_t *text, int sizeCch)
- {
- size_t rem;
- StringCchCopyExW(text, sizeCch, caption, 0, &rem, 0);
- return (int)sizeCch-rem;
- }
- // evil 256 color mode windows palette handling
- int Main_OnQueryNewPalette(HWND hwnd)
- {
- if (draw_hpal) { // hPal is NULL if we're in hicolor
- HDC hdc = GetWindowDC(hwnd);
- SelectPalette(hdc,draw_hpal,FALSE);
- RealizePalette(hdc);
- InvalidateRect(hwnd,NULL,FALSE);
- ReleaseDC(hwnd,hdc);
- }
- return 1;
- }
- // more 256 color windows palette handling
- int Main_OnPaletteChanged(HWND hwnd, HWND hwndPaletteChange)
- {
- if (draw_hpal)
- {
- HDC hdc = GetWindowDC(hwnd);
- SelectPalette(hdc,draw_hpal,FALSE);
- RealizePalette(hdc);
- UpdateColors(hdc);
- ReleaseDC(hwnd,hdc);
- }
- return 1;
- }
- // displaychange handling. This reinitializes bitmaps, to use optimal storage format
- // depending on mode (DIB or DDB)
- int Main_OnDisplayChange(HWND hwnd)
- {
- int t=0;
- if (g_skinloadedmanually)
- {
- Skin_Load();
- }
- if (g_skinmissinggenff)
- {
- wchar_t msg[512] = {0};
- StringCchPrintfW(msg, 512, getStringW(IDS_NO_MODERN_SKIN_SUPPORT, NULL, 0), config_skin);
- MessageBoxW(NULL, msg, getStringW(IDS_SKIN_LOAD_ERROR, NULL, 0), MB_ICONWARNING | MB_OK | MB_TOPMOST);
- }
- draw_setnoupdate(1);
- draw_init();
- draw_clutterbar(0);
- draw_shuffle(config_shuffle,0);
- draw_eject(0);
- draw_eqplbut(config_eq_open,0,config_pe_open,0);
- draw_repeat(config_repeat,0);
- draw_buttonbar(-1);
- draw_volumebar(config_volume,0);
- draw_panbar(config_pan,0);
- draw_songname(L"",&t,0);
- draw_playicon(playing?paused?4:1:2);
- draw_tbar(config_hilite?(GetForegroundWindow() == hMainWindow?1:0):1, config_windowshade,eggstat);
- draw_monostereo(-1);
- if (playing)
- {
- draw_bitmixrate(-1,-1);
- }
- draw_setnoupdate(0);
- draw_songname(FileTitle,&ui_songposition,playing?in_getlength():PlayList_getcurrentlength());
- // tell other windows
- if (IsWindow(hVideoWindow))
- SendMessageW(hVideoWindow, WM_DISPLAYCHANGE,0,0);
- if (IsWindow(hEQWindow))
- SendMessageW(hEQWindow, WM_DISPLAYCHANGE,0,0);
- if (IsWindow(hPLWindow))
- SendMessageW(hPLWindow, WM_DISPLAYCHANGE,0,0);
- /*
- if (IsWindow(hMBWindow))
- SendMessageW(hVideoWindow, WM_DISPLAYCHANGE,0,0);
- */
- if (IsWindow(hExternalVisWindow))
- SendMessageW(hExternalVisWindow, WM_DISPLAYCHANGE,0,0);
- SetTimer(hMainWindow, 101, 250, NULL); // set_aot(-1);
- InvalidateRect(hwnd,NULL,FALSE);
- //UpdateWindow(hwnd);
- EnterCriticalSection(&embedcs);
- {
- embedWindowState *p =embedwndlist;
- while (p)
- {
- PostMessageW(p->me,WM_DISPLAYCHANGE,0,0);
- p=p->link;
- }
- }
- LeaveCriticalSection(&embedcs);
- PostMessageW(hMainWindow, WM_WA_IPC, 0, IPC_SKIN_CHANGED);
- return 1;
- }
|