Rogue Wave Views
Prototypes Package API Reference Guide
Product Documentation:

Rogue Wave Views
Documentation Home
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions
IlvAnimationAccessor Class Reference

Base class of user accessor classes used for animating objects. More...

#include <ilviews/protos/animacc.h>

Inheritance diagram for IlvAnimationAccessor:
IlvUserAccessor IlvAccessor IlvBlinkAccessor IlvInvertAccessor IlvRotateAccessor

Public Member Functions

 IlvAnimationAccessor (const char *name, const IlvValueTypeClass *type, IlvDisplay *display, const char *periodVal)
 Creates a new animation accessor. More...
 
void initialize (const IlvAccessorHolder *object)
 Attachment method to an IlvAccessorHolder. More...
 
- Public Member Functions inherited from IlvUserAccessor
 IlvUserAccessor (const char *name, const IlvValueTypeClass *type, IlUInt flags=0)
 Constructor. More...
 
virtual IlBoolean isOutputValue (const IlSymbol *) const
 Queries if the accessor is an output accessor. More...
 
IlBoolean isPrivate () const
 Checks the private status. More...
 
IlBoolean isRuntime () const
 Checks the RunTime status. More...
 
void setPrivate (IlBoolean val)
 Sets the Private flag of this accessor. More...
 
void setRuntime (IlBoolean runTime)
 Sets the RunTime flag of this accessor. More...
 
- Public Member Functions inherited from IlvAccessor
 IlvAccessor (const char *name, IlvValueTypeClass *type)
 Creates a new accessor of name name and type type.
 
virtual IlBoolean changeValues (IlvAccessorHolder *object, const IlvValue *values, IlUShort count)
 Called by the method IlvAccessible::changeValues() for each IlvAccessor attached to the IlvAccessorHolder.
 
virtual void getAccessors (const IlSymbol *const **accessors, const IlvValueTypeClass *const **types, IlUInt &count) const
 Returns the names and types of the values handled by this accessor. More...
 
const IlSymbolgetName () const
 Returns the name of the accessor. More...
 
IlvValueTypeClassgetType () const
 Returns the type of the accessor. More...
 
virtual IlBoolean isOutputAccessor (IlBoolean &inputAndOutput)
 Queries if the accessor is an output accessor. More...
 
virtual IlShort matchValues (const IlvAccessorHolder *object, const IlvValue *values, IlUShort count, IlvValue *matchingValues=0) const
 Returns the number of values that are handled by the accessor in the values array of length count. More...
 
virtual void queryValues (const IlvAccessorHolder *object, IlvValue *values, IlUShort count) const
 Called by the method IlvAccessible::queryValues() for each IlvAccessor attached to the IlvAccessorHolder.
 
void setName (const IlSymbol *name)
 Sets the name of the accessor. More...
 

Static Public Member Functions

static IlBoolean GetTimersActive ()
 Indicates whether timers are active or not. More...
 
static void SetTimersActive (IlBoolean running)
 Starts or stops all timers. More...
 
static void UseSharedTimers (IlBoolean shared)
 Specifies whether animation accessors should be shared. More...
 
static IlBoolean UseSharedTimers ()
 Indicates whether timers are shared among animation accessors. More...
 

Protected Member Functions

virtual IlBoolean changeValue (IlvAccessorHolder *object, const IlvValue &val)
 Called by the method IlvAccessible::changeValue() for each IlvAccessor attached to the IlvAccessorHolder.
 
virtual void doit ()
 Performs periodic updates of the accessor. More...
 
IlvDisplaygetDisplay ()
 Returns the display to which the accessor is associated. More...
 
IlvAccessorHoldergetObject ()
 The object to which the accessor belongs. More...
 
IlUInt getPeriod ()
 Returns the period of the associated timer. More...
 
virtual IlvValuequeryValue (const IlvAccessorHolder *object, IlvValue &val) const
 Called by the method IlvAccessible::queryValue() for each IlvAccessor attached to the IlvAccessorHolder.
 
void setTimer (IlUInt p)
 Sets the timer period. More...
 
- Protected Member Functions inherited from IlvUserAccessor
virtual IlUInt compareValues (const IlvAccessorHolder *object, const IlvAccessible *ref, IlvValue *values, IlUShort count, IlvValueArray &diffs) const
 Compares the values in ref and object and returns the differing values. More...
 
IlBoolean getValue (IlvValue &val, const IlvAccessorHolder *object, IlvDisplay *display, IlvValueTypeClass *typeClass=0, IlSymbol *typeVal=0, const IlvValue *arg=0) const
 Evaluates a parameter of a user accessor. More...
 

Detailed Description

Base class of user accessor classes used for animating objects.

Library: ilvproto

These accessors are used to specify a visual effect to be executed repeatedly on an object at a time interval specified by the user. There are predefined subclasses for rotating, inverting, and blinking objects. The accessor has a built-in timer, which calls the doit method every time it fires. The UseSharedTimers method can be called not to use shared timers.

See also
IlvAccessorHolder, IlvTimer, IlvBlinkAccessor, IlvInvertAccessor, IlvRotateAccessor.

Constructor & Destructor Documentation

IlvAnimationAccessor::IlvAnimationAccessor ( const char *  name,
const IlvValueTypeClass type,
IlvDisplay display,
const char *  periodVal 
)

Creates a new animation accessor.

Parameters
nameName of the accessor (name of the attribute used to access the behavior).
displayDisplay used to initialize the timer.
typeAccessor type (usually IlvValueBooleanType).
periodValTime interval at which the timer will fire in milliseconds. For example, if periodVal is 100, the timer will fire every 100 milliseconds. If periodVal is 0, the timer does not fire at all. periodVal can contain a constant value, the name of another accessor, or an arithmetic expression that can contain accessor names and/or constants.
See also
IlvUserAccessor::getValue.

Member Function Documentation

virtual void IlvAnimationAccessor::doit ( )
protectedvirtual

Performs periodic updates of the accessor.

This method is called repeatedly by the IlvAnimationAccessor object at the time interval specified by the periodVal argument of the constructor. It must be redefined by subclasses to perform a visual or audio animation effect. Its default behavior implements the clock behavior: it triggers regularly the attribute it is attached to.

Reimplemented in IlvRotateAccessor, IlvBlinkAccessor, and IlvInvertAccessor.

IlvDisplay* IlvAnimationAccessor::getDisplay ( )
protected

Returns the display to which the accessor is associated.

Returns
The display to which the accessor is associated.
IlvAccessorHolder* IlvAnimationAccessor::getObject ( )
protected

The object to which the accessor belongs.

Returns
The object to which the accessor belongs.
IlUInt IlvAnimationAccessor::getPeriod ( )
protected

Returns the period of the associated timer.

Returns
Period in milliseconds.
static IlBoolean IlvAnimationAccessor::GetTimersActive ( )
static

Indicates whether timers are active or not.

Returns
IlTrue if animation timers are running.
void IlvAnimationAccessor::initialize ( const IlvAccessorHolder object)
virtual

Attachment method to an IlvAccessorHolder.

This method is called when the accessor object is attached to a group. You can redefine it in subclasses of IlvUserAccessor to perform any kind of initialization.

Parameters
objectThe object the accessor is attached to.

Reimplemented from IlvUserAccessor.

void IlvAnimationAccessor::setTimer ( IlUInt  p)
protected

Sets the timer period.

Parameters
pPeriod in milliseconds.
static void IlvAnimationAccessor::SetTimersActive ( IlBoolean  running)
static

Starts or stops all timers.

It may sometimes be useful, particularly for debugging, to start or stop all timers of all accessors. This function enables you to do so.

Parameters
runningIf set to IlTrue, all animation timers are made active. Otherwise, timers for all animation accessors are inactive.
static void IlvAnimationAccessor::UseSharedTimers ( IlBoolean  shared)
static

Specifies whether animation accessors should be shared.

By default, all the animation accessors of an application use shared timers. This means that all the animation accessors with related time periods (that is, all the accessors that have time periods with a reasonably large common divider) are triggered by the same IlvTimer object. Shared timers provide better performance because all the animation effects are synchronous and there are fewer redraw cycles. The visual effects are better because all the objects blink at the same time.

Parameters
sharedIlTrue if timers are to be shared and IlFalse if they are not.
static IlBoolean IlvAnimationAccessor::UseSharedTimers ( )
static

Indicates whether timers are shared among animation accessors.

Returns
IlTrue if timers are shared and IlFalse if not.

© Copyright 2016, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.