VSTGUI: CAutoAnimation Class Reference

VSTGUI 4.10 Graphical User Interface Framework not only for VST plugins

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CAutoAnimation Class Reference
Controls | Views using Multi-Frame Bitmaps
Inheritance diagram for CAutoAnimation:

## Public Member Functions
| CAutoAnimation (const CRect &size, IControlListener *listener, int32_t tag, CBitmap *background)
| CAutoAnimation constructor.
| CAutoAnimation (const CAutoAnimation &autoAnimation)
void | draw (CDrawContext *) override
| called if the view should draw itself
CMouseEventResult | onMouseDown (CPoint &where, const CButtonState &buttons) override
| do not use any longer.
bool | attached (CView *parent) override
| view is attached to a parent view
bool | removed (CView *parent) override
| view is removed from parent view
void | setBackground (CBitmap *background) override
| set the background image of this view
| CAutoAnimation (const CRect &size, IControlListener *listener, int32_t tag, CBitmap *background, const CPoint &offset)
| CAutoAnimation constructor.
| CAutoAnimation (const CRect &size, IControlListener *listener, int32_t tag, int32_t subPixmaps, CCoord heightOfOneImage, CBitmap *background, const CPoint &offset=CPoint(0, 0))
| CAutoAnimation constructor.
void | setNumSubPixmaps (int32_t numSubPixmaps) override
void | setBitmapOffset (const CPoint &off)
CPoint | getBitmapOffset () const
CBaseObject * | newCopy () const override
CAutoAnimation Methods
virtual void | openWindow ()
| enabled drawing
virtual void | closeWindow ()
| disable drawing
virtual void | nextPixmap ()
| the next sub bitmap should be displayed
virtual void | previousPixmap ()
| the previous sub bitmap should be displayed
bool | isWindowOpened () const
void | setAnimationTime (uint32_t animationTime)
uint32_t | getAnimationTime () const
Public Member Functions inherited from CControl
| CControl (const CRect &size, IControlListener *listener=nullptr, int32_t tag=0, CBitmap *pBackground=nullptr)
| CControl (const CControl &c)
bool | isDirty () const override
| check if view is dirty
void | setDirty (bool val=true) override
| set the view to dirty so that it is redrawn in the next idle.
bool | drawFocusOnTop () override
| draw focus before view will be drawn or afterwards
bool | getFocusPath (CGraphicsPath &outPath) override
| the graphics path will be drawn filled with the evenodd method and the color set in CFrame::setFocusColor()
virtual void | setValue (float val)
virtual float | getValue () const
virtual void | setValueNormalized (float val)
virtual float | getValueNormalized () const
virtual void | setMin (float val)
virtual float | getMin () const
virtual void | setMax (float val)
virtual float | getMax () const
float | getRange () const
virtual void | setOldValue (float val)
virtual float | getOldValue () const
virtual void | setDefaultValue (float val)
virtual float | getDefaultValue () const
virtual void | bounceValue ()
virtual void | valueChanged ()
| notifies listener and dependent objects
virtual void | setTag (int32_t val)
virtual int32_t | getTag () const
virtual void | beginEdit ()
virtual void | endEdit ()
bool | isEditing () const
virtual IControlListener * | getListener () const
| get main listener
virtual void | setListener (IControlListener *l)
| set main listener
void | registerControlListener (IControlListener *listener)
| register a sub listener
void | unregisterControlListener (IControlListener *listener)
| unregister a sub listener
virtual void | setWheelInc (float val)
virtual float | getWheelInc () const
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
virtual void | onWindowActivate (bool state)
| called when the active state of the window changes
void | setTooltipText (UTF8StringPtr text)
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 | dispatchEvent (Event &event)
| dispatch an event
virtual void | onMouseDownEvent (MouseDownEvent &event)
| called when a mouse down event occurs
virtual void | onMouseMoveEvent (MouseMoveEvent &event)
| called when a mouse move event occurs
virtual void | onMouseUpEvent (MouseUpEvent &event)
| called when a mouse up event occurs
virtual void | onMouseCancelEvent (MouseCancelEvent &event)
| called when mouse tracking should be canceled
virtual void | onMouseEnterEvent (MouseEnterEvent &event)
| called when the mouse enters this view
virtual void | onMouseExitEvent (MouseExitEvent &event)
| called when the mouse leaves this view
virtual void | onMouseWheelEvent (MouseWheelEvent &event)
| called when a mouse wheel event occurs
virtual void | onZoomGestureEvent (ZoomGestureEvent &event)
| called when a zoom gesture event occurs
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 () const
| get the area in which the view reacts to the mouse
virtual CMouseEventResult | onMouseUp (CPoint &where, const CButtonState &buttons)
| do not use any longer.
virtual CMouseEventResult | onMouseMoved (CPoint &where, const CButtonState &buttons)
| do not use any longer.
virtual CMouseEventResult | onMouseCancel ()
| do not use any longer.
virtual CMouseEventResult | onMouseEntered (CPoint &where, const CButtonState &buttons)
| do not use any longer.
virtual CMouseEventResult | onMouseExited (CPoint &where, const CButtonState &buttons)
| do not use any longer.
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
void | setHitTestPath (CGraphicsPath *path)
virtual bool | hitTest (const CPoint &where, const Event &event=noEvent())
| check if where hits this view
bool | doDrag (const DragDescription &dragDescription, const SharedPointer< IDragCallback > &callback={})
| A drag can only be started from within onMouseDown or onMouseMove.
virtual SharedPointer < IDropTarget > | getDropTarget ()
| get the drag target for drag and drop handling
void | setDropTarget (const SharedPointer< IDropTarget > &dt)
| set a custom drop target
DragResult | doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=nullptr)
| a drag can only be started from within onMouseDown
virtual void | onKeyboardEvent (KeyboardEvent &event)
| called when a keyboard event is dispatched to this view
virtual int32_t | onKeyDown (VstKeyCode &keyCode)
| called if a key down event occurs and this view has focus
virtual int32_t | onKeyUp (VstKeyCode &keyCode)
| called if a key up event occurs and this view has focus
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
const CRect & | getViewSize () const
| read only access to view size
virtual CRect | getVisibleViewSize () const
| returns the visible size of the view
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
virtual CPoint & | localToFrame (CPoint &point) const
| conversion from local view coordinates to frame coordinates
virtual void | setAutosizeFlags (int32_t flags)
| set autosize flags
int32_t | getAutosizeFlags () const
| get autosize flags
virtual bool | sizeToFit ()
| resize view to optimal size
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
bool | getAttributeSize (const CViewAttributeID id, uint32_t &outSize) const
| get the size of an attribute
bool | getAttribute (const CViewAttributeID id, const uint32_t inSize, void *outData, uint32_t &outSize) const
| get an attribute
bool | setAttribute (const CViewAttributeID id, const uint32_t inSize, const void *inData)
| set an attribute
bool | removeAttribute (const CViewAttributeID id)
| remove an attribute
template<typename T >
bool | setAttribute (const CViewAttributeID id, const T &data)
| set an attribute
template<typename T >
bool | getAttribute (const CViewAttributeID id, T &data) const
| get an attribute
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
CBitmap * | getDisabledBackground () const
| get background image used when the mouse is not enabled
CBitmap * | getDrawBackground () const
| get the bitmap which is drawn depending on the enabled state.
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
bool | isAttached () const
| is view attached to a parentView
CView * | getParentView () const
| get parent view
CFrame * | getFrame () const
| get frame
virtual VSTGUIEditorInterface * | getEditor () const
| get editor
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
template<typename T >
T & | translateToGlobal (T &t, bool ignoreFrame=false) const
| translates a local coordinate to a global one using parent transforms
template<typename T >
T | translateToGlobal (const T &t, bool ignoreFrame=false) const
| translates a local coordinate to a global one using parent transforms
template<typename T >
T & | translateToLocal (T &t, bool ignoreFrame=false) const
| translates a global coordinate to a local one using parent transforms
template<typename T >
T | translateToLocal (const T &t, bool ignoreFrame=false) const
| translates a local coordinate to a global one using parent transforms
virtual void | drawRect (CDrawContext *pContext, const CRect &updateRect)
| called if the view should draw itself
virtual bool | checkUpdate (const CRect &updateRect) const
virtual void | invalidRect (const CRect &rect)
| mark rect as invalid
virtual void | invalid ()
| mark whole view as invalid
virtual void | setVisible (bool state)
| set visibility state
bool | isVisible () const
| get visibility state
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
Public Member Functions inherited from CBaseObject
| CBaseObject ()=default
| ~CBaseObject () noexceptoverride=default
| CBaseObject (const CBaseObject &)
CBaseObject & | operator= (const CBaseObject &)
virtual CMessageResult | notify ([[maybe_unused]] CBaseObject *sender,[[maybe_unused]] IdStringPtr message)
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
void | remember () override
| increase refcount
virtual int32_t | getNbReference () const
| get refcount
Public Member Functions inherited from IFocusDrawing
virtual | ~IFocusDrawing () noexcept=default
Public Member Functions inherited from MultiFrameBitmapView< CAutoAnimation >
void | setMultiFrameBitmapRange (int32_t startIndex, int32_t endIndex)
| set the range of the CMultiBitmapFrame this view will use for drawing
std::pair< int32_t, int32_t > | getMultiFrameBitmapRange () const
| get the range of the CMulitBitmapFrame this view will use for drawing
uint16_t | getMultiFrameBitmapRangeLength (const CMultiFrameBitmap &mfb) const
| get the number of frames this view will use for drawing
uint16_t | getInverseIndex (const CMultiFrameBitmap &mfb, uint16_t index) const
| get the inverse index
uint16_t | getMultiFrameBitmapIndex (const CMultiFrameBitmap &mfb, float normValue) const
| get the frame index for a normalized value
float | getNormValueFromMultiFrameBitmapIndex (const CMultiFrameBitmap &mfb, uint16_t index) const
| get the normalized value for a frame index
Public Member Functions inherited from IMultiBitmapControl
virtual | ~IMultiBitmapControl ()
virtual void | setHeightOfOneImage (const CCoord &height)
virtual CCoord | getHeightOfOneImage () const
virtual int32_t | getNumSubPixmaps () const
virtual void | autoComputeHeightOfOneImage ()

## Protected Member Functions
| ~CAutoAnimation () noexceptoverride=default
void | updateMinMaxFromBackground ()
void | startTimer ()
Protected Member Functions inherited from CControl
| ~CControl () noexceptoverride
Protected Member Functions inherited from CView
| ~CView () noexceptoverride
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)
Protected Member Functions inherited from IMultiBitmapControl
| IMultiBitmapControl ()

## Protected Attributes
uint32_t | animationFrameTime {0u}
SharedPointer< CVSTGUITimer > | timer
bool | bWindowOpened {false}
CPoint | offset {}
CCoord | totalHeightOfBitmap {0}
Protected Attributes inherited from CControl
IControlListener * | listener
int32_t | tag
float | value
Protected Attributes inherited from IMultiBitmapControl
CCoord | heightOfOneImage
int32_t | subPixmaps

## Additional Inherited Members
Public Types inherited from CControl
using | CheckDefaultValueEventFuncT = bool(*)(CControl *, MouseDownEvent &)
using | CheckDefaultValueFuncT = bool(*)(CControl *, CButtonState)
Static Public Attributes inherited from CControl
static CheckDefaultValueEventFuncT | CheckDefaultValueEventFunc
| Function to check if a mouse down event should reset the value to its default value for a *control.
static int32_t | kZoomModifier = kShift
| zoom modifier key, per default is the shift key
static int32_t | kDefaultValueModifier = kControl
static CheckDefaultValueFuncT | CheckDefaultValueFunc
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 }
Static Protected Member Functions inherited from CControl
static int32_t | mapVstKeyModifier (int32_t vstModifier)

## Detailed Description

An auto-animation control contains a given number of subbitmaps which can be displayed in loop. Two functions allows to get the previous or the next subbitmap (these functions increase or decrease the current value of this control). Use a CMultiFrameBitmap for its background bitmap.

## Constructor & Destructor Documentation

CAutoAnimation | ( | const CRect & | size,
|  | IControlListener * | listener,
|  | int32_t | tag,
|  | CBitmap * | background
| ) |  |

CAutoAnimation constructor.

Parameters

  size | the size of this view
  listener | the listener
  tag | the control tag
  background | the bitmap

CAutoAnimation | ( | const CAutoAnimation & | autoAnimation | ) |

CAutoAnimation | ( | const CRect & | size,
|  | IControlListener * | listener,
|  | int32_t | tag,
|  | CBitmap * | background,
|  | const CPoint & | offset
| ) |  |

CAutoAnimation constructor.

Parameters

  size | the size of this view
  listener | the listener
  tag | the control tag
  background | the bitmap
  offset | unused

CAutoAnimation | ( | const CRect & | size,
|  | IControlListener * | listener,
|  | int32_t | tag,
|  | int32_t | subPixmaps,
|  | CCoord | heightOfOneImage,
|  | CBitmap * | background,
|  | const CPoint & | offset = `CPoint (0, 0)`
| ) |  |

CAutoAnimation constructor.

Parameters

  size | the size of this view
  listener | the listener
  tag | the control tag
  subPixmaps | number of sub bitmaps in background
  heightOfOneImage | height of one sub bitmap
  background | the bitmap
  offset | unused

~CAutoAnimation | ( |  | ) |
| overrideprotecteddefaultnoexcept

## Member Function Documentation

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.

void closeWindow | ( |  | ) |
| virtual

disable drawing

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

called if the view should draw itself

Parameters

  pContext | draw context in which to draw

Implements CControl.

uint32_t getAnimationTime | ( |  | ) | const

CPoint getBitmapOffset | ( |  | ) | const

bool isWindowOpened | ( |  | ) | const

CBaseObject* newCopy | ( |  | ) | const
| inlineoverridevirtual

Implements CControl.

void nextPixmap | ( |  | ) |
| virtual

the next sub bitmap should be displayed

CMouseEventResult onMouseDown | ( | CPoint & | where,
|  | const CButtonState & | buttons
| ) |  |
| overridevirtual

do not use any longer.

if possible refactor your classes to use the newer mouse event methods above.

Parameters

  where | mouse location of mouse down
  buttons | button and modifier state

Returns
  event result. see CMouseEventResult

Reimplemented from CView.

void openWindow | ( |  | ) |
| virtual

enabled drawing

void previousPixmap | ( |  | ) |
| virtual

the previous sub bitmap should be displayed

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.

void setAnimationTime | ( | uint32_t | animationTime | ) |

void setBackground | ( | CBitmap * | background | ) |
| overridevirtual

set the background image of this view

Parameters

  background | new background bitmap

Reimplemented from CView.

void setBitmapOffset | ( | const CPoint & | off | ) |

void setNumSubPixmaps | ( | int32_t | numSubPixmaps | ) |
| inlineoverridevirtual

Reimplemented from IMultiBitmapControl.

void startTimer | ( |  | ) |
| protected

void updateMinMaxFromBackground | ( |  | ) |
| protected

## Member Data Documentation

uint32_t animationFrameTime {0u}
| protected

bool bWindowOpened {false}
| protected

CPoint offset {}
| protected

SharedPointer<CVSTGUITimer> timer
| protected

CCoord totalHeightOfBitmap {0}
| protected

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

- cautoanimation.h
- cautoanimation.cpp