VSTGUI
4.10
Graphical User Interface Framework not only for VST plugins
|
interface for embedding views from external view systems More...
Public Types | |
using | TookFocusCallback = std::function< void()> |
Public Member Functions | |
virtual | ~IView () noexcept=default |
virtual bool | platformViewTypeSupported (PlatformViewType type)=0 |
check if the view supports the platform view type | |
virtual bool | attach (void *parent, PlatformViewType parentViewType)=0 |
attach the view to the parent | |
virtual bool | remove ()=0 |
remove the view from its parent | |
virtual void | setViewSize (IntRect frame, IntRect visible)=0 |
set the size and position of the view | |
virtual void | setContentScaleFactor (double scaleFactor)=0 |
set the scale factor in use | |
virtual void | setMouseEnabled (bool state)=0 |
enable or disable mouse handling for the view | |
virtual void | takeFocus ()=0 |
the view should take focus | |
virtual void | looseFocus ()=0 |
the view should loose focus | |
virtual void | setTookFocusCallback (const TookFocusCallback &callback)=0 |
a callback the embedder sets on the view to get notified when the view took focus | |
interface for embedding views from external view systems
using TookFocusCallback = std::function<void ()> |
|
virtualdefaultnoexcept |
|
pure virtual |
attach the view to the parent
Implemented in ViewAdapter.
|
pure virtual |
the view should loose focus
Implemented in ViewAdapter.
|
pure virtual |
check if the view supports the platform view type
Implemented in ViewAdapter.
|
pure virtual |
remove the view from its parent
Implemented in ViewAdapter.
|
pure virtual |
set the scale factor in use
Implemented in ViewAdapter.
|
pure virtual |
enable or disable mouse handling for the view
Implemented in ViewAdapter.
|
pure virtual |
a callback the embedder sets on the view to get notified when the view took focus
Implemented in ViewAdapter.
set the size and position of the view
the coordinate system for the parameters used are system native, this means on Windows the scale factor is already applied to the coordinates and on macOS they are not (as with all NSViews)
the visible rectangle is the rectangle clipped to all its parent views while the frame rectangle is the full size of the view if it would not be clipped. this way it is possible to support views inside of scroll views and the like. See the examples how this is done.
Implemented in ViewAdapter.
|
pure virtual |
the view should take focus
Implemented in ViewAdapter.