diff options
author | Jean-Francois Mauguit <jfmauguit@mac.com> | 2024-09-24 09:03:25 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-24 09:03:25 -0400 |
commit | bab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Library/ml_wire/layout.h | |
parent | 4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff) | |
parent | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff) | |
download | winamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz |
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/Plugins/Library/ml_wire/layout.h')
-rw-r--r-- | Src/Plugins/Library/ml_wire/layout.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Src/Plugins/Library/ml_wire/layout.h b/Src/Plugins/Library/ml_wire/layout.h new file mode 100644 index 00000000..9af73396 --- /dev/null +++ b/Src/Plugins/Library/ml_wire/layout.h @@ -0,0 +1,43 @@ +#ifndef NULLSOFT_PODCAST_PLUGIN_LAYOUT_HEADER +#define NULLSOFT_PODCAST_PLUGIN_LAYOUT_HEADER + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include <wtypes.h> + +typedef struct __LAYOUTITEM +{ + HWND hwnd; + LONG x; + LONG y; + LONG cx; + LONG cy; + UINT flags; + RECT rect; +} LAYOUTITEM; + + +#define LI_GET_R(__li) ((__li).x + (__li).cx) +#define LI_GET_B(__li) ((__li).y + (__li).cy) +#define LI_EXPAND_W(__li, __delta) { (__li).cx += (__delta); } +#define LI_EXPAND_H(__li, __delta) { (__li).cy += (__delta); } +#define LI_SHIFT_L(__li, __delta) { (__li).x += (__delta); } +#define LI_SHIFT_T(__li, __delta) { { (__li).y += (__delta); } +#define LI_SET_L(__li, __val) { (__li).x = (__val); } +#define LI_SET_T(__li, __val) { (__li).y = (__val); } +#define LI_SET_W(__li, __val) { (__li).cx = (__val); } +#define LI_SET_H(__li, __val) { (__li).cy = (__val); } +#define LI_SET_R(__li, __val) { (__li).cx = ((__val) - (__li).x); } +#define LI_SET_B(__li, __val) { (__li).cy = ((__val) - (__li).y); } + +BOOL Layout_Initialize(HWND hwnd, const INT *itemList, INT itemCount, LAYOUTITEM *layout); +BOOL Layout_SetVisibilityEx(const RECT *rect, const INT *indexList, INT indexCount, LAYOUTITEM *layout); +BOOL Layout_SetVisibility(const RECT *rect, LAYOUTITEM *layout, INT layoutCount); +BOOL Layout_Perform(HWND hwnd, LAYOUTITEM *layout, INT layoutCount, BOOL fRedraw); + +BOOL Layout_GetValidRgn(HRGN validRgn, POINTS parrentOffset, const RECT *validRect, LAYOUTITEM *layout, INT layoutCount); + + +#endif //NULLSOFT_PODCAST_PLUGIN_LAYOUT_HEADER
\ No newline at end of file |