ASPiK SDK
VSTGUI::CView Class Reference

Base Class of all view objects. More...

#include <cview.h>

Inheritance diagram for VSTGUI::CView:
VSTGUI::CBaseObject VSTGUI::ReferenceCounted< T > VSTGUI::IReference Mandelbrot::View VSTGUI::CControl VSTGUI::CGradientView VSTGUI::COpenGLView VSTGUI::CViewContainer VSTGUI::DrawPrimitivesTestView VSTGUI::GraphicsView VSTGUI::KeyboardViewBase VSTGUI::Standalone::CustomDrawView VSTGUI::View1 VSTGUI::View2 VSTGUI::View3

Classes

struct  Impl
 

Public Member Functions

 CView (const CRect &size)
 
 CView (const CView &view)
 
void setSubviewState (bool state)
 
bool isSubview () const
 
virtual bool wantsWindowActiveStateChangeNotification () const
 
virtual void onWindowActivate (bool state)
 
CGraphicsTransform getGlobalTransform () const
 
template<typename T >
T & translateToGlobal (T &t) const
 translates a local coordinate to a global one using parent transforms
 
template<typename T >
translateToGlobal (const T &t) const
 translates a local coordinate to a global one using parent transforms
 
template<typename T >
T & translateToLocal (T &t) const
 translates a global coordinate to a local one using parent transforms
 
template<typename T >
translateToLocal (const T &t) const
 translates a local coordinate to a global one using parent transforms
 
virtual CViewContainerasViewContainer ()
 
virtual const CViewContainerasViewContainer () const
 
CMessageResult notify (CBaseObject *sender, IdStringPtr message) override
 
void beforeDelete () override
 
Mouse Methods
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
 
virtual CMouseEventResult onMouseEntered (CPoint &where, const CButtonState &buttons)
 called when the mouse enters this view
 
virtual CMouseEventResult onMouseExited (CPoint &where, const CButtonState &buttons)
 called when the mouse leaves this view
 
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)
 called if a mouse wheel event is happening over this view More...
 
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
 
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
 
CRectgetMouseableArea (CRect &rect) const
 get the area in which the view reacts to the mouse
 
const CRectgetMouseableArea () const
 read only access to the mouseable area
 
Drag & Drop Methods
virtual DragResult doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=nullptr)
 start a drag operation. See CDropSource to create the source data package More...
 
virtual bool onDrop (IDataPackage *drag, const CPoint &where)
 called if a drag is dropped onto this view
 
virtual void onDragEnter (IDataPackage *drag, const CPoint &where)
 called if a drag is entering this view
 
virtual void onDragLeave (IDataPackage *drag, const CPoint &where)
 called if a drag is leaving this view
 
virtual void onDragMove (IDataPackage *drag, const CPoint &where)
 called if a drag is moved inside this view
 
Keyboard Methods
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...
 
View Size Methods
CCoord getHeight () const
 get the height of the view
 
CCoord getWidth () const
 get the width of the view
 
virtual void setViewSize (const CRect &rect, bool invalid=true)
 set views size More...
 
const CRectgetViewSize () const
 read only access to view size
 
virtual CRect getVisibleViewSize () const
 returns the visible size of the view More...
 
virtual void parentSizeChanged ()
 notification that one of the views parent has changed its size
 
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
 
int32_t getAutosizeFlags () const
 get autosize flags
 
virtual bool sizeToFit ()
 resize view to optimal size
 
Focus Methods
virtual void looseFocus ()
 called if view should loose focus
 
virtual void takeFocus ()
 called if view should take focus
 
virtual bool wantsFocus () const
 check if view supports focus
 
virtual void setWantsFocus (bool state)
 set focus support on/off
 
Attribute Methods
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
 
Background Methods
virtual void setBackground (CBitmap *background)
 set the background image of this view More...
 
CBitmapgetBackground () const
 get the background image of this view
 
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
 
CBitmapgetDrawBackground () const
 
Transparency Methods
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
 
Attaching Methods
virtual bool removed (CView *parent)
 view is removed from parent view More...
 
virtual bool attached (CView *parent)
 view is attached to a parent view More...
 
bool isAttached () const
 is view attached to a parentView
 
Parent Methods
CViewgetParentView () const
 get parent view
 
CFramegetFrame () const
 get frame
 
virtual VSTGUIEditorInterfacegetEditor () const
 get editor
 
Animation Methods
void addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject=nullptr)
 
void addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, const Animation::DoneFunction &doneFunc)
 
void removeAnimation (IdStringPtr name)
 
void removeAllAnimations ()
 
View Listener Methods
void registerViewListener (IViewListener *listener)
 
void unregisterViewListener (IViewListener *listener)
 
- Public Member Functions inherited from VSTGUI::CBaseObject
 CBaseObject (const CBaseObject &o)
 
CBaseObjectoperator= (const CBaseObject &obj)
 
- Public Member Functions inherited from VSTGUI::ReferenceCounted< T >
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (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
 

Protected Types

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,
  kLastCViewFlag = 7
}
 

Protected Member Functions

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)
 

Draw and Update Methods

static bool kDirtyCallAlwaysOnMainThread = false
 if this is true, setting a view dirty will call invalid() instead of checking it in idle. Default value is false.
 
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
 
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. Thread Safe !
 
virtual void invalidRect (const CRect &rect)
 mark rect as invalid More...
 
virtual void invalid ()
 mark whole view as invalid
 
virtual void setVisible (bool state)
 set visibility state
 
bool isVisible () const
 get visibility state
 

Idle Methods

Should be used when a view needs to do a task periodically. The onIdle() method will be called only if the view is attached.

static uint32_t idleRate
 global idle rate in Hz, defaults to 30 Hz
 
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
 

Detailed Description

Base Class of all view objects.

Member Function Documentation

◆ attached()

bool VSTGUI::CView::attached ( CView parent)
virtual

◆ doDrag()

DragResult VSTGUI::CView::doDrag ( IDataPackage source,
const CPoint offset = CPoint (0, 0),
CBitmap dragBitmap = nullptr 
)
virtual

start a drag operation. See CDropSource to create the source data package

a drag can only be started from within onMouseDown

Parameters
sourcesource drop
offsetbitmap offset
dragBitmapbitmap to drag
Returns
see DragResult

Reimplemented in VSTGUI::CFrame.

◆ draw()

◆ frameToLocal()

CPoint & VSTGUI::CView::frameToLocal ( CPoint point) const
virtual

conversion from frame coordinates to local view coordinates

Parameters
pointlocation
Returns
converted point

Reimplemented in VSTGUI::CViewContainer.

◆ getAttribute()

bool VSTGUI::CView::getAttribute ( const CViewAttributeID  aId,
const uint32_t  inSize,
void *  outData,
uint32_t &  outSize 
) const

get an attribute

Parameters
aIdthe ID of the Attribute
inSizethe size of the outData pointer
outDataa pointer where to copy the attribute data
outSizethe size in bytes which was copied into outData
Returns
true if attribute exists and outData was big enough. outSize and outData is valid then.

◆ getAttributeSize()

bool VSTGUI::CView::getAttributeSize ( const CViewAttributeID  aId,
uint32_t &  outSize 
) const

get the size of an attribute

Parameters
aIdthe ID of the Attribute
outSizeon return the size of the attribute
Returns
true if attribute exists. outSize is valid then.

◆ getVisibleViewSize()

CRect VSTGUI::CView::getVisibleViewSize ( ) const
virtual

returns the visible size of the view

Returns
visible size of view

◆ hitTest()

bool VSTGUI::CView::hitTest ( const CPoint where,
const CButtonState buttons = -1 
)
virtual

check if where hits this view

Parameters
wherelocation
buttonsbutton and modifier state
Returns
true if point hits this view

Reimplemented in VSTGUI::CViewContainer, and VSTGUI::CSplashScreen.

◆ invalidRect()

void VSTGUI::CView::invalidRect ( const CRect rect)
virtual

mark rect as invalid

Parameters
rectrect to invalidate

Reimplemented in VSTGUI::CFrame, VSTGUI::CViewContainer, VSTGUI::COpenGLView, and VSTGUI::CLayeredViewContainer.

◆ localToFrame()

CPoint & VSTGUI::CView::localToFrame ( CPoint point) const
virtual

conversion from local view coordinates to frame coordinates

Parameters
pointlocation
Returns
converted point

Reimplemented in VSTGUI::CViewContainer.

◆ notify()

CMessageResult VSTGUI::CView::notify ( CBaseObject sender,
IdStringPtr  message 
)
overridevirtual
Parameters
sendermessage sender
messagemessage text
Returns
message handled or not. See #CMessageResult

Reimplemented from VSTGUI::CBaseObject.

Reimplemented in VSTGUI::CViewContainer.

◆ onKeyDown()

int32_t VSTGUI::CView::onKeyDown ( VstKeyCode keyCode)
virtual

◆ onKeyUp()

int32_t VSTGUI::CView::onKeyUp ( VstKeyCode keyCode)
virtual

called if a key up event occurs and this view has focus

Parameters
keyCodekey code of pressed key
Returns
-1 if not handled and 1 if handled

Reimplemented in VSTGUI::CTextButton, VSTGUI::CFrame, VSTGUI::CKickButton, and VSTGUI::CRockerSwitch.

◆ onMouseDown()

◆ onMouseMoved()

CMouseEventResult VSTGUI::CView::onMouseMoved ( CPoint where,
const CButtonState buttons 
)
virtual

◆ onMouseUp()

CMouseEventResult VSTGUI::CView::onMouseUp ( CPoint where,
const CButtonState buttons 
)
virtual

◆ onWheel() [1/2]

bool VSTGUI::CView::onWheel ( const CPoint where,
const float &  distance,
const CButtonState buttons 
)
virtual

called if a mouse wheel event is happening over this view

Parameters
wherelocation
distancewheel distance
buttonsbutton and modifier state
Returns
true if handled

Reimplemented in VSTGUI::CFrame, VSTGUI::CViewContainer, VSTGUI::CRockerSwitch, VSTGUI::CSlider, VSTGUI::CKnob, and VSTGUI::CTextLabel.

◆ onWheel() [2/2]

bool VSTGUI::CView::onWheel ( const CPoint where,
const CMouseWheelAxis &  axis,
const float &  distance,
const CButtonState buttons 
)
virtual

called if a mouse wheel event is happening over this view

Parameters
wherelocation
axismouse wheel axis
distancewheel distance
buttonsbutton and modifier state
Returns
true if handled

Reimplemented in VSTGUI::CFrame, VSTGUI::CViewContainer, VSTGUI::CScrollView, VSTGUI::CScrollbar, VSTGUI::CTextLabel, and VSTGUI::CXYPad.

◆ onWindowActivate()

virtual void VSTGUI::CView::onWindowActivate ( bool  state)
inlinevirtual

called when the active state of the window changes

◆ removed()

bool VSTGUI::CView::removed ( CView parent)
virtual

view is removed from parent view

Parameters
parentparent view
Returns
true if view successfully removed from parent

Reimplemented in VSTGUI::CTextButton, VSTGUI::CDataBrowser, VSTGUI::CViewContainer, VSTGUI::CParamDisplay, VSTGUI::CSplitView, VSTGUI::COpenGLView, VSTGUI::CShadowViewContainer, VSTGUI::UIViewSwitchContainer, VSTGUI::CLayeredViewContainer, and VSTGUI::GraphicsView.

◆ setAttribute()

bool VSTGUI::CView::setAttribute ( const CViewAttributeID  aId,
const uint32_t  inSize,
const void *  inData 
)

set an attribute

copies data into the attribute. If it does not exist, creates a new attribute.

Parameters
aIdthe ID of the Attribute
inSizethe size of the outData pointer
inDataa pointer to the data
Returns
true if attribute was set

◆ setBackground()

void VSTGUI::CView::setBackground ( CBitmap background)
virtual

set the background image of this view

Parameters
backgroundnew background bitmap

Reimplemented in VSTGUI::CAnimKnob, and VSTGUI::CCheckBox.

◆ setDisabledBackground()

void VSTGUI::CView::setDisabledBackground ( CBitmap background)
virtual

set background image used when the mouse is not enabled

Parameters
backgroundnew disabled background bitmap

◆ setHitTestPath()

void VSTGUI::CView::setHitTestPath ( CGraphicsPath path)
Parameters
paththe path to use for hit testing. The path will be translated by this views origin, so that the path must not be set again, if the view is moved. Otherwise when the size of the view changes, the path must also be set again.

◆ setViewSize()

◆ wantsWindowActiveStateChangeNotification()

virtual bool VSTGUI::CView::wantsWindowActiveStateChangeNotification ( ) const
inlinevirtual

weather this view wants to be informed if the window's active state changes


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