LMMS
Loading...
Searching...
No Matches
Steinberg::IPlugView Class Referenceabstract

#include <iplugview.h>

Inheritance diagram for Steinberg::IPlugView:
Steinberg::FUnknown Steinberg::CPluginView Steinberg::Vst::EditorView

Public Member Functions

virtual tresult PLUGIN_API isPlatformTypeSupported (FIDString type)=0
virtual tresult PLUGIN_API attached (void *parent, FIDString type)=0
virtual tresult PLUGIN_API removed ()=0
virtual tresult PLUGIN_API onWheel (float distance)=0
virtual tresult PLUGIN_API onKeyDown (char16 key, int16 keyCode, int16 modifiers)=0
virtual tresult PLUGIN_API onKeyUp (char16 key, int16 keyCode, int16 modifiers)=0
virtual tresult PLUGIN_API getSize (ViewRect *size)=0
virtual tresult PLUGIN_API onSize (ViewRect *newSize)=0
virtual tresult PLUGIN_API onFocus (TBool state)=0
virtual tresult PLUGIN_API setFrame (IPlugFrame *frame)=0
virtual tresult PLUGIN_API canResize ()=0
virtual tresult PLUGIN_API checkSizeConstraint (ViewRect *rect)=0
Public Member Functions inherited from Steinberg::FUnknown
virtual tresult PLUGIN_API queryInterface (const TUID _iid, void **obj)=0
virtual uint32 PLUGIN_API addRef ()=0
virtual uint32 PLUGIN_API release ()=0

Static Public Attributes

static const FUID iid
Static Public Attributes inherited from Steinberg::FUnknown
static const FUID iid

Detailed Description

Plug-in definition of a view.

  • [plug imp]
  • [released: 3.0.0]
Sizing of a view
Usually, the size of a plug-in view is fixed. But both the host and the plug-in can cause a view to be resized:
Keyboard handling
The plug-in view receives keyboard events from the host. A view implementation must not handle keyboard events by the means of platform callbacks, but let the host pass them to the view. The host depends on a proper return value when IPlugView::onKeyDown is called, otherwise the plug-in view may cause a malfunction of the host's key command handling.
See also
IPlugFrame, Platform UI Types

Member Function Documentation

◆ attached()

virtual tresult PLUGIN_API Steinberg::IPlugView::attached ( void * parent,
FIDString type )
pure virtual

The parent window of the view has been created, the (platform) representation of the view should now be created as well. Note that the parent is owned by the caller and you are not allowed to alter it in any way other than adding your own views. Note that in this call the plug-in could call a IPlugFrame::resizeView ()!

Parameters
parent: platform handle of the parent window or view
type: Platform UI Types which should be created

Implemented in Steinberg::CPluginView.

◆ canResize()

virtual tresult PLUGIN_API Steinberg::IPlugView::canResize ( )
pure virtual

Is view sizable by user.

Implemented in Steinberg::CPluginView.

◆ checkSizeConstraint()

virtual tresult PLUGIN_API Steinberg::IPlugView::checkSizeConstraint ( ViewRect * rect)
pure virtual

On live resize this is called to check if the view can be resized to the given rect, if not adjust the rect to the allowed size.

Implemented in Steinberg::CPluginView.

◆ getSize()

virtual tresult PLUGIN_API Steinberg::IPlugView::getSize ( ViewRect * size)
pure virtual

Returns the size of the platform representation of the view.

Implemented in Steinberg::CPluginView.

◆ isPlatformTypeSupported()

virtual tresult PLUGIN_API Steinberg::IPlugView::isPlatformTypeSupported ( FIDString type)
pure virtual

Is Platform UI Type supported

Parameters
type: IDString of Platform UI Types

Implemented in Steinberg::CPluginView.

◆ onFocus()

virtual tresult PLUGIN_API Steinberg::IPlugView::onFocus ( TBool state)
pure virtual

Focus changed message.

Implemented in Steinberg::CPluginView.

◆ onKeyDown()

virtual tresult PLUGIN_API Steinberg::IPlugView::onKeyDown ( char16 key,
int16 keyCode,
int16 modifiers )
pure virtual

Handling of keyboard events : Key Down.

Parameters
key: unicode code of key
keyCode: virtual keycode for non ascii keys - see VirtualKeyCodes in keycodes.h
modifiers: any combination of modifiers - see KeyModifier in keycodes.h
Returns
kResultTrue if the key is handled, otherwise kResultFalse.
Please note that kResultTrue must only be returned if the key has really been handled. Otherwise key command handling of the host might be blocked!

Implemented in Steinberg::CPluginView.

◆ onKeyUp()

virtual tresult PLUGIN_API Steinberg::IPlugView::onKeyUp ( char16 key,
int16 keyCode,
int16 modifiers )
pure virtual

Handling of keyboard events : Key Up.

Parameters
key: unicode code of key
keyCode: virtual keycode for non ascii keys - see VirtualKeyCodes in keycodes.h
modifiers: any combination of KeyModifier - see KeyModifier in keycodes.h
Returns
kResultTrue if the key is handled, otherwise return kResultFalse.

Implemented in Steinberg::CPluginView.

◆ onSize()

virtual tresult PLUGIN_API Steinberg::IPlugView::onSize ( ViewRect * newSize)
pure virtual

Resizes the platform representation of the view to the given rect. Note that if the plug-in requests a resize (IPlugFrame::resizeView ()) onSize has to be called afterward.

Implemented in Steinberg::CPluginView.

◆ onWheel()

virtual tresult PLUGIN_API Steinberg::IPlugView::onWheel ( float distance)
pure virtual

Handling of mouse wheel.

Implemented in Steinberg::CPluginView.

◆ removed()

virtual tresult PLUGIN_API Steinberg::IPlugView::removed ( )
pure virtual

The parent window of the view is about to be destroyed. You have to remove all your own views from the parent window or view.

Implemented in Steinberg::CPluginView.

◆ setFrame()

virtual tresult PLUGIN_API Steinberg::IPlugView::setFrame ( IPlugFrame * frame)
pure virtual

Sets IPlugFrame object to allow the plug-in to inform the host about resizing.

Implemented in Steinberg::CPluginView.

Member Data Documentation

◆ iid

const FUID Steinberg::IPlugView::iid
static

The documentation for this class was generated from the following file: