VSTGUI 4.10 Graphical User Interface Framework not only for VST plugins

Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
CExternalView Class Reference

View to embed non CView views into VSTGUI. More...

`#include <cexternalview.h>`

Inheritance diagram for CExternalView:

## Classes
struct | Impl

## Public Types
using | ExternalViewPtr = std::shared_ptr<ExternalView::IView>
enum class | MouseListenerCall { MouseDown , MouseMoved , MouseUp , MouseCancel }

## Public Member Functions
| CExternalView (const CRect &r, const ExternalViewPtr &view)
| ~CExternalView () noexcept
bool | attached (CView *parent) override
| view is attached to a parent view
bool | removed (CView *parent) override
| view is removed from parent view
void | takeFocus () override
| called if view should take focus
void | looseFocus () override
| called if view should loose focus
void | setViewSize (const CRect &rect, bool invalid=true) override
| set views size
void | parentSizeChanged () override
| notification that one of the views parent has changed its size
void | onScaleFactorChanged (CFrame *frame, double newScaleFactor) override
void | setMouseEnabled (bool enable=true) override
| turn on/off mouse usage for this view
ExternalView::IView * | getExternalView () const override
| returns the embedded view or nullptr if it has none
Public Member Functions inherited from CView
| CView (const CRect &size)
| CView (const CView &view)
virtual void | dispatchEvent (Event &event)
| dispatch an event
virtual void | onMouseDownEvent (MouseDownEvent &event)
| called when a mouse down event occurs
virtual void | onMouseMoveEvent (MouseMoveEvent &event)
| called when a mouse move event occurs
virtual void | onMouseUpEvent (MouseUpEvent &event)
| called when a mouse up event occurs
virtual void | onMouseCancelEvent (MouseCancelEvent &event)
| called when mouse tracking should be canceled
virtual void | onMouseEnterEvent (MouseEnterEvent &event)
| called when the mouse enters this view
virtual void | onMouseExitEvent (MouseExitEvent &event)
| called when the mouse leaves this view
virtual void | onMouseWheelEvent (MouseWheelEvent &event)
| called when a mouse wheel event occurs
virtual void | onZoomGestureEvent (ZoomGestureEvent &event)
| called when a zoom gesture event occurs
bool | getMouseEnabled () const
| get the state of wheather this view uses the mouse or not
virtual void | setMouseableArea (const CRect &rect)
| set the area in which the view reacts to the mouse
CRect | getMouseableArea () const
| get the area in which the view reacts to the mouse
virtual CMouseEventResult | onMouseDown (CPoint &where, const CButtonState &buttons)
| do not use any longer.
virtual CMouseEventResult | onMouseUp (CPoint &where, const CButtonState &buttons)
| do not use any longer.
virtual CMouseEventResult | onMouseMoved (CPoint &where, const CButtonState &buttons)
| do not use any longer.
virtual CMouseEventResult | onMouseCancel ()
| do not use any longer.
virtual CMouseEventResult | onMouseEntered (CPoint &where, const CButtonState &buttons)
| do not use any longer.
virtual CMouseEventResult | onMouseExited (CPoint &where, const CButtonState &buttons)
| do not use any longer.
virtual bool | onWheel (const CPoint &where, const float &distance, const CButtonState &buttons) final
virtual bool | onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons)
CRect & | getMouseableArea (CRect &rect) const
| get the area in which the view reacts to the mouse
void | setHitTestPath (CGraphicsPath *path)
virtual bool | hitTest (const CPoint &where, const Event &event=noEvent())
| check if where hits this view
virtual bool | hitTest (const CPoint &where, const CButtonState &buttons)
bool | doDrag (const DragDescription &dragDescription, const SharedPointer< IDragCallback > &callback={})
| start a drag operation
virtual SharedPointer< IDropTarget > | getDropTarget ()
| get the drag target for drag and drop handling
void | setDropTarget (const SharedPointer< IDropTarget > &dt)
| set a custom drop target
DragResult | doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=nullptr)
| a drag can only be started from within onMouseDown
virtual void | onKeyboardEvent (KeyboardEvent &event)
| called when a keyboard event is dispatched to this view
virtual int32_t | onKeyDown (VstKeyCode &keyCode)
| called if a key down event occurs and this view has focus
virtual int32_t | onKeyUp (VstKeyCode &keyCode)
| called if a key up event occurs and this view has focus
CCoord | getHeight () const
| get the height of the view
CCoord | getWidth () const
| get the width of the view
const CRect & | getViewSize () const
| read only access to view size
virtual CRect | getVisibleViewSize () const
| returns the visible size of the view
virtual CPoint & | frameToLocal (CPoint &point) const
| conversion from frame coordinates to local view coordinates
virtual CPoint & | localToFrame (CPoint &point) const
| conversion from local view coordinates to frame coordinates
virtual void | setAutosizeFlags (int32_t flags)
| set autosize flags
int32_t | getAutosizeFlags () const
| get autosize flags
virtual bool | sizeToFit ()
| resize view to optimal size
virtual bool | wantsFocus () const
| check if view supports focus
virtual void | setWantsFocus (bool state)
| set focus support on/off
bool | getAttributeSize (const CViewAttributeID id, uint32_t &outSize) const
| get the size of an attribute
bool | getAttribute (const CViewAttributeID id, const uint32_t inSize, void *outData, uint32_t &outSize) const
| get an attribute
bool | setAttribute (const CViewAttributeID id, const uint32_t inSize, const void *inData)
| set an attribute
bool | removeAttribute (const CViewAttributeID id)
| remove an attribute
template<typename T>
bool | setAttribute (const CViewAttributeID id, const T &data)
| set an attribute
template<typename T>
bool | getAttribute (const CViewAttributeID id, T &data) const
| get an attribute
virtual void | setBackground (CBitmap *background)
| set the background image of this view
CBitmap * | getBackground () const
| get the background image of this view
virtual void | setDisabledBackground (CBitmap *background)
| set background image used when the mouse is not enabled
CBitmap * | getDisabledBackground () const
| get background image used when the mouse is not enabled
CBitmap * | getDrawBackground () const
| get the bitmap which is drawn depending on the enabled state.
virtual void | setTransparency (bool val)
| set views transparent state
bool | getTransparency () const
| get views transparent state
virtual void | setAlphaValue (float alpha)
| set alpha value which will be applied when drawing this view
float | getAlphaValue () const
| get alpha value
bool | isAttached () const
| is view attached to a parentView
void | setSubviewState (bool state)
bool | isSubview () const
CView * | getParentView () const
| get parent view
CFrame * | getFrame () const
| get frame
virtual VSTGUIEditorInterface * | getEditor () const
| get editor
void | addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject)
void | addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, const Animation::DoneFunction &doneFunc=nullptr, bool callDoneOnCancel=false)
void | removeAnimation (IdStringPtr name)
void | removeAllAnimations ()
void | registerViewListener (IViewListener *listener)
void | unregisterViewListener (IViewListener *listener)
void | registerViewEventListener (IViewEventListener *listener)
void | unregisterViewEventListener (IViewEventListener *listener)
void | registerViewMouseListener (IViewMouseListener *listener)
void | unregisterViewMouseListener (IViewMouseListener *listener)
CGraphicsTransform | getGlobalTransform (bool ignoreFrame=false) const
| get the active global transform for this view
template<typename T>
T & | translateToGlobal (T &t, bool ignoreFrame=false) const
| translates a local coordinate to a global one using parent transforms
template<typename T>
T | translateToGlobal (const T &t, bool ignoreFrame=false) const
| translates a local coordinate to a global one using parent transforms
template<typename T>
T & | translateToLocal (T &t, bool ignoreFrame=false) const
| translates a global coordinate to a local one using parent transforms
template<typename T>
T | translateToLocal (const T &t, bool ignoreFrame=false) const
| translates a local coordinate to a global one using parent transforms
virtual CViewContainer * | asViewContainer ()
virtual const CViewContainer * | asViewContainer () const
CMouseEventResult | callMouseListener (MouseListenerCall type, CPoint pos, CButtonState buttons)
void | callMouseListenerEnteredExited (bool mouseEntered)
CMessageResult | notify (CBaseObject *sender, IdStringPtr message) override
void | beforeDelete () override
CBaseObject * | newCopy () const override
virtual void | draw (CDrawContext *pContext)
| called if the view should draw itself
virtual void | drawRect (CDrawContext *pContext, const CRect &updateRect)
| called if the view should draw itself
virtual bool | checkUpdate (const CRect &updateRect) const
virtual bool | isDirty () const
| check if view is dirty
virtual void | setDirty (bool val=true)
| set the view to dirty so that it is redrawn in the next idle.
virtual void | invalidRect (const CRect &rect)
| mark rect as invalid
virtual void | invalid ()
| mark whole view as invalid
virtual void | setVisible (bool state)
| set visibility state
bool | isVisible () const
| get visibility state
virtual void | onIdle ()
| called on idle when view wants idle
void | setWantsIdle (bool state)
| enable/disable onIdle() callback
bool | wantsIdle () const
| returns if the view wants idle callback or not
virtual bool | wantsWindowActiveStateChangeNotification () const
| whether this view wants to be informed if the window's active state changes
virtual void | onWindowActivate (bool state)
| called when the active state of the window changes
void | setTooltipText (UTF8StringPtr text)
Public Member Functions inherited from CBaseObject
| CBaseObject ()=default
| ~CBaseObject () noexcept override=default
| CBaseObject (const CBaseObject &)
CBaseObject & | operator= (const CBaseObject &)
Public Member Functions inherited from ReferenceCounted< int32_t >
| ReferenceCounted ()=default
virtual | ~ReferenceCounted () noexcept=default
| ReferenceCounted (const ReferenceCounted &)
ReferenceCounted & | operator= (const ReferenceCounted &)
| ReferenceCounted ()=default
| ReferenceCounted (const ReferenceCounted &)
virtual | ~ReferenceCounted () noexcept=default
ReferenceCounted & | operator= (const ReferenceCounted &)
void | forget () override
| decrease refcount and delete object if refcount == 0
void | remember () override
| increase refcount
virtual int32_t | getNbReference () const
| get refcount
void | forget () override
| decrease refcount and delete object if refcount == 0
void | remember () override
| increase refcount
virtual int32_t | getNbReference () const
| get refcount
Public Member Functions inherited from IScaleFactorChangedListener
virtual | ~IScaleFactorChangedListener () noexcept=default
Public Member Functions inherited from IViewEmbedder
virtual | ~IViewEmbedder () noexcept=default

## Additional Inherited Members
static bool | kDirtyCallAlwaysOnMainThread = false
| if this is true, setting a view dirty will call invalid() instead of checking it in idle.
static uint32_t | idleRate = 30
| global idle rate in Hz, defaults to 30 Hz
Protected Types inherited from CView
enum | { kMouseEnabled = 1 << 0 , kTransparencyEnabled = 1 << 1 , kWantsFocus = 1 << 2 , kIsAttached = 1 << 3 , kVisible = 1 << 4 , kDirty = 1 << 5 , kWantsIdle = 1 << 6 , kIsSubview = 1 << 7 , kHasAlpha = 1 << 8 , kHasBackground = 1 << 9 , kHasDisabledBackground = 1 << 10 , kHasMouseableArea = 1 << 11 , kLastCViewFlag = 11 }
| ~CView () noexcept override
CGraphicsPath * | getHitTestPath () const
bool | hasViewFlag (int32_t bit) const
void | setViewFlag (int32_t bit, bool state)
void | setAlphaValueNoInvalidate (float value)
void | setParentFrame (CFrame *frame)
void | setParentView (CView *parent)

## Detailed Description

View to embed non CView views into VSTGUI.

This view is the umbrella for views from other view systems (like HWND child windows or NSViews). The actual implementation for the external view must be done via ExternalView::IView

## Member Typedef Documentation

## ◆ ExternalViewPtr

using ExternalViewPtr = std::shared_ptr<ExternalView::IView>

## Constructor & Destructor Documentation

## ◆ CExternalView()

CExternalView | ( | const CRect & | r,
|  | const ExternalViewPtr & | view )

## ◆ ~CExternalView()

~CExternalView | ( |  | ) |
| noexcept

## Member Function Documentation

## ◆ attached()

bool attached | ( | CView * | parent | ) |
| override virtual

view is attached to a parent view

Parameters

  parent | parent view

Returns
  true if view successfully attached to parent

Reimplemented from CView.

## ◆ getExternalView()

ExternalView::IView * getExternalView | ( |  | ) | const
| override virtual

returns the embedded view or nullptr if it has none

Implements IViewEmbedder.

## ◆ looseFocus()

void looseFocus | ( |  | ) |
| override virtual

called if view should loose focus

Reimplemented from CView.

## ◆ onScaleFactorChanged()

void onScaleFactorChanged | ( | CFrame * | frame,
|  | double | newScaleFactor )
| override virtual

Implements IScaleFactorChangedListener.

## ◆ parentSizeChanged()

void parentSizeChanged | ( |  | ) |
| override virtual

notification that one of the views parent has changed its size

Reimplemented from CView.

## ◆ removed()

bool removed | ( | CView * | parent | ) |
| override virtual

view is removed from parent view

Parameters

  parent | parent view

Returns
  true if view successfully removed from parent

Reimplemented from CView.

## ◆ setMouseEnabled()

void setMouseEnabled | ( | bool | bEnable = true | ) |
| override virtual

turn on/off mouse usage for this view

Reimplemented from CView.

## ◆ setViewSize()

void setViewSize | ( | const CRect & | newSize,
|  | bool | doInvalid = true )
| override virtual

set views size

Parameters

  newSize | rect of new size of view
  doInvalid | if true set view dirty

Reimplemented from CView.

## ◆ takeFocus()

void takeFocus | ( |  | ) |
| override virtual

called if view should take focus

Reimplemented from CView.

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

- cexternalview.h
- cexternalview.cpp