VSTGUI: COpenGLView Class Reference

VSTGUI 4.10 Graphical User Interface Framework not only for VST plugins

Public Member Functions | List of all members
COpenGLView Class Referenceabstract
New classes » Version 4.1

a subview which uses OpenGL for drawing More...

`#include <copenglview.h>`

Inheritance diagram for COpenGLView:

## Public Member Functions
| COpenGLView (const CRect &size)
| ~COpenGLView () noexcept override
void | drawOpenGL (const CRect &updateRect) override=0
| will be called when the view was marked invalid or the view was resized More...
void | reshape () override
void | setViewSize (const CRect &rect, bool invalid=true) override
| set views size More...
void | parentSizeChanged () override
| notification that one of the views parent has changed its 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...
void | invalidRect (const CRect &rect) override
| mark rect as invalid More...
void | setVisible (bool state) override
| set visibility state More...
void | onScaleFactorChanged (CFrame *frame, double newScaleFactor) override
CBaseObject * | newCopy () const override
Public Member Functions inherited from CView
| CView (const CRect &size)
| CView (const CView &view)
virtual void | dispatchEvent (Event &event)
| dispatch an event More...
virtual void | onMouseDownEvent (MouseDownEvent &event)
| called when a mouse down event occurs More...
virtual void | onMouseMoveEvent (MouseMoveEvent &event)
| called when a mouse move event occurs More...
virtual void | onMouseUpEvent (MouseUpEvent &event)
| called when a mouse up event occurs More...
virtual void | onMouseCancelEvent (MouseCancelEvent &event)
| called when mouse tracking should be canceled More...
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 | onMouseWheelEvent (MouseWheelEvent &event)
| called when a mouse wheel event occurs More...
virtual void | onZoomGestureEvent (ZoomGestureEvent &event)
| called when a zoom gesture event occurs 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
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 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...
virtual SharedPointer< IDropTarget > | getDropTarget ()
| get the drag target for drag and drop handling 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 CPoint & | frameToLocal (CPoint &point) const
| conversion from frame coordinates to local view coordinates More...
virtual CPoint & | localToFrame (CPoint &point) const
| conversion from local view coordinates to frame coordinates More...
virtual void | setAutosizeFlags (int32_t flags)
| set autosize flags More...
int32_t | getAutosizeFlags () const
| get autosize flags More...
virtual bool | sizeToFit ()
| resize view to optimal size More...
virtual void | looseFocus ()
| called if view should loose focus More...
virtual void | takeFocus ()
| called if view should take focus 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...
virtual VSTGUIEditorInterface * | getEditor () const
| get editor 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...
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 More...
virtual void | drawRect (CDrawContext *pContext, const CRect &updateRect)
| called if the view should draw itself More...
virtual bool | checkUpdate (const CRect &updateRect) const
virtual bool | isDirty () const
| check if view is dirty More...
virtual void | setDirty (bool val=true)
| set the view to dirty so that it is redrawn in the next idle. More...
virtual void | invalid ()
| mark whole view as invalid 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...
Public Member Functions inherited from IScaleFactorChangedListener
virtual | ~IScaleFactorChangedListener () noexcept=default
virtual void | onScaleFactorChanged (CFrame *frame, double newScaleFactor)=0

## COpenGLView Methods
virtual void | platformOpenGLViewCreated ()
| will be called after the platform opengl view was created More...
virtual void | platformOpenGLViewWillDestroy ()
| will be called before the platform opengl view will be destroyed More...
virtual void | platformOpenGLViewSizeChanged ()
| will be called whenever the platform opengl view size has changed More...
virtual PixelFormat * | getPixelFormat ()
| subclasses should return a pixelformat here if they don't want to use the default one More...
IPlatformOpenGLView * | getPlatformOpenGLView () const

## Additional Inherited Members
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 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 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

a subview which uses OpenGL for drawing

## Constructor & Destructor Documentation

## ◆ COpenGLView()

COpenGLView | ( | const CRect & | size | ) |
| explicit

## ◆ ~COpenGLView()

~COpenGLView | ( |  | ) |
| overridenoexcept

## Member Function Documentation

## ◆ 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.

## ◆ drawOpenGL()

void drawOpenGL | ( | const CRect & | updateRect | ) |
| overridepure virtual

will be called when the view was marked invalid or the view was resized

## ◆ getPixelFormat()

virtual PixelFormat * getPixelFormat | ( |  | ) |
| inlineprotectedvirtual

subclasses should return a pixelformat here if they don't want to use the default one

## ◆ getPlatformOpenGLView()

IPlatformOpenGLView * getPlatformOpenGLView | ( |  | ) | const
| inlineprotected

## ◆ invalidRect()

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

mark rect as invalid

Parameters

  rect | rect to invalidate

Reimplemented from CView.

## ◆ newCopy()

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

## ◆ onScaleFactorChanged()

void onScaleFactorChanged | ( | CFrame * | frame,
|  | double | newScaleFactor
| ) |  |
| overridevirtual

Implements IScaleFactorChangedListener.

## ◆ parentSizeChanged()

void parentSizeChanged | ( |  | ) |
| overridevirtual

notification that one of the views parent has changed its size

Reimplemented from CView.

## ◆ platformOpenGLViewCreated()

virtual void platformOpenGLViewCreated | ( |  | ) |
| inlineprotectedvirtual

will be called after the platform opengl view was created

## ◆ platformOpenGLViewSizeChanged()

virtual void platformOpenGLViewSizeChanged | ( |  | ) |
| inlineprotectedvirtual

will be called whenever the platform opengl view size has changed

## ◆ platformOpenGLViewWillDestroy()

virtual void platformOpenGLViewWillDestroy | ( |  | ) |
| inlineprotectedvirtual

will be called before the platform opengl view will be destroyed

## ◆ removed()

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

view is removed from parent view

Parameters

  parent | parent view

Returns
  true if view successfully removed from parent

Reimplemented from CView.

## ◆ reshape()

void reshape | ( |  | ) |
| override

## ◆ 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.

## ◆ setVisible()

void setVisible | ( | bool | state | ) |
| overridevirtual

set visibility state

Reimplemented from CView.

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

- copenglview.h
- copenglview.cpp