VSTGUI: CFrame Class Reference

VSTGUI 4.10 Graphical User Interface Framework not only for VST plugins

Classes | Public Member Functions | List of all members
CFrame Class Referencefinal
Views » Container Views

The CFrame is the parent container of all views. More...

`#include <cframe.h>`

Inheritance diagram for CFrame:

## Classes
struct | CollectInvalidRects
struct | Impl

## Public Member Functions
| CFrame (const CRect &size, VSTGUIEditorInterface *pEditor)
Public Member Functions inherited from CViewContainer
| CViewContainer (const CRect &size)
| CViewContainer constructor. More...
| CViewContainer (const CViewContainer &viewContainer)
bool | addView (CView *pView, const CRect &mouseableArea, bool mouseEnabled=true)
| add a child view More...
virtual bool | addView (CView *pView, CView *pBefore=nullptr)
| add a child view before another view More...
bool | isChild (CView *pView) const
| check if pView is a child view of this container More...
virtual bool | isChild (CView *pView, bool deep) const
| check if pView is a child view of this container More...
virtual bool | hasChildren () const
| check if container has child views More...
virtual uint32_t | getNbViews () const
| get the number of child views More...
virtual CView * | getView (uint32_t index) const
| get the child view at index More...
virtual bool | changeViewZOrder (CView *view, uint32_t newIndex)
| change view z order position More...
virtual void | setAutosizingEnabled (bool state)
| enable or disable autosizing subviews. More...
bool | getAutosizingEnabled () const
template<class ViewClass , class ContainerClass >
uint32_t | getChildViewsOfType (ContainerClass &result, bool deep=false) const
| get child views of type ViewClass. More...
template<typename Proc >
void | forEachChild (Proc proc) const
| execute proc for each child view More...
virtual void | setBackgroundColor (const CColor &color)
| set the background color (will only be drawn if this container is not set to transparent and does not have a background bitmap) More...
virtual CColor | getBackgroundColor () const
| get the background color More...
virtual void | setBackgroundOffset (const CPoint &p)
| set the offset of the background bitmap More...
virtual CPoint | getBackgroundOffset () const
| get the offset of the background bitmap More...
virtual void | drawBackgroundRect (CDrawContext *pContext, const CRect &_updateRect)
| draw the background More...
virtual void | setBackgroundColorDrawStyle (CDrawStyle style)
CDrawStyle | getBackgroundColorDrawStyle () const
virtual bool | invalidateDirtyViews ()
virtual CRect | getVisibleSize (const CRect &rect) const
void | setTransform (const CGraphicsTransform &t)
const CGraphicsTransform & | getTransform () const
void | registerViewContainerListener (IViewContainerListener *listener)
void | unregisterViewContainerListener (IViewContainerListener *listener)
void | draw (CDrawContext *pContext) override
void | drawRect (CDrawContext *pContext, const CRect &updateRect) override
void | onMouseDownEvent (MouseDownEvent &event) override
| called when a mouse down event occurs More...
void | onMouseMoveEvent (MouseMoveEvent &event) override
| called when a mouse move event occurs More...
void | onMouseUpEvent (MouseUpEvent &event) override
| called when a mouse up event occurs More...
void | onMouseCancelEvent (MouseCancelEvent &event) override
| called when mouse tracking should be canceled More...
void | onMouseWheelEvent (MouseWheelEvent &event) override
| called when a mouse wheel event occurs More...
void | onZoomGestureEvent (ZoomGestureEvent &event) override
| called when a zoom gesture event occurs More...
CMessageResult | notify (CBaseObject *sender, IdStringPtr message) override
bool | onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons) final
SharedPointer< IDropTarget > | getDropTarget () override
| get the drag target for drag and drop handling More...
void | looseFocus () override
| called if view should loose focus More...
void | takeFocus () override
| called if view should take focus More...
bool | isDirty () const override
| check if view is dirty More...
void | invalid () override
| mark whole view as invalid More...
void | invalidRect (const CRect &rect) override
| mark rect as invalid More...
void | setViewSize (const CRect &rect, bool invalid=true) override
void | parentSizeChanged () override
| notification that one of the views parent has changed its size More...
bool | sizeToFit () override
| resize view to optimal size More...
bool | removed (CView *parent) override
| view is removed from parent view More...
bool | attached (CView *parent) override
| view is attached to a parent view More...
CPoint & | frameToLocal (CPoint &point) const override
| conversion from frame coordinates to local view coordinates More...
CPoint & | localToFrame (CPoint &point) const override
| conversion from local view coordinates to frame coordinates More...
CBaseObject * | newCopy () const override
CViewContainer * | asViewContainer () final
const CViewContainer * | asViewContainer () const final
Public Member Functions inherited from CView
| CView (const CRect &size)
| CView (const CView &view)
virtual void | onMouseEnterEvent (MouseEnterEvent &event)
| called when the mouse enters this view More...
virtual void | onMouseExitEvent (MouseExitEvent &event)
| called when the mouse leaves this view More...
virtual void | setMouseEnabled (bool bEnable=true)
| turn on/off mouse usage for this view More...
bool | getMouseEnabled () const
| get the state of wheather this view uses the mouse or not More...
virtual void | setMouseableArea (const CRect &rect)
| set the area in which the view reacts to the mouse More...
CRect | getMouseableArea () const
| get the area in which the view reacts to the mouse More...
virtual CMouseEventResult | onMouseDown (CPoint &where, const CButtonState &buttons)
| do not use any longer. More...
virtual CMouseEventResult | onMouseUp (CPoint &where, const CButtonState &buttons)
| do not use any longer. More...
virtual CMouseEventResult | onMouseMoved (CPoint &where, const CButtonState &buttons)
| do not use any longer. More...
virtual CMouseEventResult | onMouseCancel ()
| do not use any longer. More...
virtual CMouseEventResult | onMouseEntered (CPoint &where, const CButtonState &buttons)
| do not use any longer. More...
virtual CMouseEventResult | onMouseExited (CPoint &where, const CButtonState &buttons)
| do not use any longer. More...
virtual bool | onWheel (const CPoint &where, const float &distance, const CButtonState &buttons) final
CRect & | getMouseableArea (CRect &rect) const
| get the area in which the view reacts to the mouse More...
void | setHitTestPath (CGraphicsPath *path)
virtual bool | hitTest (const CPoint &where, const Event &event=noEvent())
| check if where hits this view More...
virtual bool | hitTest (const CPoint &where, const CButtonState &buttons)
bool | doDrag (const DragDescription &dragDescription, const SharedPointer< IDragCallback > &callback={})
| start a drag operation More...
void | setDropTarget (const SharedPointer< IDropTarget > &dt)
| set a custom drop target More...
DragResult | doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=nullptr)
| a drag can only be started from within onMouseDown More...
virtual void | onKeyboardEvent (KeyboardEvent &event)
| called when a keyboard event is dispatched to this view More...
virtual int32_t | onKeyDown (VstKeyCode &keyCode)
| called if a key down event occurs and this view has focus More...
virtual int32_t | onKeyUp (VstKeyCode &keyCode)
| called if a key up event occurs and this view has focus More...
CCoord | getHeight () const
| get the height of the view More...
CCoord | getWidth () const
| get the width of the view More...
const CRect & | getViewSize () const
| read only access to view size More...
virtual CRect | getVisibleViewSize () const
| returns the visible size of the view More...
virtual void | setAutosizeFlags (int32_t flags)
| set autosize flags More...
int32_t | getAutosizeFlags () const
| get autosize flags More...
virtual bool | wantsFocus () const
| check if view supports focus More...
virtual void | setWantsFocus (bool state)
| set focus support on/off More...
bool | getAttributeSize (const CViewAttributeID id, uint32_t &outSize) const
| get the size of an attribute More...
bool | getAttribute (const CViewAttributeID id, const uint32_t inSize, void *outData, uint32_t &outSize) const
| get an attribute More...
bool | setAttribute (const CViewAttributeID id, const uint32_t inSize, const void *inData)
| set an attribute More...
bool | removeAttribute (const CViewAttributeID id)
| remove an attribute More...
template<typename T >
bool | setAttribute (const CViewAttributeID id, const T &data)
| set an attribute More...
template<typename T >
bool | getAttribute (const CViewAttributeID id, T &data) const
| get an attribute More...
virtual void | setBackground (CBitmap *background)
| set the background image of this view More...
CBitmap * | getBackground () const
| get the background image of this view More...
virtual void | setDisabledBackground (CBitmap *background)
| set background image used when the mouse is not enabled More...
CBitmap * | getDisabledBackground () const
| get background image used when the mouse is not enabled More...
CBitmap * | getDrawBackground () const
| get the bitmap which is drawn depending on the enabled state. More...
virtual void | setTransparency (bool val)
| set views transparent state More...
bool | getTransparency () const
| get views transparent state More...
virtual void | setAlphaValue (float alpha)
| set alpha value which will be applied when drawing this view More...
float | getAlphaValue () const
| get alpha value More...
bool | isAttached () const
| is view attached to a parentView More...
void | setSubviewState (bool state)
bool | isSubview () const
CView * | getParentView () const
| get parent view More...
CFrame * | getFrame () const
| get frame More...
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 More...
template<typename T >
T & | translateToGlobal (T &t, bool ignoreFrame=false) const
| translates a local coordinate to a global one using parent transforms More...
template<typename T >
T | translateToGlobal (const T &t, bool ignoreFrame=false) const
| translates a local coordinate to a global one using parent transforms More...
template<typename T >
T & | translateToLocal (T &t, bool ignoreFrame=false) const
| translates a global coordinate to a local one using parent transforms More...
template<typename T >
T | translateToLocal (const T &t, bool ignoreFrame=false) const
| translates a local coordinate to a global one using parent transforms More...
CMouseEventResult | callMouseListener (MouseListenerCall type, CPoint pos, CButtonState buttons)
void | callMouseListenerEnteredExited (bool mouseEntered)
CBaseObject * | newCopy () const override
virtual bool | checkUpdate (const CRect &updateRect) const
virtual void | setDirty (bool val=true)
| set the view to dirty so that it is redrawn in the next idle. More...
virtual void | setVisible (bool state)
| set visibility state More...
bool | isVisible () const
| get visibility state More...
virtual void | onIdle ()
| called on idle when view wants idle More...
void | setWantsIdle (bool state)
| enable/disable onIdle() callback More...
bool | wantsIdle () const
| returns if the view wants idle callback or not More...
virtual bool | wantsWindowActiveStateChangeNotification () const
| whether this view wants to be informed if the window's active state changes More...
virtual void | onWindowActivate (bool state)
| called when the active state of the window changes More...
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< T >
| ReferenceCounted ()=default
virtual | ~ReferenceCounted () noexcept=default
| ReferenceCounted (const ReferenceCounted &)
ReferenceCounted & | operator= (const ReferenceCounted &)
void | forget () override
| decrease refcount and delete object if refcount == 0 More...
void | remember () override
| increase refcount More...
virtual int32_t | getNbReference () const
| get refcount More...
virtual void | forget ()=0
| decrease refcount and delete object if refcount == 0 More...
virtual void | remember ()=0
| increase refcount More...

## Focus Drawing Methods [new in 4.0]
If focus drawing is enabled, the focus view will get a focus ring around it defined with the focus width and the focus color. Views can define their own shape with the IFocusDrawing interface.
using | EventProcessingFunction = std::function< void()>
void | setFocusDrawingEnabled (bool state)
| enable focus drawing More...
bool | focusDrawingEnabled () const
| is focus drawing enabled More...
void | setFocusColor (const CColor &color)
| set focus draw color More...
CColor | getFocusColor () const
| get focus draw color More...
void | setFocusWidth (CCoord width)
| set focus draw width More...
CCoord | getFocusWidth () const
| get focus draw width More...
bool | doAfterEventProcessing (EventProcessingFunction &&func)
| Queue a function which will be executed after the current event was handled. More...
bool | doAfterEventProcessing (const EventProcessingFunction &func)
| Queue a function which will be executed after the current event was handled. More...
bool | inEventProcessing () const
| Returns true if an event is currently being processed. More...
void | onStartLocalEventLoop ()
bool | performDrag (const DragDescription &desc, const SharedPointer< IDragCallback > &callback)
void | invalid () override
| mark whole view as invalid More...
void | invalidRect (const CRect &rect) override
| mark rect as invalid More...
bool | removeView (CView *pView, bool withForget=true) override
| remove a child view More...
bool | removeAll (bool withForget=true) override
| remove all child views More...
CView * | getViewAt (const CPoint &where, const GetViewOptions &options=GetViewOptions()) const override
| get the view at point where More...
CViewContainer * | getContainerAt (const CPoint &where, const GetViewOptions &options=GetViewOptions().deep()) const override
| get the container at point where More...
bool | getViewsAt (const CPoint &where, ViewList &views, const GetViewOptions &options=GetViewOptions().deep()) const override
| get all views at point where, top->down More...
bool | hitTestSubViews (const CPoint &where, const Event &event) override
CPoint & | frameToLocal (CPoint &point) const override
| conversion from frame coordinates to local view coordinates More...
CPoint & | localToFrame (CPoint &point) const override
| conversion from local view coordinates to frame coordinates More...
bool | attached (CView *parent) override
| view is attached to a parent view More...
void | draw (CDrawContext *pContext) override
| called if the view should draw itself More...
void | drawRect (CDrawContext *pContext, const CRect &updateRect) override
| called if the view should draw itself More...
void | setViewSize (const CRect &rect, bool invalid=true) override
| set views size More...
void | dispatchEvent (Event &event) override
| dispatch an event More...
VSTGUIEditorInterface * | getEditor () const override
| get editor More...
IPlatformFrame * | getPlatformFrame () const
CBaseObject * | newCopy () const override
| CFrame (const CFrame &)=delete
| ~CFrame () noexcept override=default
void | beforeDelete () override
void | checkMouseViews (const MouseEvent &event)
void | clearMouseViews (const CPoint &where, Modifiers modifiers, bool callMouseExit=true)
void | removeFromMouseViews (CView *view)
void | setCollectInvalidRects (CollectInvalidRects *collectInvalidRects)
void | dispatchKeyboardEventToHooks (KeyboardEvent &event)
void | callMouseObserverMouseEntered (CView *view)
void | callMouseObserverMouseExited (CView *view)
void | callMouseObserverOtherMouseEvent (MouseEvent &event)
void | dispatchNewScaleFactor (double newScaleFactor)
void | platformDrawRects (const PlatformGraphicsDeviceContextPtr &context, double scaleFactor, const std::vector< CRect > &rects) override
void | platformOnEvent (Event &event) override
DragOperation | platformOnDragEnter (DragEventData data) override
DragOperation | platformOnDragMove (DragEventData data) override
void | platformOnDragLeave (DragEventData data) override
bool | platformOnDrop (DragEventData data) override
void | platformOnActivate (bool state) override
void | platformOnWindowActivate (bool state) override
void | platformScaleFactorChanged (double newScaleFactor) override

## CFrame Methods
static int32_t | kDefaultKnobMode = kCircularMode
| default knob mode if host does not provide one More...
bool | open (void *pSystemWindow, PlatformType systemWindowType=PlatformType::kDefaultNative, IPlatformFrameConfig *=nullptr)
void | close ()
| closes the frame and calls forget More...
bool | setZoom (double zoomFactor)
| set zoom factor More...
double | getZoom () const
| get zoom factor More...
void | setBitmapInterpolationQuality (BitmapInterpolationQuality quality)
| set interpolation quality for bitmaps More...
BitmapInterpolationQuality | getBitmapInterpolationQuality () const
| get interpolation quality for bitmaps More...
double | getScaleFactor () const
void | idle ()
uint64_t | getTicks () const
| get the current time (in ms) More...
int32_t | getKnobMode () const
| get hosts knob mode More...
bool | setPosition (CCoord x, CCoord y)
| repositions the frame More...
bool | getPosition (CCoord &x, CCoord &y) const
| get global position of frame More...
bool | setSize (CCoord width, CCoord height)
| set size of frame (and the platform representation) More...
bool | getSize (CRect *pSize) const
| get size relative to parent More...
bool | getSize (CRect &pSize) const
bool | setModalView (CView *pView)
| set a modal view. More...
CView * | getModalView () const
| get the currently active modal view or nullptr if there is none More...
Optional< ModalViewSessionID > | beginModalViewSession (CView *view)
| begin a new modal view session More...
bool | endModalViewSession (ModalViewSessionID session)
| end a modal view session More...
void | beginEdit (int32_t index)
void | endEdit (int32_t index)
bool | getCurrentMouseLocation (CPoint &where) const
| get current mouse location More...
CButtonState | getCurrentMouseButtons () const
| get current mouse buttons and key modifiers More...
void | setCursor (CCursorType type)
| set mouse cursor More...
void | setFocusView (CView *pView)
CView * | getFocusView () const
bool | advanceNextFocusView (CView *oldFocus, bool reverse=false) override
void | onViewAdded (CView *pView)
void | onViewRemoved (CView *pView)
void | onActivate (bool state)
| called when the platform view/window is activated/deactivated More...
void | invalidate (const CRect &rect)
void | scrollRect (const CRect &src, const CPoint &distance)
| scroll src rect by distance More...
void | enableTooltips (bool state, uint32_t delayTimeInMs=1000)
| enable or disable tooltips More...
Animation::Animator * | getAnimator ()
| get animator for this frame More...
SharedPointer< IDataPackage > | getClipboard ()
| get the clipboard data. More...
void | setClipboard (const SharedPointer< IDataPackage > &data)
| set the clipboard data. More...
IViewAddedRemovedObserver * | getViewAddedRemovedObserver () const
void | setViewAddedRemovedObserver (IViewAddedRemovedObserver *observer)
void | registerKeyboardHook (IKeyboardHook *hook)
| register a keyboard hook More...
void | unregisterKeyboardHook (IKeyboardHook *hook)
| unregister a keyboard hook More...
void | registerMouseObserver (IMouseObserver *observer)
| register a mouse observer More...
void | unregisterMouseObserver (IMouseObserver *observer)
| unregister a mouse observer More...
void | registerScaleFactorChangedListeneer (IScaleFactorChangedListener *listener)
void | unregisterScaleFactorChangedListeneer (IScaleFactorChangedListener *listener)
void | registerScaleFactorChangedListener (IScaleFactorChangedListener *listener)
void | unregisterScaleFactorChangedListener (IScaleFactorChangedListener *listener)
void | registerFocusViewObserver (IFocusViewObserver *observer)
void | unregisterFocusViewObserver (IFocusViewObserver *observer)

## Additional Inherited Members
Public Types inherited from CViewContainer
using | ViewList = std::list< SharedPointer< CView > >
using | ChildViewConstIterator = ViewList::const_iterator
using | ChildViewConstReverseIterator = ViewList::const_reverse_iterator
Public Types inherited from CView
enum class | MouseListenerCall { MouseDown , MouseMoved , MouseUp , MouseCancel }
Static Public Attributes inherited from CView
static bool | kDirtyCallAlwaysOnMainThread = false
| if this is true, setting a view dirty will call invalid() instead of checking it in idle. More...
static uint32_t | idleRate = 30
| global idle rate in Hz, defaults to 30 Hz More...
Protected Types inherited from CViewContainer
enum | { kAutosizeSubviews = 1 << (CView::kLastCViewFlag + 1) }
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 }
Protected Member Functions inherited from CViewContainer
| ~CViewContainer () noexcept override
void | beforeDelete () override
virtual bool | checkUpdateRect (CView *view, const CRect &rect)
| check if view needs to be updated for rect More...
void | setMouseDownView (CView *view)
CView * | getMouseDownView () const
const ViewList & | getChildren () const
Protected Member Functions inherited from CView
| ~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

The CFrame is the parent container of all views.

It creates a platform dependend view object.

On Mac OS X it is a HIView or NSView.
On Windows it's a WS_CHILD Window.

## Member Typedef Documentation

## ◆ EventProcessingFunction

using EventProcessingFunction = std::function<void ()>

## Constructor & Destructor Documentation

## ◆ CFrame() [1/2]

CFrame | ( | const CRect & | size,
|  | VSTGUIEditorInterface * | pEditor
| ) |  |

## ◆ CFrame() [2/2]

CFrame | ( | const CFrame & |  | ) |
| protecteddelete

## ◆ ~CFrame()

~CFrame | ( |  | ) |
| overrideprotecteddefaultnoexcept

## Member Function Documentation

## ◆ advanceNextFocusView()

bool advanceNextFocusView | ( | CView * | oldFocus,
|  | bool | reverse = `false`
| ) |  |
| overridevirtual

Parameters

  oldFocus | old focus view
  reverse | search order

Returns
  true on success

Reimplemented from CViewContainer.

## ◆ attached()

bool attached | ( | CView * | parent | ) |
| overridevirtual

view is attached to a parent view

Parameters

  parent | parent view

Returns
  true if view successfully attached to parent

Reimplemented from CView.

## ◆ beforeDelete()

void beforeDelete | ( |  | ) |
| overrideprotectedvirtual

Reimplemented from ReferenceCounted< T >.

## ◆ beginEdit()

void beginEdit | ( | int32_t | index | ) |

## ◆ beginModalViewSession()

Optional< ModalViewSessionID > beginModalViewSession | ( | CView * | view | ) |

begin a new modal view session

A modal view session is active until endModalViewSession is called and in that time all UI events are only dispatched to the modal view or its child views. Modal view sessions can be stacked but must be ended in the same order.

Parameters

  view | new modal view (ownership is transfered to frame, the same as addView)

Returns
  a unique session identifier

## ◆ callMouseObserverMouseEntered()

void callMouseObserverMouseEntered | ( | CView * | view | ) |
| protected

## ◆ callMouseObserverMouseExited()

void callMouseObserverMouseExited | ( | CView * | view | ) |
| protected

## ◆ callMouseObserverOtherMouseEvent()

void callMouseObserverOtherMouseEvent | ( | MouseEvent & | event | ) |
| protected

## ◆ checkMouseViews()

void checkMouseViews | ( | const MouseEvent & | event | ) |
| protected

## ◆ clearMouseViews()

void clearMouseViews | ( | const CPoint & | where,
|  | Modifiers | modifiers,
|  | bool | callMouseExit = `true`
| ) |  |
| protected

## ◆ close()

void close | ( |  | ) |

closes the frame and calls forget

## ◆ dispatchEvent()

void dispatchEvent | ( | Event & | event | ) |
| overridevirtual

dispatch an event

the event is then dispatched to the event listeners and then to one of the event methods.

Reimplemented from CView.

## ◆ dispatchKeyboardEventToHooks()

void dispatchKeyboardEventToHooks | ( | KeyboardEvent & | event | ) |
| protected

## ◆ dispatchNewScaleFactor()

void dispatchNewScaleFactor | ( | double | newScaleFactor | ) |
| protected

## ◆ doAfterEventProcessing() [1/2]

bool doAfterEventProcessing | ( | const EventProcessingFunction & | func | ) |

Queue a function which will be executed after the current event was handled.

Only allowed when inEventProcessing () is true

Parameters

  func | Function to execute

Returns
  true if the function was added to the execution queue

## ◆ doAfterEventProcessing() [2/2]

bool doAfterEventProcessing | ( | EventProcessingFunction && | func | ) |

Queue a function which will be executed after the current event was handled.

Only allowed when inEventProcessing () is true

Parameters

  func | Function to execute

Returns
  true if the function was added to the execution queue

## ◆ draw()

void draw | ( | CDrawContext * | pContext | ) |
| overridevirtual

called if the view should draw itself

Parameters

  pContext | draw context in which to draw

Reimplemented from CView.

## ◆ drawRect()

void drawRect | ( | CDrawContext * | pContext,
|  | const CRect & | updateRect
| ) |  |
| overridevirtual

called if the view should draw itself

Reimplemented from CView.

## ◆ enableTooltips()

void enableTooltips | ( | bool | state,
|  | uint32_t | delayTimeInMs = `1000`
| ) |  |

enable or disable tooltips

## ◆ endEdit()

void endEdit | ( | int32_t | index | ) |

## ◆ endModalViewSession()

bool endModalViewSession | ( | ModalViewSessionID | session | ) |

end a modal view session

Parameters

  session | a session identifer

Returns
  true on success

## ◆ focusDrawingEnabled()

bool focusDrawingEnabled | ( |  | ) | const

is focus drawing enabled

## ◆ frameToLocal()

CPoint & frameToLocal | ( | CPoint & | point | ) | const
| inlineoverridevirtual

conversion from frame coordinates to local view coordinates

Parameters

  point | location

Returns
  converted point

Reimplemented from CView.

## ◆ getAnimator()

Animation::Animator * getAnimator | ( |  | ) |

get animator for this frame

## ◆ getBitmapInterpolationQuality()

BitmapInterpolationQuality getBitmapInterpolationQuality | ( |  | ) | const

get interpolation quality for bitmaps

## ◆ getClipboard()

SharedPointer< IDataPackage > getClipboard | ( |  | ) |

get the clipboard data.

data is owned by the caller

## ◆ getContainerAt()

CViewContainer * getContainerAt | ( | const CPoint & | p,
|  | const GetViewOptions & | options = `GetViewOptions ().deep ()`
| ) |  | const
| overridevirtual

get the container at point where

Parameters

  p | location
  options | search search options

Returns
  view container at position p or null

Reimplemented from CViewContainer.

## ◆ getCurrentMouseButtons()

CButtonState getCurrentMouseButtons | ( |  | ) | const

get current mouse buttons and key modifiers

Returns
  mouse and modifier state

## ◆ getCurrentMouseLocation()

bool getCurrentMouseLocation | ( | CPoint & | where | ) | const

get current mouse location

Parameters

  where | location of mouse

Returns
  true on success

## ◆ getEditor()

VSTGUIEditorInterface * getEditor | ( |  | ) | const
| overridevirtual

get editor

Reimplemented from CView.

## ◆ getFocusColor()

CColor getFocusColor | ( |  | ) | const

get focus draw color

## ◆ getFocusView()

CView * getFocusView | ( |  | ) | const

## ◆ getFocusWidth()

CCoord getFocusWidth | ( |  | ) | const

get focus draw width

## ◆ getKnobMode()

int32_t getKnobMode | ( |  | ) | const

get hosts knob mode

## ◆ getModalView()

CView * getModalView | ( |  | ) | const

get the currently active modal view or nullptr if there is none

## ◆ getPlatformFrame()

IPlatformFrame * getPlatformFrame | ( |  | ) | const

## ◆ getPosition()

bool getPosition | ( | CCoord & | x,
|  | CCoord & | y
| ) |  | const

get global position of frame

Parameters

  x | x coordinate
  y | y coordinate

Returns
  true on success

## ◆ getScaleFactor()

double getScaleFactor | ( |  | ) | const

## ◆ getSize() [1/2]

bool getSize | ( | CRect & | pSize | ) | const

## ◆ getSize() [2/2]

bool getSize | ( | CRect * | pRect | ) | const

get size relative to parent

Parameters

  pRect | size

Returns
  true on success

## ◆ getTicks()

uint64_t getTicks | ( |  | ) | const

get the current time (in ms)

Returns
  tick count in milliseconds

## ◆ getViewAddedRemovedObserver()

IViewAddedRemovedObserver * getViewAddedRemovedObserver | ( |  | ) | const

## ◆ getViewAt()

CView * getViewAt | ( | const CPoint & | p,
|  | const GetViewOptions & | options = `GetViewOptions ()`
| ) |  | const
| overridevirtual

get the view at point where

Parameters

  p | location
  options | search options

Returns
  view at position p or null

Reimplemented from CViewContainer.

## ◆ getViewsAt()

bool getViewsAt | ( | const CPoint & | p,
|  | ViewList & | views,
|  | const GetViewOptions & | options = `GetViewOptions ().deep ()`
| ) |  | const
| overridevirtual

get all views at point where, top->down

Parameters

  p | location
  views | result list
  options | search options

Returns
  success

Reimplemented from CViewContainer.

## ◆ getZoom()

double getZoom | ( |  | ) | const

get zoom factor

## ◆ hitTestSubViews()

bool hitTestSubViews | ( | const CPoint & | where,
|  | const Event & | event
| ) |  |
| overridevirtual

Parameters

  where | point
  event | current event

Returns
  true if any sub view accepts the hit

Reimplemented from CViewContainer.

## ◆ idle()

void idle | ( |  | ) |

## ◆ inEventProcessing()

bool inEventProcessing | ( |  | ) | const

Returns true if an event is currently being processed.

## ◆ invalid()

void invalid | ( |  | ) |
| inlineoverridevirtual

mark whole view as invalid

Reimplemented from CView.

## ◆ invalidate()

void invalidate | ( | const CRect & | rect | ) |

## ◆ invalidRect()

void invalidRect | ( | const CRect & | rect | ) |
| overridevirtual

mark rect as invalid

Parameters

  rect | rect to invalidate

Reimplemented from CView.

## ◆ localToFrame()

CPoint & localToFrame | ( | CPoint & | point | ) | const
| inlineoverridevirtual

conversion from local view coordinates to frame coordinates

Parameters

  point | location

Returns
  converted point

Reimplemented from CView.

## ◆ newCopy()

CBaseObject * newCopy | ( |  | ) | const
| inlineoverride

## ◆ onActivate()

void onActivate | ( | bool | state | ) |

called when the platform view/window is activated/deactivated

## ◆ onStartLocalEventLoop()

void onStartLocalEventLoop | ( |  | ) |

## ◆ onViewAdded()

void onViewAdded | ( | CView * | pView | ) |

Parameters

  pView | view which was added

## ◆ onViewRemoved()

void onViewRemoved | ( | CView * | pView | ) |

Parameters

  pView | view which was removed

## ◆ open()

bool open | ( | void * | pSystemWindow,
|  | PlatformType | systemWindowType = `PlatformType::kDefaultNative`,
|  | IPlatformFrameConfig * | config = `nullptr`
| ) |  |

## ◆ performDrag()

bool performDrag | ( | const DragDescription & | desc,
|  | const SharedPointer< IDragCallback > & | callback
| ) |  |

## ◆ platformDrawRects()

void platformDrawRects | ( | const PlatformGraphicsDeviceContextPtr & | context,
|  | double | scaleFactor,
|  | const std::vector< CRect > & | rects
| ) |  |
| overrideprotected

## ◆ platformOnActivate()

void platformOnActivate | ( | bool | state | ) |
| overrideprotected

## ◆ platformOnDragEnter()

DragOperation platformOnDragEnter | ( | DragEventData | data | ) |
| overrideprotected

## ◆ platformOnDragLeave()

void platformOnDragLeave | ( | DragEventData | data | ) |
| overrideprotected

## ◆ platformOnDragMove()

DragOperation platformOnDragMove | ( | DragEventData | data | ) |
| overrideprotected

## ◆ platformOnDrop()

bool platformOnDrop | ( | DragEventData | data | ) |
| overrideprotected

## ◆ platformOnEvent()

void platformOnEvent | ( | Event & | event | ) |
| overrideprotected

## ◆ platformOnWindowActivate()

void platformOnWindowActivate | ( | bool | state | ) |
| overrideprotected

## ◆ platformScaleFactorChanged()

void platformScaleFactorChanged | ( | double | newScaleFactor | ) |
| overrideprotected

## ◆ registerFocusViewObserver()

void registerFocusViewObserver | ( | IFocusViewObserver * | observer | ) |

## ◆ registerKeyboardHook()

void registerKeyboardHook | ( | IKeyboardHook * | hook | ) |

register a keyboard hook

## ◆ registerMouseObserver()

void registerMouseObserver | ( | IMouseObserver * | observer | ) |

register a mouse observer

## ◆ registerScaleFactorChangedListeneer()

void registerScaleFactorChangedListeneer | ( | IScaleFactorChangedListener * | listener | ) |
| inline

## ◆ registerScaleFactorChangedListener()

void registerScaleFactorChangedListener | ( | IScaleFactorChangedListener * | listener | ) |

## ◆ removeAll()

bool removeAll | ( | bool | withForget = `true` | ) |
| overridevirtual

remove all child views

Parameters

  withForget | bool to indicate if the view's reference counter should be decreased after removed from the container

Returns
  true on success

Reimplemented from CViewContainer.

## ◆ removeFromMouseViews()

void removeFromMouseViews | ( | CView * | view | ) |
| protected

## ◆ removeView()

bool removeView | ( | CView * | pView,
|  | bool | withForget = `true`
| ) |  |
| overridevirtual

remove a child view

Parameters

  pView | the view which should be removed from the container
  withForget | bool to indicate if the view's reference counter should be decreased after removed from the container

Returns
  true on success

Reimplemented from CViewContainer.

## ◆ scrollRect()

void scrollRect | ( | const CRect & | src,
|  | const CPoint & | distance
| ) |  |

scroll src rect by distance

Parameters

  src | rect which to scroll
  distance | point of distance

## ◆ setBitmapInterpolationQuality()

void setBitmapInterpolationQuality | ( | BitmapInterpolationQuality | quality | ) |

set interpolation quality for bitmaps

## ◆ setClipboard()

void setClipboard | ( | const SharedPointer< IDataPackage > & | data | ) |

set the clipboard data.

## ◆ setCollectInvalidRects()

void setCollectInvalidRects | ( | CollectInvalidRects * | collectInvalidRects | ) |
| protected

## ◆ setCursor()

void setCursor | ( | CCursorType | type | ) |

set mouse cursor

Parameters

  type | cursor type see CCursorType

## ◆ setFocusColor()

void setFocusColor | ( | const CColor & | color | ) |

set focus draw color

## ◆ setFocusDrawingEnabled()

void setFocusDrawingEnabled | ( | bool | state | ) |

enable focus drawing

## ◆ setFocusView()

void setFocusView | ( | CView * | pView | ) |

Parameters

  pView | new focus view

## ◆ setFocusWidth()

void setFocusWidth | ( | CCoord | width | ) |

set focus draw width

## ◆ setModalView()

bool setModalView | ( | CView * | pView | ) |

set a modal view.

deprecated use beginModalViewSession instead

Parameters

  pView | the view which should be set to modal.

Returns
  true if view could be set as the modal view. false if there is a already a modal view or the view to be set as modal is already attached.

## ◆ setPosition()

bool setPosition | ( | CCoord | x,
|  | CCoord | y
| ) |  |

repositions the frame

Parameters

  x | x coordinate
  y | y coordinate

Returns
  true on success

## ◆ setSize()

bool setSize | ( | CCoord | width,
|  | CCoord | height
| ) |  |

set size of frame (and the platform representation)

Parameters

  width | new width
  height | new height

Returns
  true on success

## ◆ setViewAddedRemovedObserver()

void setViewAddedRemovedObserver | ( | IViewAddedRemovedObserver * | observer | ) |

## ◆ setViewSize()

void setViewSize | ( | const CRect & | newSize,
|  | bool | doInvalid = `true`
| ) |  |
| overridevirtual

set views size

Parameters

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

Reimplemented from CView.

## ◆ setZoom()

bool setZoom | ( | double | zoomFactor | ) |

set zoom factor

## ◆ unregisterFocusViewObserver()

void unregisterFocusViewObserver | ( | IFocusViewObserver * | observer | ) |

## ◆ unregisterKeyboardHook()

void unregisterKeyboardHook | ( | IKeyboardHook * | hook | ) |

unregister a keyboard hook

## ◆ unregisterMouseObserver()

void unregisterMouseObserver | ( | IMouseObserver * | observer | ) |

unregister a mouse observer

## ◆ unregisterScaleFactorChangedListeneer()

void unregisterScaleFactorChangedListeneer | ( | IScaleFactorChangedListener * | listener | ) |
| inline

## ◆ unregisterScaleFactorChangedListener()

void unregisterScaleFactorChangedListener | ( | IScaleFactorChangedListener * | listener | ) |

## Member Data Documentation

## ◆ kDefaultKnobMode

int32_t kDefaultKnobMode = kCircularMode
| static

default knob mode if host does not provide one

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

- cframe.h
- cframe.cpp