DirectOutput
DirectOutput framework R2 for virtual pinball cabinets.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
DirectOutput.FX.MatrixFX.RGBAMatrixBitmapAnimationEffect Class Reference

The RGBAMatrixBitmapAnimationEffect displays a anmation which is based on a image file on the defineable part of a matrix of rgb toys (e.g. adressable ledstrip). More...

Inheritance diagram for DirectOutput.FX.MatrixFX.RGBAMatrixBitmapAnimationEffect:
Collaboration diagram for DirectOutput.FX.MatrixFX.RGBAMatrixBitmapAnimationEffect:

Protected Member Functions

override RGBAColor GetEffectValue (int TriggerValue, PixelData Pixel)
 Gets the value for a single element in the matrix. More...
 

Additional Inherited Members

- Public Member Functions inherited from DirectOutput.FX.MatrixFX.MatrixBitmapAnimationEffectBase< MatrixElementType >
override void Trigger (Table.TableElementData TableElementData)
 Triggers the effect with the given data. More...
 
override void Init (Table.Table Table)
 Initializes the effect. Resolves object references, extracts source image data. More...
 
override void Finish ()
 Finishes the effect and releases object references More...
 
- Protected Attributes inherited from DirectOutput.FX.MatrixFX.MatrixEffectBase< MatrixElementType >
int AreaLeft = 0
 The gets the X position of the led in the upper left corner of the effect area. More...
 
int AreaTop = 0
 The gets the Y position of the led in the upper left corner of the effect area. More...
 
int AreaRight = 0
 The gets the X position of the led in the lower right corner of the effect area. More...
 
int AreaBottom = 0
 The gets the Y position of the led in the lower right corner of the effect area. More...
 
MatrixElementType[,] MatrixLayer
 The layer array of a IRGBAMatrix object as specified by the ToyName and the LayerNr. This reference is initialized by the Init method. More...
 
- Properties inherited from DirectOutput.FX.MatrixFX.MatrixBitmapAnimationEffectBase< MatrixElementType >
MatrixAnimationStepDirectionEnum AnimationStepDirection [get, set]
 Gets or sets the animation direction. More...
 
int AnimationStepSize [get, set]
 Gets or sets the size of the step in pixels or frames (depending on the AnimationStepDirection) to the next frame of the animation. More...
 
int AnimationFrameCount [get, set]
 Gets or sets the number of frames for the whole animation. More...
 
AnimationBehaviourEnum AnimationBehaviour [get, set]
 Gets or sets the animation behaviour. More...
 
int AnimationFrameDurationMs [get, set]
 Gets or sets the animation frame duration in ms. More...
 
int BitmapFrameNumber [get, set]
 Gets or sets the number of the frame to be displayed. More...
 
int BitmapTop [get, set]
 Gets or sets the top of the the part of the bitmap which is to be displayed. More...
 
int BitmapLeft [get, set]
 Gets or sets the left boundary of the the part of the bitmap which is to be displayed. More...
 
int BitmapWidth [get, set]
 Gets or sets the width of the the part of the bitmap which is to be displayed. More...
 
int BitmapHeight [get, set]
 Gets or sets the height of the the part of the bitmap which is to be displayed. More...
 
FastBitmapDataExtractModeEnum DataExtractMode [get, set]
 Gets or sets the mode how data is extracted from the source bitmap. More...
 
FilePattern BitmapFilePattern [get, set]
 Gets or sets the file pattern which is used to load the bitmap file for the effect. More...
 
- Events inherited from DirectOutput.General.Generic.NamedItemBase
EventHandler< NameChangeEventArgsAfterNameChanged
 Event is fired after the value of the property Name has changed. More...
 
EventHandler< NameChangeEventArgsBeforeNameChange
 Event is fired before the value of the property Name is changed. More...
 
- Events inherited from DirectOutput.FX.IEffect
new EventHandler
< NameChangeEventArgs
AfterNameChanged
 This event must be fired after the Name property of a IEffect object has changed. More...
 
new EventHandler
< NameChangeEventArgs
BeforeNameChange
 This event must be fired before the Name property of a IEffect object is changed. More...
 

Detailed Description

The RGBAMatrixBitmapAnimationEffect displays a anmation which is based on a image file on the defineable part of a matrix of rgb toys (e.g. adressable ledstrip).

The properties of the effect allow you to specify the position, frame and size of the first image part to be displayed on the matrix. In addition you can define how the effect steps forward through the source picture for the further animation frames.

To get a better idea, have a look at the following video and the picture below it.


RGBAMatrixBitmapAnimationEffectExample.png

The image above shows what DOF does for the following settings:

  • AnimationStepDirection: Down
  • AnimationStepSize:5
  • AnimationFrameCount:116
  • AnimationBehaviour:Loop
  • AnimationFrameDurationMs:30
  • BitmapTop:10
  • BitmapLeft:0
  • BitmapWidth:100
  • BitmapHeight:20
  • DataExtractMode:BlendPixels

In this example DOF extracts a area of 20x100pixels for every frame of the animation. For every frame of the animation it steps 5 pixels down, so we slowly progress through the whole image.

Member Function Documentation

override RGBAColor DirectOutput.FX.MatrixFX.RGBAMatrixBitmapAnimationEffect.GetEffectValue ( int  TriggerValue,
PixelData  Pixel 
)
protectedvirtual

Gets the value for a single element in the matrix.

Parameters
TriggerValueThe trigger value.
PixelA pixel representing a element in the matrix.
Returns
The RGBAData for a element in the matrix

Implements DirectOutput.FX.MatrixFX.MatrixBitmapAnimationEffectBase< MatrixElementType >.


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