1 // This file is part of VSTGUI. It is subject to the license terms 2 // in the LICENSE file found in the top-level directory of this 3 // distribution and at http://github.com/steinbergmedia/vstgui/LICENSE 4 5 #ifndef __zoomtest__ 6 #define __zoomtest__ 7 8 #include "uidescription test.h" 9 #include <vector> 10 11 namespace VSTGUI { 12 13 //------------------------------------------------------------------------ 14 class ZoomTestProcessor : public UIDescriptionTestProcessor 15 { 16 public: 17 ZoomTestProcessor (); 18 createInstance(void *)19 static Steinberg::FUnknown* createInstance (void*) { return (Steinberg::Vst::IAudioProcessor*)new ZoomTestProcessor; } 20 static Steinberg::FUID cid; 21 }; 22 23 //------------------------------------------------------------------------ 24 class ZoomTestController : public UIDescriptionBaseController 25 { 26 public: 27 Steinberg::tresult PLUGIN_API initialize (Steinberg::FUnknown* context) override; 28 Steinberg::IPlugView* PLUGIN_API createView (Steinberg::FIDString name) override; 29 IController* createSubController (UTF8StringPtr name, const IUIDescription* description, VST3Editor* editor) override; 30 31 void PLUGIN_API update (Steinberg::FUnknown* changedUnknown, Steinberg::int32 message) override; 32 33 void editorAttached (Steinberg::Vst::EditorView* editor) override; 34 void editorRemoved (Steinberg::Vst::EditorView* editor) override; 35 createInstance(void *)36 static Steinberg::FUnknown* createInstance (void*) { return (Steinberg::Vst::IEditController*)new ZoomTestController; } 37 static Steinberg::FUID cid; 38 private: 39 typedef std::vector<Steinberg::Vst::EditorView*> EditorVector; 40 EditorVector editors; 41 }; 42 43 44 } // namespace 45 46 #endif // __zoomtest__ 47