WIP
DirectOutput framework for virtual pinball cabinets WIP
Go to:
Overview 
DirectOutput.Cab.Toys.Layer.RGBAToy Class Reference

Thie RGBAToy controls RGB leds and other gadgets displaying RGB colors.

The RGBAToy has multilayer support with alpha channels. This allows the effects targeting RGBAToys to send their data to different layers. Values in a layer do also have a alpha/transparency channel which will allow us to blend the colors/values in the various layers (e.g. if a bottom layer is blue and top is a semi transparent red, you will get some mix of both or if one of the two blinks you get changing colors).
The following picture might give you a clearer idea how the layers with their alpha channels work: More...

Inheritance diagram for DirectOutput.Cab.Toys.Layer.RGBAToy:
DirectOutput.Cab.Toys.ToyBaseUpdatable DirectOutput.Cab.Toys.IRGBOutputToy DirectOutput.Cab.Toys.IRGBAToy DirectOutput.Cab.Toys.ToyBase DirectOutput.Cab.Toys.IToyUpdatable DirectOutput.Cab.Toys.IToy DirectOutput.Cab.Toys.Layer.ILayerToy< RGBAColor > DirectOutput.General.Generic.NamedItemBase DirectOutput.Cab.Toys.IToy DirectOutput.Cab.Toys.IToy DirectOutput.General.Generic.INamedItem DirectOutput.General.Generic.INamedItem DirectOutput.General.Generic.INamedItem DirectOutput.General.Generic.INamedItem DirectOutput.Cab.Toys.Hardware.RGBLed

Public Member Functions

RGBColor GetResultingData ()
 Get the RGBColor resulting from the colors and alpha values in the layers. More...
 
override void Init (Cabinet Cabinet)
 Initializes the RGBALed toy. More...
 
override void Finish ()
 Finishes the RGBALed toy.
Resets the the toy and releases all references. More...
 
override void UpdateOutputs ()
 Updates the outputs of the RGBAToy. More...
 
override void Reset ()
 Clears all layers and sets all outputs to 0 (off). More...
 
 RGBAToy ()
 Initializes a new instance of the RGBAToy class. More...
 

Properties

LayerDictionary< RGBAColorLayers [get]
 Gets the dictionary of RGBALayers. More...
 
string OutputNameRed [get, set]
 Name of the IOutput for red. More...
 
string OutputNameGreen [get, set]
 Name of the IOutput for green. More...
 
string OutputNameBlue [get, set]
 Name of the IOutput for blue. More...
 
string FadingCurveName [get, set]
 Gets or sets the name of the fading curve as defined in the Curves list of the cabinet object. This curve can be used to adjust the brightness values for the led to the brightness perception of the human eye. More...
 
- Properties inherited from DirectOutput.General.Generic.NamedItemBase
string Name [get, set]
 Name of the named item.
Triggers BeforeNameChange before a new Name is set.
Triggers AfterNameChanged after a new name has been set. More...
 
- Properties inherited from DirectOutput.General.Generic.INamedItem
string Name [get, set]
 Gets or sets the name of the item.
Must fire the BeforeNameChange and AfterNameChange events when the value of the property is changed. More...
 
- Properties inherited from DirectOutput.Cab.Toys.IToy
new string Name [get, set]
 Gets or sets the Name of the IToy. More...
 
- Properties inherited from DirectOutput.Cab.Toys.IRGBOutputToy
string OutputNameBlue [get, set]
 Gets or sets the output name for blue. More...
 
string OutputNameGreen [get, set]
 Gets or sets the output name for green. More...
 
string OutputNameRed [get, set]
 Gets or sets the output name for red. More...
 
- Properties inherited from DirectOutput.Cab.Toys.Layer.ILayerToy< RGBAColor >
LayerDictionary< LayerElementType > Layers [get]
 

Additional Inherited Members

- Protected Member Functions inherited from DirectOutput.General.Generic.NamedItemBase
virtual void AfterNameChange (string OldName, string NewName)
 
virtual void BeforeNameChange (string OldName, string NewName)
 
virtual void OnPropertyChanged (string propertyName)
 
virtual void OnPropertyChanging (string propertyName)
 
- Events inherited from DirectOutput.General.Generic.NamedItemBase
EventHandler< NameChangeEventArgsAfterNameChanged
 Event is fired after the value of the property Name has changed. More...
 
EventHandler< NameChangeEventArgsBeforeNameChanged
 Event is fired before the value of the property Name is changed. More...
 
PropertyChangedEventHandler PropertyChanged
 
PropertyChangingEventHandler PropertyChanging
 
- Events inherited from DirectOutput.General.Generic.INamedItem
EventHandler< NameChangeEventArgsBeforeNameChanged
 Occurs before the name of the item changes. More...
 
EventHandler< NameChangeEventArgsAfterNameChanged
 Occurs when after the name of the item has changed. More...
 

Detailed Description

Thie RGBAToy controls RGB leds and other gadgets displaying RGB colors.

The RGBAToy has multilayer support with alpha channels. This allows the effects targeting RGBAToys to send their data to different layers. Values in a layer do also have a alpha/transparency channel which will allow us to blend the colors/values in the various layers (e.g. if a bottom layer is blue and top is a semi transparent red, you will get some mix of both or if one of the two blinks you get changing colors).
The following picture might give you a clearer idea how the layers with their alpha channels work:

LayersRGBA.png
RGBA Layers

Definition at line 19 of file RGBAToy.cs.

Constructor & Destructor Documentation

DirectOutput.Cab.Toys.Layer.RGBAToy.RGBAToy ( )

Initializes a new instance of the RGBAToy class.

Definition at line 250 of file RGBAToy.cs.

Member Function Documentation

override void DirectOutput.Cab.Toys.Layer.RGBAToy.Finish ( )

Finishes the RGBALed toy.
Resets the the toy and releases all references.

Implements DirectOutput.Cab.Toys.IToy.

Definition at line 191 of file RGBAToy.cs.

RGBColor DirectOutput.Cab.Toys.Layer.RGBAToy.GetResultingData ( )

Get the RGBColor resulting from the colors and alpha values in the layers.

Returns

Definition at line 38 of file RGBAToy.cs.

override void DirectOutput.Cab.Toys.Layer.RGBAToy.Init ( Cabinet  Cabinet)

Initializes the RGBALed toy.

Parameters
CabinetCabinet object to which the RGBAToy belongs.

Implements DirectOutput.Cab.Toys.IToy.

Definition at line 149 of file RGBAToy.cs.

override void DirectOutput.Cab.Toys.Layer.RGBAToy.Reset ( )

Clears all layers and sets all outputs to 0 (off).

Implements DirectOutput.Cab.Toys.IToy.

Definition at line 229 of file RGBAToy.cs.

override void DirectOutput.Cab.Toys.Layer.RGBAToy.UpdateOutputs ( )
virtual

Updates the outputs of the RGBAToy.

Implements DirectOutput.Cab.Toys.ToyBaseUpdatable.

Definition at line 207 of file RGBAToy.cs.

Property Documentation

string DirectOutput.Cab.Toys.Layer.RGBAToy.FadingCurveName
getset

Gets or sets the name of the fading curve as defined in the Curves list of the cabinet object. This curve can be used to adjust the brightness values for the led to the brightness perception of the human eye.

The name of the fading curve.

Definition at line 108 of file RGBAToy.cs.

LayerDictionary<RGBAColor> DirectOutput.Cab.Toys.Layer.RGBAToy.Layers
get

Gets the dictionary of RGBALayers.

The layers dictionary.

Definition at line 30 of file RGBAToy.cs.

string DirectOutput.Cab.Toys.Layer.RGBAToy.OutputNameBlue
getset

Name of the IOutput for blue.

Definition at line 91 of file RGBAToy.cs.

string DirectOutput.Cab.Toys.Layer.RGBAToy.OutputNameGreen
getset

Name of the IOutput for green.

Definition at line 84 of file RGBAToy.cs.

string DirectOutput.Cab.Toys.Layer.RGBAToy.OutputNameRed
getset

Name of the IOutput for red.

Definition at line 77 of file RGBAToy.cs.


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