Animates the rotation of a widget. More...
#include <MultiWidgets/Animators.hpp>
Valuable Attributes | |
| Nimble::Vector2 | pivot = pivot |
| The pivot point is a relative value in the widget coordinates which determines the point which acts as an origin in the rotation. More... | |
Public Member Functions | |
| AnimatorRotation (Nimble::Vector2 pivot=Nimble::Vector2(0.5f, 0.5f)) | |
| Constructs a rotation animator. More... | |
| const Nimble::Vector2 | pivot () const |
| The pivot point is a relative value in the widget coordinates which determines the point which acts as an origin in the rotation. More... | |
| void | setPivot (Nimble::Vector2 pivot) |
| Setter for attribute pivot. More... | |
| virtual void | update (MultiWidgets::Widget &w, const MultiWidgets::FrameInfo &frameInfo) |
| Updates the animation state and applies the value to the attribute. More... | |
| virtual | ~AnimatorRotation () |
| Destructor. | |
Public Member Functions inherited from MultiWidgets::AnimatorT< float > | |
| virtual void | added (MultiWidgets::Widget &w) |
| Called when the animator is added to widget. More... | |
| void | addKey (float secondsFromPrev, const float &value) |
| Append new key-frame. More... | |
| AnimatorT (const QString ¶m=QString(), Radiant::FlagsT< Flags > flags=NONE) | |
| Constructs a new animator for the given parameter. More... | |
| void | bouncyAnimation (float time, const float &from, const float &to, int points=100) |
| Creates a boyncy animation from one value to another. More... | |
| void | clear () |
| Clears all the keypoints After this call there are no keypoints left. More... | |
| void | copyKeys (const AnimatorT &from) |
| Copy key-frames from another animator. More... | |
| Radiant::FlagsT< Flags > | flags () const |
| Get the flags that control the behavior of this animator. More... | |
| bool | hasAnimationStarted () const |
| bool | hasFlag (Radiant::FlagsT< Flags > flag) const |
| Check if a flag exists. More... | |
| Key< float > & | key (size_t i) |
| Returns a reference to a given key-point. More... | |
| size_t | numKeys () const |
| Get the number of key-frames. More... | |
| const QString & | parameter () const |
| Returns the name of the parameter to be animated. More... | |
| void | prependKey (float secondsToNext, const float &value) |
| Prepend new key-frame Adds a key-frame to the beginning of the animation. More... | |
| virtual void | reset () |
| Resets the animation to the beginning. | |
| void | setElapsed (float seconds) |
| Sets the elapsed time. | |
| void | setFlags (Radiant::FlagsT< Flags > flags) |
| Sets the flags for this animator. More... | |
| void | setParameterName (const QString ¶m) |
| Sets the name for the value to be animated. More... | |
| void | smoothAnimation (float time, const float &from, const float &to, int points=100) |
| Create a smooth animation between two control points This function implements a soft beginning and ending in the animation. More... | |
| void | smoothBeginAnimation (float time, const float &from, const float &to, int points=100) |
| Create an animation with smooth start between two control points This function implements a soft start, and an instant end in the animation. More... | |
| void | smoothEndAnimation (float time, const float &from, const float &to, int points=100) |
| Create an animation with smooth end between two control points This function implements an instant start and soft end in the animation. More... | |
| float | totalDuration () const |
| Get the duration of the animation. More... | |
| float | value () const |
| Get the current value of the animated parameter. More... | |
| virtual | ~AnimatorT () |
| Destructor. | |
Public Member Functions inherited from MultiWidgets::Animator | |
| Animator () | |
| Constructor. | |
| virtual | ~Animator () |
| Destructor. | |
Public Member Functions inherited from MultiWidgets::Operator | |
| virtual OperatorPtr | clone () const |
| Creates a copy of the operator. More... | |
| virtual void | input (MultiWidgets::Widget &w, MultiWidgets::GrabManager &gm, const MultiWidgets::TrackedObjects &trackedObjects, float dt) |
| Perform the operator logic on input. More... | |
| virtual void | interactionBegin (MultiWidgets::Widget &w, MultiWidgets::GrabManager &gm) |
| This function gets called when the Widget::interactionBegin is called for the widget this operator is attached to. More... | |
| virtual void | interactionEnd (MultiWidgets::Widget &w, MultiWidgets::GrabManager &gm) |
| This function gets called when the Widget::interactionEnd is called for the widget this operator is attached to. More... | |
| virtual bool | isActive () const |
| Returns true if the operator is currently active. More... | |
| bool | isDone () const |
| Is the operator done (i.e. More... | |
| Operator () | |
| Default constructor. | |
| virtual void | removed (MultiWidgets::Widget &w) |
| Called when the operator is removed from the widget or the widget is deleted. More... | |
| virtual QByteArray | type () const |
| Returns the type id of the Operator. More... | |
| virtual | ~Operator () |
| Destructor. | |
Public Member Functions inherited from Stylish::Styleable | |
| void | addCSSClass (const QString &s) |
| Adds the Styleable to CSS class s. More... | |
| void | addCSSClasses (const QStringList &classes) |
| Adds the Styleable to given CSS classes. More... | |
| QString | attributeSource (const QByteArray &name) const |
| Gets CSS declaration source location based on the attribute name For example if this object has "size" attribute that is set from a CSS file, attributeSource("size") would return "filename.css:line". More... | |
| const Style & | childStyle () const |
| Cached style that should be applied to all children of this object. | |
|
const Radiant::ArraySet < QByteArray > & | cssClasses () const |
| Get the CSS classes of the Styleable in lowercase. | |
| const QString & | cssClassStr () const |
| Get the CSS classes of the Styleable as a space separated string. More... | |
| QString | cssId () const |
| Get the CSS id of the Styleable. More... | |
| const QByteArray & | cssType () const |
| Get the CSS type of the Styleable. | |
| bool | hasCSSClass (const QByteArray &s) const |
| Does the Styleable belong to given CSS class. More... | |
| bool | match (const SimpleSelector &ss, int *specificityOut=nullptr) const |
| Checks if SimpleSelector matches this object. More... | |
| bool | pseudoClass (const QByteArray &name) const |
| Query if the Styleable has pseudo class called name. | |
| void | removeCSSClass (const QString &s) |
| Remove the Styleable from CSS class s. More... | |
| void | setCSSClasses (const QString &s) |
| Set the CSS classes as a space separated list You almost always want to use addCSSClass instead of this one. More... | |
| void | setCSSId (const QString &s) |
| Set the CSS id of the Styleable. More... | |
| void | setCSSType (const QByteArray &s) |
| Set the CSS type of the Styleable. | |
| virtual bool | setProperty (Valuable::Attribute &var, const Valuable::StyleValue &value, Layer layer) |
| Converts the given Stylish::Value to Valuable::Attribute. | |
| void | setPseudoClass (const QByteArray &name, bool state) |
| Disable or enable pseudo class. | |
| virtual bool | setStyle (const Style &style) |
| Applies a style to the object. More... | |
| QString | simpleSelector (bool includePseudoClasses=true) const |
| Returns a CSS simple selector that matches this Styleable. | |
| const Style & | style () const |
| Returns the style for this object. | |
| Styleable (const QByteArray &name="Styleable") | |
| Constructor for Styleable. More... | |
Public Member Functions inherited from Valuable::Node | |
| bool | acceptsEvent (const QByteArray &messageId) const |
| Returns true if this object accepts event 'id' in eventProcess. | |
| bool | addAttribute (Attribute *const attribute) |
| Adds a new Attribute to the list of attribute objects. More... | |
| bool | addAttribute (const QByteArray &name, Attribute *const attribute) |
| Adds a new Attribute to the list of attribute objects. | |
| template<typename Widget > | |
| bool | addAttribute (const QByteArray &name, const Radiant::IntrusivePtr< Widget > &attribute) |
| Adds a new Attribute to the list of attribute objects. More... | |
| long | addListener (const QByteArray &attribute, v8::Persistent< v8::Function > func, int role=Attribute::CHANGE_ROLE) |
| Add a JavaScript attribute listener to attribute belonging this Node. More... | |
| virtual Attribute * | attribute (const QByteArray &name) const |
| Gets an Attribute with the given name. More... | |
| template<typename T > | |
| AttributeT< T > * | attribute (const QByteArray &name) const |
| Gets an Attribute with the given name. More... | |
| const container & | attributes () const |
| void | clearValues (Layer layer) |
| Clears all Attribute values of the given layer. More... | |
| void | debugDump () |
| Prints the contents of this Attribute to the terminal. | |
| virtual bool | deserialize (const ArchiveElement &element) |
| De-serializes this object (and its children) from a DOM node. | |
| void | eventAddDeprecated (const QByteArray &deprecatedId, const QByteArray &newId) |
| Register a deprecated event that is automatically converted to new event id and a warning is issued when it is used. More... | |
| void | eventAddIn (const QByteArray &messageId) |
| Registers a new event that this class handles in eventProcess. | |
| template<typename Widget > | |
| long | eventAddListener (const QByteArray &eventId, const QByteArray &messageId, Radiant::IntrusivePtr< Widget > &listener, ListenerType listenerType=DIRECT, const Radiant::BinaryData *defaultData=0) |
| Add an event listener to this object. More... | |
| long | eventAddListener (const QByteArray &eventId, const QByteArray &messageId, Valuable::Node *listener, ListenerType listenerType=DIRECT, const Radiant::BinaryData *defaultData=0) |
| Add an event listener to this object. More... | |
| long | eventAddListener (const QByteArray &eventId, ListenerFuncVoid func, ListenerType listenerType=DIRECT) |
| Add an event listener to this object. More... | |
| long | eventAddListener (const QByteArray &eventId, Node *dstNode, ListenerFuncVoid func, ListenerType listenerType=DIRECT) |
| long | eventAddListenerBd (const QByteArray &eventId, Node *dstNode, ListenerFuncBd func, ListenerType listenerType=DIRECT) |
| long | eventAddListenerBd (const QByteArray &eventId, ListenerFuncBd func, ListenerType listenerType=DIRECT) |
| Add an event listener to this object. More... | |
| void | eventAddOut (const QByteArray &eventId) |
| Registers a new event this class can send with eventSend. | |
| const QSet< QByteArray > & | eventInNames () const |
| Returns set of all registered IN events. | |
| unsigned | eventListenerCount () const |
| Returns the number of event listeners. | |
| const QSet< QByteArray > & | eventOutNames () const |
| Returns set of all registered OUT events. | |
| void | eventPassingEnable (bool enable) |
| Control whether events are passed. | |
| template<typename Widget > | |
| int | eventRemoveListener (Radiant::IntrusivePtr< Widget > &listener) |
| Removes all events from this object to given listener. More... | |
| template<typename Widget > | |
| int | eventRemoveListener (const QByteArray &eventId=QByteArray(), const QByteArray &messageId=QByteArray(), Radiant::IntrusivePtr< Widget > &listener=Radiant::IntrusivePtr< Widget >()) |
| Removes events from this object that match the parameters. More... | |
| int | eventRemoveListener (const QByteArray &eventId=QByteArray(), const QByteArray &messageId=QByteArray(), Valuable::Node *listener=0) |
| Removes event listeners from this object. More... | |
| int | eventRemoveListener (Valuable::Node *listener) |
| Removes all events from this object to given listener. More... | |
| bool | eventRemoveListener (long listenerId) |
| Removes event listener with given id. More... | |
| void | eventSend (const QByteArray &eventId, Radiant::BinaryData &bd) |
| Sends an event and bd to all listeners on this eventId. | |
| void | eventSend (const QByteArray &eventId) |
| Sends an event to all listeners on this eventId. | |
| template<typename P1 > | |
| void | eventSend (const QByteArray &eventId, const P1 &p1) |
| Sends an event to all listeners on this eventId. More... | |
| template<typename P1 , typename P2 > | |
| void | eventSend (const QByteArray &eventId, const P1 &p1, const P2 &p2) |
| Sends an event to all listeners on this eventId. More... | |
| template<typename P1 , typename P2 , typename P3 > | |
| void | eventSend (const QByteArray &eventId, const P1 &p1, const P2 &p2, const P3 &p3) |
| Sends an event to all listeners on this eventId. More... | |
| template<typename P1 , typename P2 , typename P3 , typename P4 > | |
| void | eventSend (const QByteArray &eventId, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4) |
| Sends an event to all listeners on this eventId. More... | |
| template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 > | |
| void | eventSend (const QByteArray &eventId, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4, const P5 &p5) |
| Sends an event to all listeners on this eventId. More... | |
| unsigned | eventSourceCount () const |
| Returns the number of event sources. | |
| Uuid | id () const |
| Returns the unique id. | |
| bool | isBeingDestroyed () const |
| Returns true if we are about to delete this object. More... | |
| bool | loadFromFileXML (const QString &filename) |
| Reads this object (and its children) from an XML file. | |
| bool | loadFromMemoryXML (const QByteArray &buffer) |
| Reads this object (and its children) from a memory buffer. | |
| Node (Node *host, const QByteArray &name="", bool transit=false) | |
| Constructs a new Node and adds it under the given host. More... | |
| Node (Node &&node) | |
| Moves a node, including all its attributes, events etc. More... | |
| Node & | operator= (Node &&node) |
| Moves a node, replacing this. More... | |
| virtual bool | readElement (const ArchiveElement &element) |
| Handles a serialization element that lacks automatic handlers. More... | |
| void | removeAttribute (Attribute *const attribute) |
| Removes an Attribute from the list of attribute objects. | |
| bool | saveToFileXML (const QString &filename, unsigned int opts=SerializationOptions::DEFAULTS) const |
| Saves this object (and its children) to an XML file. | |
| bool | saveToMemoryXML (QByteArray &buffer, unsigned int opts=SerializationOptions::DEFAULTS) const |
| Saves this object (and its children) to binary data buffer. | |
| virtual ArchiveElement | serialize (Archive &doc) const |
| Serializes this object (and its children) to a DOM node. | |
| virtual void | setAsDefaults () |
| Sets the current USER attribute value as the default value and clears the USER value. More... | |
| void | setId (Uuid newId) |
| Sets the unique id. More... | |
| template<class T > | |
| bool | setValue (const QByteArray &name, const T &v) |
| Uses a query string to find a Attribute, and sets a new value to that if found. More... | |
| bool | setValue (const QByteArray &name, v8::Handle< v8::Value > v) |
| Set attribute value from JavaScript. More... | |
Public Member Functions inherited from Valuable::Attribute | |
| long | addListener (ListenerFunc func, int role=CHANGE_ROLE) |
| Adds a listener that is invoked whenever the value is changed. More... | |
| long | addListener (Node *listener, ListenerFunc func, int role=CHANGE_ROLE) |
| Adds a listener that is invoked whenever the value is changed. More... | |
| long | addListener (v8::Persistent< v8::Function > func, int role=CHANGE_ROLE) |
| Adds a JavaScript listener that is invoked whenever the value is changed. More... | |
| virtual float | asFloat (bool *const ok=0, Layer layer=LAYER_CURRENT) const |
| Converts the value object in a floating point number. More... | |
| virtual int | asInt (bool *const ok=0, Layer layer=LAYER_CURRENT) const |
| Converts the value object in an integer. More... | |
| virtual QString | asString (bool *const ok=0, Layer layer=LAYER_CURRENT) const |
| Converts the value object to a string. More... | |
| Attribute (const Attribute &o) | |
| Create a copy of the given Attribute WITHOUT the link to host, listeners, or the attribute name. More... | |
| Attribute (Node *host, const QByteArray &name, bool transit=false) | |
| Constructs a new value object and attaches it to its host. More... | |
| virtual void | clearValue (Layer layer) |
| Unsets the value from a specific layer. More... | |
| virtual void | emitChange () |
| Invokes the change valueChanged function of all listeners. | |
| virtual void | eventProcess (const QByteArray &id, Radiant::BinaryData &data) |
| Process a message. More... | |
| void | eventProcessFloat (const char *id, float v) |
| Utility function for sending a float message to the object. | |
| void | eventProcessInt (const char *id, int v) |
| Utility function for sending an int message to the object. | |
| void | eventProcessString (const char *id, const QString &str) |
| Utility function for sending string message to the object. | |
| void | eventProcessString (const char *id, const char *str) |
| Utility function for sending string message to the object. | |
| void | eventProcessVector2 (const char *id, Nimble::Vector2) |
| Utility function for sending a Nimble::Vector2f message to the object. | |
| void | eventProcessVector3 (const char *id, Nimble::Vector3) |
| Utility function for sending a Vector3 message to the object. | |
| void | eventProcessVector4 (const char *id, Nimble::Vector4) |
| Utility function for sending a Vector4 message to the object. | |
| virtual bool | handleShorthand (const Valuable::StyleValue &value, Radiant::ArrayMap< Valuable::Attribute *, Valuable::StyleValue > &expanded) |
| If attribute supports shorthand properties, this should be used to parse those. More... | |
| Node * | host () const |
| The host object of the value object (is any). More... | |
| virtual bool | isChanged () const |
| virtual bool | isValueDefinedOnLayer (Layer layer) const |
| Check if the given layer defines a value. More... | |
| bool | layerForSerialization (SerializationOptions flags, Layer &layer) const |
| const QByteArray & | name () const |
| Returns the name of the object. | |
| const Attribute & | operator= (const Attribute &) |
| Create a copy of the given Attribute WITHOUT the link to host, listeners, or the attribute name. More... | |
| Attribute * | ownerShorthand () const |
| QByteArray | path () const |
| Returns the path (separated by '/'s) from the root. | |
| void | removeHost () |
| Sets the host pointer to zero and removes this object from the host. More... | |
| bool | removeListener (Node *listener, int role=ALL_ROLES) |
| Removes a listener from the listener list. More... | |
| bool | removeListener (long id) |
| Removes a listener from the listener list. More... | |
| void | removeListeners (int role=ALL_ROLES) |
| Removes listeners from the listener list. | |
| virtual bool | set (float v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN) |
| Sets the value of the object. | |
| virtual bool | set (int v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN) |
| Sets the value of the object. | |
| virtual bool | set (const QString &v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN) |
| Sets the value of the object. | |
| virtual bool | set (const Nimble::Vector2f &v, Layer layer=USER, QList< ValueUnit > units=QList< ValueUnit >()) |
| Sets the value of the object. | |
| virtual bool | set (const Nimble::Vector3f &v, Layer layer=USER, QList< ValueUnit > units=QList< ValueUnit >()) |
| Sets the value of the object. | |
| virtual bool | set (const Nimble::Vector4f &v, Layer layer=USER, QList< ValueUnit > units=QList< ValueUnit >()) |
| Sets the value of the object. | |
| virtual bool | set (const StyleValue &value, Layer layer=USER) |
| Sets the value of the object. | |
| void | setName (const QByteArray &s) |
| Sets the name of the object. | |
| void | setOwnerShorthand (Attribute *owner) |
Public Member Functions inherited from Valuable::Serializable | |
| virtual bool | deserializeXML (const DOMElement &element) |
| Deserializes (reads) this object from an XML element. More... | |
| bool | isSerializable () const |
| void | setSerializable (bool v) |
Static Public Member Functions | |
| static std::shared_ptr < AnimatorRotation > | newRotator (Widget &w, Nimble::Vector2 pivot, float target, float time, Animator::Flags=NONE) |
| Constructs a new rotation animator. More... | |
Additional Inherited Members | |
Public Types inherited from MultiWidgets::Animator | |
| enum | Flags { NONE = 0, QUIT_ON_INTERACTION = 1, WAIT_READY = 1 << 1, CYCLIC = 1 << 2, KEEP_ALIVE_AFTER_ANIMATION = 1 << 3 } |
| Animator flags. More... | |
Node Events inherited from Stylish::Styleable | |
| [OUT] | pseudo-class-changed (QString name, bool state) |
Pseudo class name was added (state == true) or removed (state == false) | |
Protected Member Functions inherited from MultiWidgets::AnimatorT< float > | |
| virtual void | animate (MultiWidgets::Widget &w, float dt) |
| Calculates the current parameter value. More... | |
| void | interpolate () |
| Performs the actual interpolation of key frames. | |
Protected Attributes inherited from MultiWidgets::AnimatorT< float > | |
| Valuable::AttributeFlagsT< Flags > | m_flags |
| Animation flags. | |
| std::vector< Key< float > > | m_keys |
| Collection of key frames. | |
| Valuable::AttributeString | m_param |
| Name of the parameter to animate. | |
| float | m_result |
| Result of the animation. | |
| float | m_timeElapsed |
| Elapsed time since the start of the animation. More... | |
Animates the rotation of a widget.
The pivot point of the rotation (relative to the widget) can be specifed, using the "pivot" parameter.
| MultiWidgets::AnimatorRotation::AnimatorRotation | ( | Nimble::Vector2 | pivot = Nimble::Vector2(0.5f, 0.5f) | ) |
Constructs a rotation animator.
| pivot | The pivot point relative to the widget. The default value (0,5, 0.5) implies rotation around the widget center. |
|
static |
Constructs a new rotation animator.
| w | widget to animate |
| pivot | pivot to rotate around |
| target | rotation at the end of the animation |
| time | duration of the animation |
| flags | animation flags |
|
inline |
The pivot point is a relative value in the widget coordinates which determines the point which acts as an origin in the rotation.
Thus (0, 0) is the top-left corner of the widget, while (0.5, 0.5) is the center of the widget, regardless of the size or aspect ratio of the widget. This is similar to Widget::origin
|
inline |
|
virtual |
Updates the animation state and applies the value to the attribute.
This function gets called by the widget when it is updated
| w | target widget |
| frameInfo | frame info |
Reimplemented from MultiWidgets::AnimatorT< float >.