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