ASPiK SDK
|
Base Class of all view objects. More...
#include <cview.h>
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 > | |
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 > | |
T | translateToLocal (const T &t) const |
translates a local coordinate to a global one using parent transforms | |
virtual CViewContainer * | asViewContainer () |
virtual const CViewContainer * | asViewContainer () 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 | |
CRect & | getMouseableArea (CRect &rect) const |
get the area in which the view reacts to the mouse | |
const CRect & | getMouseableArea () 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 CRect & | getViewSize () 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 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 | |
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... | |
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 More... | |
CBitmap * | getDisabledBackground () const |
get background image used when the mouse is not enabled | |
CBitmap * | getDrawBackground () 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 | |
CView * | getParentView () const |
get parent view | |
CFrame * | getFrame () const |
get frame | |
virtual VSTGUIEditorInterface * | getEditor () 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) |
![]() | |
CBaseObject (const CBaseObject &o) | |
CBaseObject & | operator= (const CBaseObject &obj) |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
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 | |
Protected Member Functions | |
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) |
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 | |
Base Class of all view objects.
|
virtual |
view is attached to a parent view
parent | parent view |
Reimplemented in VSTGUI::CDataBrowser, VSTGUI::CFrame, VSTGUI::CViewContainer, VSTGUI::CSegmentButton, VSTGUI::CFontChooser, VSTGUI::CSplitView, VSTGUI::COpenGLView, VSTGUI::CShadowViewContainer, VSTGUI::UIViewSwitchContainer, VSTGUI::CLayeredViewContainer, VSTGUI::GraphicsView, and VSTGUI::CAutoLayoutContainerView.
|
virtual |
start a drag operation. See CDropSource to create the source data package
a drag can only be started from within onMouseDown
source | source drop |
offset | bitmap offset |
dragBitmap | bitmap to drag |
Reimplemented in VSTGUI::CFrame.
|
virtual |
called if the view should draw itself
pContext | draw context in which to draw |
Reimplemented in VSTGUI::CXYPadEx, VSTGUI::CVuMeterEx, VSTGUI::DrawPrimitivesTestView, VSTGUI::LineStyleTestView, VSTGUI::CHorizontalSliderEx, VSTGUI::CVerticalSliderEx, VSTGUI::CTextButton, VSTGUI::COptionMenu, VSTGUI::CFrame, VSTGUI::SpectrumView, VSTGUI::CAnimKnob, VSTGUI::CAnimKnobEx, VSTGUI::CKickButton, VSTGUI::CControl, VSTGUI::CRockerSwitch, VSTGUI::CViewContainer, VSTGUI::CSegmentButton, VSTGUI::CCheckBox, VSTGUI::TextButtonEx, VSTGUI::CParamDisplay, VSTGUI::CAnimationSplashScreen, VSTGUI::CKnob, VSTGUI::CSlider, VSTGUI::WaveView, VSTGUI::CGradientView, VSTGUI::CScrollbar, VSTGUI::CTextEdit, VSTGUI::CVuMeter, VSTGUI::CTextLabel, VSTGUI::COnOffButton, Mandelbrot::ProgressIndicatorView, VSTGUI::Standalone::CustomDrawView, Mandelbrot::View, VSTGUI::GraphicsView, VSTGUI::CSplashScreen, VSTGUI::CAutoAnimation, VSTGUI::CMovieBitmap, VSTGUI::CMovieButton, VSTGUI::CSearchTextEdit, VSTGUI::CSwitchBase, VSTGUI::CSpecialDigit, and VSTGUI::CXYPad.
conversion from frame coordinates to local view coordinates
point | location |
Reimplemented in VSTGUI::CViewContainer.
bool VSTGUI::CView::getAttribute | ( | const CViewAttributeID | aId, |
const uint32_t | inSize, | ||
void * | outData, | ||
uint32_t & | outSize | ||
) | const |
get an attribute
aId | the ID of the Attribute |
inSize | the size of the outData pointer |
outData | a pointer where to copy the attribute data |
outSize | the size in bytes which was copied into outData |
bool VSTGUI::CView::getAttributeSize | ( | const CViewAttributeID | aId, |
uint32_t & | outSize | ||
) | const |
get the size of an attribute
aId | the ID of the Attribute |
outSize | on return the size of the attribute |
|
virtual |
returns the visible size of the view
|
virtual |
check if where hits this view
where | location |
buttons | button and modifier state |
Reimplemented in VSTGUI::CViewContainer, and VSTGUI::CSplashScreen.
|
virtual |
mark rect as invalid
rect | rect to invalidate |
Reimplemented in VSTGUI::CFrame, VSTGUI::CViewContainer, VSTGUI::COpenGLView, and VSTGUI::CLayeredViewContainer.
conversion from local view coordinates to frame coordinates
point | location |
Reimplemented in VSTGUI::CViewContainer.
|
overridevirtual |
sender | message sender |
message | message text |
Reimplemented from VSTGUI::CBaseObject.
Reimplemented in VSTGUI::CViewContainer.
|
virtual |
called if a key down event occurs and this view has focus
keyCode | key code of pressed key |
Reimplemented in VSTGUI::CTextButton, VSTGUI::COptionMenu, VSTGUI::CFrame, VSTGUI::CDataBrowser, VSTGUI::CKickButton, VSTGUI::CRockerSwitch, VSTGUI::CCheckBox, VSTGUI::CSegmentButton, VSTGUI::CHorizontalSwitch, VSTGUI::CSlider, VSTGUI::CKnob, VSTGUI::CFontChooser, VSTGUI::CVerticalSwitch, VSTGUI::CTextEdit, VSTGUI::COnOffButton, VSTGUI::CMovieButton, and Mandelbrot::View.
|
virtual |
called if a key up event occurs and this view has focus
keyCode | key code of pressed key |
Reimplemented in VSTGUI::CTextButton, VSTGUI::CFrame, VSTGUI::CKickButton, and VSTGUI::CRockerSwitch.
|
virtual |
called when a mouse down event occurs
where | mouse location of mouse down |
buttons | button and modifier state |
Reimplemented in VSTGUI::CXYPadEx, VSTGUI::CHorizontalSliderEx, VSTGUI::CVerticalSliderEx, VSTGUI::CTextButton, VSTGUI::COptionMenu, VSTGUI::CDataBrowser, VSTGUI::CFrame, VSTGUI::CAnimKnobEx, VSTGUI::CKickButton, VSTGUI::CRockerSwitch, VSTGUI::CViewContainer, VSTGUI::CSegmentButton, VSTGUI::CCheckBox, VSTGUI::TextButtonEx, VSTGUI::CKnob, VSTGUI::CAnimationSplashScreen, VSTGUI::CSlider, VSTGUI::CScrollbar, VSTGUI::CTextEdit, VSTGUI::CKickButtonEx, VSTGUI::Standalone::CustomDrawView, VSTGUI::COnOffButton, VSTGUI::CSplashScreen, Mandelbrot::View, VSTGUI::CMovieButton, VSTGUI::CAutoAnimation, VSTGUI::CSearchTextEdit, VSTGUI::CSwitchBase, VSTGUI::CXYPad, and MyKnob.
|
virtual |
called when a mouse move event occurs
where | mouse location of mouse move |
buttons | button and modifier state |
Reimplemented in VSTGUI::CXYPadEx, VSTGUI::CHorizontalSliderEx, VSTGUI::CVerticalSliderEx, VSTGUI::CTextButton, VSTGUI::CAnimKnobEx, VSTGUI::CFrame, VSTGUI::CKickButton, VSTGUI::CRockerSwitch, VSTGUI::CViewContainer, VSTGUI::TextButtonEx, VSTGUI::CCheckBox, VSTGUI::CKnob, VSTGUI::CSlider, VSTGUI::CScrollbar, VSTGUI::COnOffButton, Mandelbrot::View, VSTGUI::CMovieButton, VSTGUI::CSwitchBase, and VSTGUI::CXYPad.
|
virtual |
called when a mouse up event occurs
where | mouse location of mouse up |
buttons | button and modifier state |
Reimplemented in VSTGUI::CXYPadEx, VSTGUI::CHorizontalSliderEx, VSTGUI::CVerticalSliderEx, VSTGUI::CTextButton, VSTGUI::CFrame, VSTGUI::CAnimKnobEx, VSTGUI::CKickButton, VSTGUI::CRockerSwitch, VSTGUI::CViewContainer, VSTGUI::TextButtonEx, VSTGUI::CCheckBox, VSTGUI::CKnob, VSTGUI::CSlider, VSTGUI::CKickButtonEx, VSTGUI::CScrollbar, VSTGUI::Standalone::CustomDrawView, VSTGUI::COnOffButton, Mandelbrot::View, VSTGUI::CMovieButton, VSTGUI::CSwitchBase, VSTGUI::CXYPad, and MyKnob.
|
virtual |
called if a mouse wheel event is happening over this view
where | location |
distance | wheel distance |
buttons | button and modifier state |
Reimplemented in VSTGUI::CFrame, VSTGUI::CViewContainer, VSTGUI::CRockerSwitch, VSTGUI::CSlider, VSTGUI::CKnob, and VSTGUI::CTextLabel.
|
virtual |
called if a mouse wheel event is happening over this view
where | location |
axis | mouse wheel axis |
distance | wheel distance |
buttons | button and modifier state |
Reimplemented in VSTGUI::CFrame, VSTGUI::CViewContainer, VSTGUI::CScrollView, VSTGUI::CScrollbar, VSTGUI::CTextLabel, and VSTGUI::CXYPad.
|
inlinevirtual |
called when the active state of the window changes
|
virtual |
view is removed from parent view
parent | parent view |
Reimplemented in VSTGUI::CTextButton, VSTGUI::CDataBrowser, VSTGUI::CViewContainer, VSTGUI::CParamDisplay, VSTGUI::CSplitView, VSTGUI::COpenGLView, VSTGUI::CShadowViewContainer, VSTGUI::UIViewSwitchContainer, VSTGUI::CLayeredViewContainer, and VSTGUI::GraphicsView.
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.
aId | the ID of the Attribute |
inSize | the size of the outData pointer |
inData | a pointer to the data |
|
virtual |
set the background image of this view
background | new background bitmap |
Reimplemented in VSTGUI::CAnimKnob, and VSTGUI::CCheckBox.
|
virtual |
set background image used when the mouse is not enabled
background | new disabled background bitmap |
void VSTGUI::CView::setHitTestPath | ( | CGraphicsPath * | path | ) |
path | the 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. |
|
virtual |
set views size
newSize | rect of new size of view |
doInvalid | if true set view dirty |
Reimplemented in VSTGUI::CVuMeterEx, VSTGUI::CTextButton, VSTGUI::CFrame, VSTGUI::CDataBrowser, VSTGUI::CViewContainer, VSTGUI::CSegmentButton, VSTGUI::CSlider, VSTGUI::CMultiLineTextLabel, VSTGUI::CScrollView, VSTGUI::KeyboardViewBase, VSTGUI::CKnob, VSTGUI::CTabView, VSTGUI::CTextEdit, VSTGUI::CSplitView, VSTGUI::CScrollbar, VSTGUI::CGradientView, VSTGUI::CShadowViewContainer, VSTGUI::CTextLabel, VSTGUI::CVuMeter, VSTGUI::COpenGLView, VSTGUI::CLayeredViewContainer, and VSTGUI::CAutoLayoutContainerView.
|
inlinevirtual |
weather this view wants to be informed if the window's active state changes