rwlogo
Rogue Wave Views 5.6

Rogue Wave Views
Prototypes Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

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

List of all members.

Public Member Functions

 IlvAnimationAccessor (const char *name, const IlvValueTypeClass *type, IlvDisplay *display, const char *periodVal)
 Creates a new animation accessor.
void initialize (const IlvAccessorHolder *object)
 Attachment method to an IlvAccessorHolder.

Static Public Member Functions

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

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.
IlvDisplaygetDisplay ()
 Returns the display to which the accessor is associated.
IlvAccessorHoldergetObject ()
 The object to which the accessor belongs.
IlUInt getPeriod ()
 Returns the period of the associated timer.
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.

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:
name Name of the accessor (name of the attribute used to access the behavior).
display Display used to initialize the timer.
type Accessor type (usually IlvValueBooleanType).
periodVal Time 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 IlvUserAccessor::getValue).

Member Function Documentation

virtual void IlvAnimationAccessor::doit (  )  [protected, virtual]

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 IlvInvertAccessor, IlvBlinkAccessor, and IlvRotateAccessor.

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:
object The object the accessor is attached to.

Reimplemented from IlvUserAccessor.

void IlvAnimationAccessor::setTimer ( IlUInt  p  )  [protected]

Sets the timer period.

Parameters:
p Period 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:
running If set to IlTrue, all animation timers are made active. Otherwise, timers for all animation accessors are inactive.
static IlBoolean IlvAnimationAccessor::UseSharedTimers (  )  [static]

Indicates whether timers are shared among animation accessors.

Returns:
IlTrue if timers are shared, and IlFalse if not.
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:
shared IlTrue if timers are to be shared, and IlFalse if they are not.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

© Copyright 2012, 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.