1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- * VSTEditor.h
- * -----------
- * Purpose: Implementation of the custom plugin editor window that is used if a plugin provides an own editor GUI.
- * Notes : (currently none)
- * Authors: OpenMPT Devs
- * The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
- */
- #pragma once
- #include "openmpt/all/BuildSettings.hpp"
- #include "AbstractVstEditor.h"
- OPENMPT_NAMESPACE_BEGIN
- #ifdef MPT_WITH_VST
- class COwnerVstEditor : public CAbstractVstEditor
- {
- protected:
- CStatic m_plugWindow;
- int m_width = 0, m_height = 0;
- public:
- COwnerVstEditor(CVstPlugin &plugin) : CAbstractVstEditor(plugin) { }
- ~COwnerVstEditor() override { }
- // Plugins may request to change the GUI size.
- bool IsResizable() const override { return true; }
- bool SetSize(int contentWidth, int contentHeight) override;
- void UpdateParamDisplays() override;
- bool OpenEditor(CWnd *parent) override;
- void DoClose() override;
- protected:
- afx_msg BOOL OnEraseBkgnd(CDC *) { return TRUE; }
- afx_msg void OnPaint();
- LRESULT OnPreTranslateKeyDown(WPARAM wParam, LPARAM lParam) { return HandlePreTranslateMessage(WM_KEYDOWN, wParam, lParam); }
- LRESULT OnPreTranslateKeyUp(WPARAM wParam, LPARAM lParam) { return HandlePreTranslateMessage(WM_KEYUP, wParam, lParam); }
- LRESULT OnPreTranslateSysKeyDown(WPARAM wParam, LPARAM lParam) { return HandlePreTranslateMessage(WM_SYSKEYDOWN, wParam, lParam); }
- LRESULT OnPreTranslateSysKeyUp(WPARAM wParam, LPARAM lParam) { return HandlePreTranslateMessage(WM_SYSKEYUP, wParam, lParam); }
- LRESULT HandlePreTranslateMessage(UINT message, WPARAM wParam, LPARAM lParam)
- {
- MSG msg = {m_plugWindow, message, wParam, lParam, 0, {}};
- return HandleKeyMessage(msg);
- }
- DECLARE_MESSAGE_MAP()
- };
- #endif // MPT_WITH_VST
- OPENMPT_NAMESPACE_END
|