WIP
DirectOutput framework for virtual pinball cabinets WIP
|
Go to: Overview |
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...
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< RGBAColor > | Layers [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< NameChangeEventArgs > | AfterNameChanged |
Event is fired after the value of the property Name has changed. More... | |
EventHandler< NameChangeEventArgs > | BeforeNameChanged |
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< NameChangeEventArgs > | BeforeNameChanged |
Occurs before the name of the item changes. More... | |
EventHandler< NameChangeEventArgs > | AfterNameChanged |
Occurs when after the name of the item has changed. More... | |
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:
Definition at line 19 of file RGBAToy.cs.
DirectOutput.Cab.Toys.Layer.RGBAToy.RGBAToy | ( | ) |
Initializes a new instance of the RGBAToy class.
Definition at line 250 of file RGBAToy.cs.
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.
Definition at line 38 of file RGBAToy.cs.
override void DirectOutput.Cab.Toys.Layer.RGBAToy.Init | ( | Cabinet | Cabinet | ) |
Initializes the RGBALed toy.
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.
|
virtual |
Updates the outputs of the RGBAToy.
Implements DirectOutput.Cab.Toys.ToyBaseUpdatable.
Definition at line 207 of file RGBAToy.cs.
|
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.
|
get |
|
getset |
Name of the IOutput for blue.
Definition at line 91 of file RGBAToy.cs.
|
getset |
Name of the IOutput for green.
Definition at line 84 of file RGBAToy.cs.
|
getset |
Name of the IOutput for red.
Definition at line 77 of file RGBAToy.cs.