1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #pragma once
- #include "openmpt/all/BuildSettings.hpp"
- OPENMPT_NAMESPACE_BEGIN
- class RawGDIDIB;
- class CRippleBitmap: public CWnd
- {
- public:
- static constexpr DWORD UPDATE_INTERVAL = 15;
- protected:
- BITMAPINFOHEADER m_bi;
- std::unique_ptr<RawGDIDIB> m_bitmapSrc, m_bitmapTarget;
- std::vector<int32> m_offset1, m_offset2;
- int32 *m_frontBuf, *m_backBuf;
- DWORD m_lastFrame = 0;
- DWORD m_lastRipple = 0;
- bool m_frame = false;
- bool m_damp = true;
- bool m_activity = true;
- bool m_showMouse = true;
- public:
- CRippleBitmap();
- ~CRippleBitmap();
- bool Animate();
- protected:
- void OnPaint();
- BOOL OnEraseBkgnd(CDC *) { return TRUE; }
- void OnMouseMove(UINT nFlags, CPoint point);
- void OnMouseHover(UINT nFlags, CPoint point) { OnMouseMove(nFlags, point); }
- void OnMouseLeave();
- DECLARE_MESSAGE_MAP()
- };
- class CAboutDlg: public CDialog
- {
- protected:
- CRippleBitmap m_bmp;
- CTabCtrl m_Tab;
- CEdit m_TabEdit;
- UINT_PTR m_TimerID = 0;
- static constexpr UINT_PTR TIMERID_ABOUT_DEFAULT = 3;
- public:
- static CAboutDlg *instance;
- ~CAboutDlg();
-
- protected:
- BOOL OnInitDialog() override;
- void OnOK() override;
- void OnCancel() override;
- DECLARE_MESSAGE_MAP();
- void DoDataExchange(CDataExchange* pDX) override;
- afx_msg void OnTabChange(NMHDR *pNMHDR, LRESULT *pResult);
- void OnTimer(UINT_PTR nIDEvent);
- public:
- static mpt::ustring GetTabText(int tab);
- };
- OPENMPT_NAMESPACE_END
|