LMMS
Loading...
Searching...
No Matches
Steinberg::CPluginView Class Reference

#include <pluginview.h>

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

Public Member Functions

 CPluginView (const ViewRect *rect=nullptr)
virtual ~CPluginView ()
const ViewRectgetRect () const
void setRect (const ViewRect &r)
bool isAttached () const
virtual void attachedToParent ()
virtual void removedFromParent ()
tresult PLUGIN_API isPlatformTypeSupported (FIDString type) SMTG_OVERRIDE
tresult PLUGIN_API attached (void *parent, FIDString type) SMTG_OVERRIDE
tresult PLUGIN_API removed () SMTG_OVERRIDE
tresult PLUGIN_API onWheel (float) SMTG_OVERRIDE
tresult PLUGIN_API onKeyDown (char16, int16, int16) SMTG_OVERRIDE
tresult PLUGIN_API onKeyUp (char16, int16, int16) SMTG_OVERRIDE
tresult PLUGIN_API getSize (ViewRect *size) SMTG_OVERRIDE
tresult PLUGIN_API onSize (ViewRect *newSize) SMTG_OVERRIDE
tresult PLUGIN_API onFocus (TBool) SMTG_OVERRIDE
tresult PLUGIN_API setFrame (IPlugFrame *frame) SMTG_OVERRIDE
tresult PLUGIN_API canResize () SMTG_OVERRIDE
tresult PLUGIN_API checkSizeConstraint (ViewRect *) SMTG_OVERRIDE
Public Member Functions inherited from Steinberg::FObject
 FObject ()
 default constructor...
 FObject (const FObject &)
 overloaded constructor...
virtual ~FObject ()
 destructor...
FObjectoperator= (const FObject &)
 overloads operator "=" as the reference assignment
virtual FClassID isA () const
 a local alternative to getFClassID ()
virtual bool isA (FClassID s) const
 evaluates if the passed ID is of the FObject type
virtual bool isTypeOf (FClassID s, bool=true) const
 evaluates if the passed ID is of the FObject type
int32 getRefCount ()
 returns the current interface reference count
FUnknownunknownCast ()
 get FUnknown interface from object
tresult PLUGIN_API queryInterface (const TUID _iid, void **obj) SMTG_OVERRIDE
 please refer to FUnknown::queryInterface ()
uint32 PLUGIN_API addRef () SMTG_OVERRIDE
 please refer to FUnknown::addref ()
uint32 PLUGIN_API release () SMTG_OVERRIDE
 please refer to FUnknown::release ()
void PLUGIN_API update (FUnknown *, int32) SMTG_OVERRIDE
 empty virtual method that should be overridden by derived classes for data updates upon changes
virtual void addDependent (IDependent *dep)
 adds dependency to the object
virtual void removeDependent (IDependent *dep)
 removes dependency from the object
virtual void changed (int32 msg=kChanged)
 Inform all dependents, that the object has changed.
virtual void deferUpdate (int32 msg=kChanged)
 Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates).
virtual void updateDone (int32)
 empty virtual method that should be overridden by derived classes
virtual bool isEqualInstance (FUnknown *d)

Protected Attributes

ViewRect rect
voidsystemWindow {nullptr}
IPlugFrameplugFrame {nullptr}
Protected Attributes inherited from Steinberg::FObject
int32 refCount
 COM-model local reference count.

Additional Inherited Members

Public Types inherited from Steinberg::IDependent
enum  ChangeMessage {
  kWillChange , kChanged , kDestroyed , kWillDestroy ,
  kStdChangeMessageLast = kWillDestroy
}
Static Public Member Functions inherited from Steinberg::FObject
static FClassID getFClassID ()
 return Class ID as an ASCII string (statically)
static void setUpdateHandler (IUpdateHandler *handler)
 set method for the local attribute
static IUpdateHandlergetUpdateHandler ()
 get method for the local attribute
static bool classIDsEqual (FClassID ci1, FClassID ci2)
 compares (evaluates) 2 class IDs
static FObjectunknownToObject (FUnknown *unknown)
 pointer conversion from FUnknown to FObject
Static Public Attributes inherited from Steinberg::FObject
static const FUID iid
Static Public Attributes inherited from Steinberg::IDependent
static const FUID iid
Static Public Attributes inherited from Steinberg::FUnknown
static const FUID iid
Static Public Attributes inherited from Steinberg::IPlugView
static const FUID iid
Static Protected Attributes inherited from Steinberg::FObject
static IUpdateHandlergUpdateHandler = nullptr

Detailed Description

Plug-In view default implementation.

Can be used as base class for an IPlugView implementation.

Constructor & Destructor Documentation

◆ CPluginView()

Steinberg::CPluginView::CPluginView ( const ViewRect * rect = nullptr)

◆ ~CPluginView()

Steinberg::CPluginView::~CPluginView ( )
virtual

Member Function Documentation

◆ attached()

tresult PLUGIN_API Steinberg::CPluginView::attached ( void * parent,
FIDString type )
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

Implements Steinberg::IPlugView.

◆ attachedToParent()

virtual void Steinberg::CPluginView::attachedToParent ( )
inlinevirtual

Calls when this view will be attached to its parent view.

Reimplemented in Steinberg::Vst::EditorView.

◆ canResize()

tresult PLUGIN_API Steinberg::CPluginView::canResize ( )
inlinevirtual

Is view sizable by user.

Implements Steinberg::IPlugView.

◆ checkSizeConstraint()

tresult PLUGIN_API Steinberg::CPluginView::checkSizeConstraint ( ViewRect * rect)
inlinevirtual

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.

Implements Steinberg::IPlugView.

◆ getRect()

const ViewRect & Steinberg::CPluginView::getRect ( ) const
inline

Returns its current frame rectangle.

◆ getSize()

tresult PLUGIN_API Steinberg::CPluginView::getSize ( ViewRect * size)
virtual

Returns the size of the platform representation of the view.

Implements Steinberg::IPlugView.

◆ isAttached()

bool Steinberg::CPluginView::isAttached ( ) const
inline

Checks if this view is attached to its parent view.

◆ isPlatformTypeSupported()

tresult PLUGIN_API Steinberg::CPluginView::isPlatformTypeSupported ( FIDString type)
virtual

Is Platform UI Type supported

Parameters
type: IDString of Platform UI Types

Implements Steinberg::IPlugView.

◆ onFocus()

tresult PLUGIN_API Steinberg::CPluginView::onFocus ( TBool state)
inlinevirtual

Focus changed message.

Implements Steinberg::IPlugView.

◆ onKeyDown()

tresult PLUGIN_API Steinberg::CPluginView::onKeyDown ( char16 key,
int16 keyCode,
int16 modifiers )
inlinevirtual

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!

Implements Steinberg::IPlugView.

◆ onKeyUp()

tresult PLUGIN_API Steinberg::CPluginView::onKeyUp ( char16 key,
int16 keyCode,
int16 modifiers )
inlinevirtual

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.

Implements Steinberg::IPlugView.

◆ onSize()

tresult PLUGIN_API Steinberg::CPluginView::onSize ( ViewRect * newSize)
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.

Implements Steinberg::IPlugView.

◆ onWheel()

tresult PLUGIN_API Steinberg::CPluginView::onWheel ( float distance)
inlinevirtual

Handling of mouse wheel.

Implements Steinberg::IPlugView.

◆ removed()

tresult PLUGIN_API Steinberg::CPluginView::removed ( )
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.

Implements Steinberg::IPlugView.

◆ removedFromParent()

virtual void Steinberg::CPluginView::removedFromParent ( )
inlinevirtual

Calls when this view will be removed from its parent view.

Reimplemented in Steinberg::Vst::EditorView.

◆ setFrame()

tresult PLUGIN_API Steinberg::CPluginView::setFrame ( IPlugFrame * frame)
inlinevirtual

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

Implements Steinberg::IPlugView.

◆ setRect()

void Steinberg::CPluginView::setRect ( const ViewRect & r)
inline

Sets a new frame rectangle.

Member Data Documentation

◆ plugFrame

IPlugFrame* Steinberg::CPluginView::plugFrame {nullptr}
protected

◆ rect

ViewRect Steinberg::CPluginView::rect
protected

◆ systemWindow

void* Steinberg::CPluginView::systemWindow {nullptr}
protected

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