Line | |
---|
1 | #ifndef _RC10_FINAL_H |
---|
2 | #define _RC10_FINAL_H |
---|
3 | |
---|
4 | #include "rc1.0_register.h" |
---|
5 | |
---|
6 | class FinalAlphaFunctionStruct { |
---|
7 | public: |
---|
8 | void Init(MappedRegisterStruct _g) { g = _g; } |
---|
9 | void ZeroOut(); |
---|
10 | MappedRegisterStruct g; |
---|
11 | }; |
---|
12 | |
---|
13 | class FinalRgbFunctionStruct { |
---|
14 | public: |
---|
15 | void Init(MappedRegisterStruct _a, MappedRegisterStruct _b, MappedRegisterStruct _c, MappedRegisterStruct _d) |
---|
16 | { a = _a; b = _b; c = _c; d = _d; } |
---|
17 | void ZeroOut(); |
---|
18 | MappedRegisterStruct a; |
---|
19 | MappedRegisterStruct b; |
---|
20 | MappedRegisterStruct c; |
---|
21 | MappedRegisterStruct d; |
---|
22 | }; |
---|
23 | |
---|
24 | class FinalProductStruct { |
---|
25 | public: |
---|
26 | void Init(MappedRegisterStruct _e, MappedRegisterStruct _f) { e = _e; f = _f; } |
---|
27 | void ZeroOut(); |
---|
28 | MappedRegisterStruct e; |
---|
29 | MappedRegisterStruct f; |
---|
30 | }; |
---|
31 | |
---|
32 | class FinalCombinerStruct { |
---|
33 | public: |
---|
34 | void Init(FinalRgbFunctionStruct _rgb, FinalAlphaFunctionStruct _alpha, int _clamp, FinalProductStruct _product) |
---|
35 | { rgb = _rgb; alpha = _alpha; clamp = _clamp; product = _product; hasProduct = true;} |
---|
36 | void Init(FinalRgbFunctionStruct _rgb, FinalAlphaFunctionStruct _alpha, int _clamp) |
---|
37 | { rgb = _rgb; alpha = _alpha; clamp = _clamp; hasProduct = false; product.ZeroOut();} |
---|
38 | |
---|
39 | int hasProduct; |
---|
40 | FinalProductStruct product; |
---|
41 | int clamp; |
---|
42 | FinalRgbFunctionStruct rgb; |
---|
43 | FinalAlphaFunctionStruct alpha; |
---|
44 | void Validate(); |
---|
45 | void Invoke(); |
---|
46 | }; |
---|
47 | |
---|
48 | #endif |
---|
Note: See
TracBrowser
for help on using the repository browser.