comparison foosdk/sdk/foobar2000/helpers/CDialogResizeHelper.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
comparison
equal deleted inserted replaced
0:e9bb126753e7 1:20d02a178406
1 #pragma once
2
3 #include "WindowPositionUtils.h"
4
5 #include <libPPUI/CDialogResizeHelper.h>
6
7 template<typename TTracker> class CDialogResizeHelperTracking : public CDialogResizeHelper {
8 public:
9 template<typename TParam, t_size paramCount, typename TCfgVar> CDialogResizeHelperTracking(const TParam (& src)[paramCount],CRect const& minMaxRange, TCfgVar & cfgVar) : CDialogResizeHelper(src, minMaxRange), m_tracker(cfgVar) {}
10
11 BEGIN_MSG_MAP_EX(CDialogResizeHelperST)
12 CHAIN_MSG_MAP(CDialogResizeHelper)
13 CHAIN_MSG_MAP_MEMBER(m_tracker)
14 END_MSG_MAP()
15
16 private:
17 TTracker m_tracker;
18 };
19
20 typedef CDialogResizeHelperTracking<cfgDialogSizeTracker> CDialogResizeHelperST;
21 typedef CDialogResizeHelperTracking<cfgDialogPositionTracker> CDialogResizeHelperPT;
22 typedef CDialogResizeHelperTracking<cfgWindowSizeTracker2> CDialogResizeHelperST2;
23
24 #define REDRAW_DIALOG_ON_RESIZE() if (uMsg == WM_SIZE) RedrawWindow(NULL, NULL, RDW_INVALIDATE | RDW_ERASE | RDW_ALLCHILDREN);