| class PvrtcColorRgb { |
| int r; |
| int g; |
| int b; |
| |
| PvrtcColorRgb([this.r = 0, this.g = 0, this.b = 0]); |
| |
| PvrtcColorRgb.from(PvrtcColorRgb other) |
| : r = other.r |
| , g = other.g |
| , b = other.b; |
| |
| PvrtcColorRgb copy() => new PvrtcColorRgb.from(this); |
| |
| PvrtcColorRgb operator *(int x) => |
| new PvrtcColorRgb(r * x, g * x, b * x); |
| |
| PvrtcColorRgb operator +(PvrtcColorRgb x) => |
| new PvrtcColorRgb(r + x.r, g + x.g, b + x.b); |
| |
| PvrtcColorRgb operator -(PvrtcColorRgb x) => |
| new PvrtcColorRgb(r - x.r, g - x.g, b - x.b); |
| |
| int dotProd(PvrtcColorRgb x) => r * x.r + g * x.g + b * x.b; |
| |
| void setMin(PvrtcColorRgb c) { |
| if (c.r < r) { |
| r = c.r; |
| } |
| if (c.g < g) { |
| g = c.g; |
| } |
| if (c.b < b) { |
| b = c.b; |
| } |
| } |
| |
| void setMax(PvrtcColorRgb c) { |
| if (c.r > r) { |
| r = c.r; |
| } |
| if (c.g > g) { |
| g = c.g; |
| } |
| if (c.b > b) { |
| b = c.b; |
| } |
| } |
| } |
| |
| class PvrtcColorRgba { |
| int r; |
| int g; |
| int b; |
| int a; |
| |
| PvrtcColorRgba([this.r = 0, this.g = 0, this.b = 0, this.a = 0]); |
| |
| PvrtcColorRgba.from(PvrtcColorRgba other) |
| : r = other.r |
| , g = other.g |
| , b = other.b |
| , a = other.a; |
| |
| PvrtcColorRgba copy() => new PvrtcColorRgba.from(this); |
| |
| PvrtcColorRgba operator *(int x) => |
| new PvrtcColorRgba(r * x, g * x, b * x, a * x); |
| |
| PvrtcColorRgba operator +(PvrtcColorRgba x) => |
| new PvrtcColorRgba(r + x.r, g + x.g, b + x.b, a + x.a); |
| |
| PvrtcColorRgba operator -(PvrtcColorRgba x) => |
| new PvrtcColorRgba(r - x.r, g - x.g, b - x.b, a - x.a); |
| |
| int dotProd(PvrtcColorRgba x) => r * x.r + g * x.g + b * x.b + a * x.a; |
| |
| void setMin(PvrtcColorRgba c) { |
| if (c.r < r) { |
| r = c.r; |
| } |
| if (c.g < g) { |
| g = c.g; |
| } |
| if (c.b < b) { |
| b = c.b; |
| } |
| if (c.a < a) { |
| a = c.a; |
| } |
| } |
| |
| void setMax(PvrtcColorRgba c) { |
| if (c.r > r) { |
| r = c.r; |
| } |
| if (c.g > g) { |
| g = c.g; |
| } |
| if (c.b > b) { |
| b = c.b; |
| } |
| if (c.a > a) { |
| a = c.a; |
| } |
| } |
| } |