VSTGUI  4.10
Graphical User Interface Framework not only for VST plugins
COpenGLView Class Referenceabstract

a subview which uses OpenGL for drawing More...

+ 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
 
CBaseObjectnewCopy () const override
 
- Public Member Functions inherited from CView
 CView (const CRect &size)
 
 CView (const CView &view)
 
void setSubviewState (bool state)
 
bool isSubview () const
 
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)
 
virtual CViewContainerasViewContainer ()
 
virtual const CViewContainerasViewContainer () const
 
CMouseEventResult callMouseListener (MouseListenerCall type, CPoint pos, CButtonState buttons)
 
void callMouseListenerEnteredExited (bool mouseEntered)
 
CMessageResult notify (CBaseObject *sender, IdStringPtr message) override
 
void beforeDelete () override
 
CBaseObjectnewCopy () const override
 
virtual CMouseEventResult onMouseDown (CPoint &where, const CButtonState &buttons)
 called when a mouse down event occurs More...
 
virtual CMouseEventResult onMouseUp (CPoint &where, const CButtonState &buttons)
 called when a mouse up event occurs More...
 
virtual CMouseEventResult onMouseMoved (CPoint &where, const CButtonState &buttons)
 called when a mouse move event occurs More...
 
virtual CMouseEventResult onMouseCancel ()
 called when mouse tracking should be canceled More...
 
virtual CMouseEventResult onMouseEntered (CPoint &where, const CButtonState &buttons)
 called when the mouse enters this view More...
 
virtual CMouseEventResult onMouseExited (CPoint &where, const CButtonState &buttons)
 called when the mouse leaves this view More...
 
void setHitTestPath (CGraphicsPath *path)
 
virtual bool hitTest (const CPoint &where, const CButtonState &buttons=-1)
 check if where hits this view 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)
 called if a mouse wheel event is happening over 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...
 
void setMouseableArea (const CRect &rect)
 set the area in which the view reacts to the mouse More...
 
CRectgetMouseableArea (CRect &rect) const
 get 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...
 
bool doDrag (const DragDescription &dragDescription, const SharedPointer< IDragCallback > &callback={})
 start a drag operation More...
 
virtual SharedPointer< IDropTargetgetDropTarget ()
 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 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 CRectgetViewSize () const
 read only access to view size More...
 
virtual CRect getVisibleViewSize () const
 returns the visible size of the view More...
 
virtual CPointframeToLocal (CPoint &point) const
 conversion from frame coordinates to local view coordinates More...
 
virtual CPointlocalToFrame (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...
 
CBitmapgetBackground () 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...
 
CBitmapgetDisabledBackground () const
 get background image used when the mouse is not enabled More...
 
CBitmapgetDrawBackground () 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...
 
CViewgetParentView () const
 get parent view More...
 
CFramegetFrame () const
 get frame More...
 
virtual VSTGUIEditorInterfacegetEditor () 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)
 
void removeAnimation (IdStringPtr name)
 
void removeAllAnimations ()
 
void registerViewListener (IViewListener *listener)
 
void unregisterViewListener (IViewListener *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 >
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 >
translateToLocal (const T &t, bool ignoreFrame=false) const
 translates a local coordinate to a global one using parent transforms More...
 
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...
 
- Public Member Functions inherited from CBaseObject
 CBaseObject ()=default
 
 ~CBaseObject () noexcept override=default
 
 CBaseObject (const CBaseObject &o)
 
CBaseObjectoperator= (const CBaseObject &obj)
 
- Public Member Functions inherited from ReferenceCounted< T >
 ReferenceCounted ()=default
 
virtual ~ReferenceCounted () noexcept=default
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (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...
 
- Public Member Functions inherited from IScaleFactorChangedListener
virtual ~IScaleFactorChangedListener () noexcept=default
 

Protected Member Functions

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
 
- Protected Member Functions inherited from CView
 ~CView () noexcept override
 
CGraphicsPathgetHitTestPath () 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)
 

Additional Inherited Members

- Public Types inherited from CView
enum  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
 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
}
 

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
parentparent 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
rectrect to invalidate

Reimplemented from CView.

◆ newCopy()

CBaseObject* newCopy ( ) const
inlineoverride

◆ onScaleFactorChanged()

void onScaleFactorChanged ( CFrame frame,
double  newScaleFactor 
)
overridevirtual

◆ 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
parentparent 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
newSizerect of new size of view
doInvalidif 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: