20#include <public.sdk/source/common/pluginview.h>
27class PulpPlugView :
public Steinberg::CPluginView {
29 PulpPlugView(Processor& processor, state::StateStore& store,
30 runtime::AliveToken::Handle owner_alive = {});
31 ~PulpPlugView()
override;
34 Steinberg::tresult PLUGIN_API isPlatformTypeSupported(Steinberg::FIDString type)
override;
35 Steinberg::tresult PLUGIN_API attached(
void* parent, Steinberg::FIDString type)
override;
36 Steinberg::tresult PLUGIN_API
removed()
override;
37 Steinberg::tresult PLUGIN_API setFrame(Steinberg::IPlugFrame* frame)
override;
38 Steinberg::tresult PLUGIN_API getSize(Steinberg::ViewRect* size)
override;
39 Steinberg::tresult PLUGIN_API onSize(Steinberg::ViewRect* newSize)
override;
44 Steinberg::tresult PLUGIN_API canResize()
override;
45 Steinberg::tresult PLUGIN_API checkSizeConstraint(Steinberg::ViewRect* rect)
override;
53 Steinberg::tresult PLUGIN_API onKeyDown(Steinberg::char16 key, Steinberg::int16 keyCode,
54 Steinberg::int16 modifiers)
override;
58 class LinuxFrameTimer;
59 friend class LinuxFrameTimer;
60 void register_linux_frame_timer();
61 void unregister_linux_frame_timer();
62 void on_linux_frame_timer();
63 std::unique_ptr<LinuxFrameTimer> linux_frame_timer_;
64 Steinberg::Linux::IRunLoop* linux_run_loop_ =
nullptr;
65 bool linux_timer_registered_ =
false;
67 void register_linux_frame_timer() {}
68 void unregister_linux_frame_timer() {}
70 friend struct PulpPlugViewTestAccess;
72 state::StateStore& store_;
74 std::unique_ptr<view::PluginViewHost> editor_host_;
79 view::PluginViewHost::GpuSurfaceSubscription gpu_surface_binding_;
@ Processor
Definition graph_runtime_plan.hpp:15
@ removed
Definition udev_monitor.hpp:26