aboutsummaryrefslogtreecommitdiff
path: root/Src/Winamp/commandLink.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Winamp/commandLink.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/Winamp/commandLink.h')
-rw-r--r--Src/Winamp/commandLink.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/Src/Winamp/commandLink.h b/Src/Winamp/commandLink.h
new file mode 100644
index 00000000..8f4d143f
--- /dev/null
+++ b/Src/Winamp/commandLink.h
@@ -0,0 +1,106 @@
+#ifndef NULLOSFT_DROPBOX_PLUGIN_COMMANDLINK_HEADER
+#define NULLOSFT_DROPBOX_PLUGIN_COMMANDLINK_HEADER
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+#include <wtypes.h>
+
+#define NWC_COMMANDLINKA "NullsoftCommandLink"
+#define NWC_COMMANDLINKW L"NullsoftCommandLink"
+
+#ifdef UNICODE
+#define NWC_COMMANDLINK NWC_COMMANDLINKW
+#else
+#define NWC_COMMANDLINK NWC_COMMANDLINKA
+#endif // !UNICODE
+
+// styles
+#define CLS_HOTTRACK 0x0001
+#define CLS_TRACKVISITED 0x0002
+#define CLS_DEFAULTCOLORS 0x0008
+#define CLS_ALWAYSUNDERLINE 0x0010
+#define CLS_HIGHLIGHTCOLOR 0x0020 // enables CLM_SETHIGHLIGHTCOLOR/CLM_GETHIGHLIGHTCOLOR
+
+// states
+#define CLIS_VISITED 0x0001
+#define CLIS_HOT 0x0002
+#define CLIS_PRESSED 0x0004
+#define CLIS_FOCUSED 0x0008
+#define CLIS_HIDEFOCUS 0x0010
+
+#define CommandLink_CreateWindow(__windowStyleEx, __linkText, __windowStyle, __x, __y, __cx, __cy, __parentWindow, __controlId)\
+ CreateWindowEx((__windowStyleEx), NWC_COMMANDLINK, (__linkText), (__windowStyle),\
+ (__x), (__y), (__cx), (__cy), (__parentWindow), (HMENU)(INT_PTR)(__controlId), NULL, 0)
+
+
+#define CLM_FIRST (WM_USER + 1)
+
+#define CLM_GETIDEALHEIGHT (CLM_FIRST + 0)
+#define CommandLink_GetIdealHeight(/*HNWD*/__hwnd)\
+ ((INT)SendMessageW((__hwnd), CLM_GETIDEALHEIGHT, 0, 0L))
+
+#define CLM_GETIDEALSIZE (CLM_FIRST + 1)
+#define CommandLink_GetIdealSize(/*HNWD*/ __hwnd, /*LPSIZE*/ __sizeOut)\
+ ((BOOL)SendMessageW((__hwnd), CLM_GETIDEALSIZE, 0, (LPARAM)(__sizeOut)))
+
+#define CLM_RESETVISITED (CLM_FIRST + 2)
+#define CommandLink_ResetVisited(/*HNWD*/__hwnd)\
+ (SendMessageW((__hwnd), CLM_RESETVISITED, 0, 0L))
+
+#define CLM_GETMARGINS (CLM_FIRST + 3) //lParam = (RECT*)*margins; Return TRUE on success
+#define CommandLink_GetMargins(/*HNWD*/ __hwnd, /*LPRECT*/ __rectOut)\
+ ((BOOL)SendMessageW((__hwnd), CLM_GETMARGINS, 0, (LPARAM)(__rectOut)))
+
+#define CLM_SETMARGINS (CLM_FIRST + 4) //lParam = (RECT*)*margins; Return TRUE on success
+#define CommandLink_SetMargins(/*HNWD*/ __hwnd, /*LPCRECT*/ __rectIn)\
+ ((BOOL)SendMessageW((__hwnd), CLM_SETMARGINS, 0, (LPARAM)(__rectIn)))
+
+#define CLM_SETBACKCOLOR (CLM_FIRST + 5) //lParam = (LPARAM)rgb; Return TRUE on success
+#define CommandLink_SetBackColor(/*HNWD*/ __hwnd, /*COLORREF*/ __rgb)\
+ ((BOOL)SendMessageW((__hwnd), CLM_SETBACKCOLOR, 0, (LPARAM)(__rgb)))
+
+#define CLM_GETBACKCOLOR (CLM_FIRST + 6) //Return COLORREF
+#define CommandLink_GetBackColor(/*HNWD*/ __hwnd)\
+ ((COLORREF)SendMessageW((__hwnd), CLM_GETBACKCOLOR, 0, 0L))
+
+#define CLM_SETTEXTCOLOR (CLM_FIRST + 7) //lParam = (LPARAM)rgb; Return TRUE on success
+#define CommandLink_SetTextColor(/*HNWD*/ __hwnd, /*COLORREF*/ __rgb)\
+ ((BOOL)SendMessageW((__hwnd), CLM_SETTEXTCOLOR, 0, (LPARAM)(__rgb)))
+
+#define CLM_GETTEXTCOLOR (CLM_FIRST + 8) //Return COLORREF
+#define CommandLink_GetTextColor(/*HNWD*/ __hwnd)\
+ ((COLORREF)SendMessageW((__hwnd), CLM_GETTEXTCOLOR, 0, 0L))
+
+#define CLM_SETVISITEDCOLOR (CLM_FIRST + 9) //lParam = (LPARAM)rgb; Return TRUE on success
+#define CommandLink_SetVisitedColor(/*HNWD*/ __hwnd, /*COLORREF*/ __rgb)\
+ ((BOOL)SendMessageW((__hwnd), CLM_SETVISITEDCOLOR, 0, (LPARAM)(__rgb)))
+
+#define CLM_GETVISITEDCOLOR (CLM_FIRST + 10) //Return COLORREF
+#define CommandLink_GetVisitedColor(/*HNWD*/ __hwnd)\
+ ((COLORREF)SendMessageW((__hwnd), CLM_GETVISITEDCOLOR, 0, 0L))
+
+#define CLM_SETHIGHLIGHTCOLOR (CLM_FIRST + 11) //lParam = (LPARAM)rgb; Return TRUE on success
+#define CommandLink_SetHighlightColor(/*HNWD*/ __hwnd, /*COLORREF*/ __rgb)\
+ ((BOOL)SendMessageW((__hwnd), CLM_SETHIGHLIGHTCOLOR, 0, (LPARAM)(__rgb)))
+
+#define CLM_GETHIGHLIGHTCOLOR (CLM_FIRST + 12) //Return COLORREF
+#define CommandLink_GetHighlightColor(/*HNWD*/ __hwnd)\
+ ((COLORREF)SendMessageW((__hwnd), CLM_GETHIGHLIGHTCOLOR, 0, 0L))
+
+
+
+// notifications
+// NM_CLICK
+// NM_SETFOCUS
+// NM_KILLFOCUS
+
+
+
+// internal call ( do not use)
+EXTERN_C BOOL CommandLink_RegisterClass(HINSTANCE hInstance);
+
+
+
+#endif //NULLOSFT_DROPBOX_PLUGIN_COMMANDLINK_HEADER \ No newline at end of file