diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Winamp/Options.h | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/Winamp/Options.h')
-rw-r--r-- | Src/Winamp/Options.h | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/Src/Winamp/Options.h b/Src/Winamp/Options.h new file mode 100644 index 00000000..be99c676 --- /dev/null +++ b/Src/Winamp/Options.h @@ -0,0 +1,105 @@ +#ifndef NULLSOFT_OPTIONSH +#define NULLSOFT_OPTIONSH +#pragma once +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <shlobj.h> + +typedef struct { int id, id2; } hi; + +typedef struct { UINT id; WNDPROC proc; } multiPage; +HWND _dosetsel(HWND hwndDlg, HWND subwnd, int* last_page, multiPage* pages, int numpages); + +INT_PTR CALLBACK PlaybackProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); +//INT_PTR CALLBACK StationInfoProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK DspProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK GenProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK VisProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK VideoProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK PlaybackOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK TitleProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK SetupProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK FtypeProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK SkinProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK classicSkinProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK OutputProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK InputProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK PlugProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK LangProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam); + +void do_help(HWND hwnd, UINT id, HWND hTooltipWnd); +#ifdef DO_COLORS +#define C_BLAH \ + if (uMsg == WM_CTLCOLORDLG) return GetStockObject(DKGRAY_BRUSH); \ + if (uMsg == WM_CTLCOLORSTATIC) { \ + SetTextColor(wParam,RGB(220,220,220)); SetBkColor(wParam,RGB(64,64,64)); \ + return GetStockObject(DKGRAY_BRUSH);} \ + if (uMsg == WM_CTLCOLORLISTBOX) { \ + SetTextColor(wParam,RGB(0,220,0)); SetBkColor(wParam,RGB(0,0,0)); \ + return GetStockObject(BLACK_BRUSH);} \ + if (uMsg == WM_CTLCOLOREDIT) { \ + SetTextColor(wParam,RGB(0,220,0)); SetBkColor(wParam,RGB(0,0,0)); \ + return GetStockObject(BLACK_BRUSH);} +#else +#define C_BLAH +#endif + +#define DO_HELP() \ + static HWND hTooltipWnd; \ + C_BLAH \ + if (uMsg == WM_HELP) { \ + HELPINFO *hi=(HELPINFO *)(lParam); \ + if (hi->iContextType == HELPINFO_WINDOW) { do_help(hwndDlg,hi->iCtrlId,hTooltipWnd);} \ + return TRUE; \ + } \ + if (uMsg == WM_NOTIFY) { LPNMHDR t=(LPNMHDR)lParam; if (t->code == TTN_POP) { SendMessageW(hTooltipWnd,TTM_SETDELAYTIME,TTDT_INITIAL,1000); SendMessageW(hTooltipWnd,TTM_SETDELAYTIME,TTDT_RESHOW,1000); } } \ + if (uMsg == WM_DESTROY && IsWindow(hTooltipWnd)) { DestroyWindow(hTooltipWnd); hTooltipWnd=NULL; } \ + if (uMsg == WM_INITDIALOG) { \ + int x; \ + hTooltipWnd = CreateWindowW(TOOLTIPS_CLASSW,(LPCWSTR)NULL,TTS_ALWAYSTIP, \ + CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, hwndDlg,NULL,GetModuleHandle(NULL),NULL); \ + SendMessageW(hTooltipWnd,TTM_SETMAXTIPWIDTH,0,587); \ + SendMessageW(hTooltipWnd,TTM_SETDELAYTIME,TTDT_INITIAL,1000); \ + SendMessageW(hTooltipWnd,TTM_SETDELAYTIME,TTDT_RESHOW,1000); \ + for (x = 0; x < sizeof(helpinfo)/sizeof(helpinfo[0]); x ++) { \ + TOOLINFOW ti; ti.cbSize = sizeof(ti); ti.uFlags = TTF_SUBCLASS|TTF_IDISHWND; \ + ti.uId=(UINT_PTR)GetDlgItem(hwndDlg,helpinfo[x].id); ti.hwnd=hwndDlg; ti.lpszText=getStringW(helpinfo[x].id2,NULL,0); \ + SendMessageW(hTooltipWnd,TTM_ADDTOOLW,0,(LPARAM) &ti); \ + } \ + } + +#define ListView_InsertColumnW(hwnd, iCol, pcol) \ + (int)SNDMSG((hwnd), LVM_INSERTCOLUMNW, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMNW *)(pcol)) + +#define ListView_InsertItemW(hwnd, pitem) \ + (int)SNDMSG((hwnd), LVM_INSERTITEMW, 0, (LPARAM)(const LV_ITEMW *)(pitem)) + +#define ListView_SetItemTextW(hwndLV, i, iSubItem_, pszText_) \ +{ LV_ITEMW _macro_lvi;\ + _macro_lvi.iSubItem = (iSubItem_);\ + _macro_lvi.pszText = (pszText_);\ + SNDMSG((hwndLV), LVM_SETITEMTEXTW, (WPARAM)(i), (LPARAM)(LV_ITEMW *)&_macro_lvi);\ +} + +#define ListView_SetItemW(hwnd, pitem) \ + (BOOL)SNDMSG((hwnd), LVM_SETITEMW, 0, (LPARAM)(LV_ITEMW *)(pitem)) + +#define ListView_GetItemW(hwnd, pitem) \ + (BOOL)SNDMSG((hwnd), LVM_GETITEMW, 0, (LPARAM)(LV_ITEMW *)(pitem)) + +#define ListView_GetItemTextW(hwndLV, i, iSubItem_, pszText_, cchTextMax_) \ +{ LV_ITEMW _macro_lvi;\ + _macro_lvi.iSubItem = (iSubItem_);\ + _macro_lvi.cchTextMax = (cchTextMax_);\ + _macro_lvi.pszText = (pszText_);\ + SNDMSG((hwndLV), LVM_GETITEMTEXTW, (WPARAM)(i), (LPARAM)(LV_ITEMW *)&_macro_lvi);\ +} + + +#endif +#ifdef __cplusplus +} +#endif
\ No newline at end of file |