mirror of https://github.com/bsnes-emu/bsnes.git
38 lines
936 B
C++
38 lines
936 B
C++
|
#if defined(Hiro_Gradient)
|
||
|
|
||
|
Gradient::Gradient() {
|
||
|
}
|
||
|
|
||
|
Gradient::operator bool() const {
|
||
|
return state.colors.size() == 4;
|
||
|
}
|
||
|
|
||
|
auto Gradient::operator==(const Gradient& source) const -> bool {
|
||
|
if(state.colors.size() != source.state.colors.size()) return false;
|
||
|
for(auto n : range(state.colors)) {
|
||
|
if(state.colors[n] != source.state.colors[n]) return false;
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
auto Gradient::operator!=(const Gradient& source) const -> bool {
|
||
|
return !operator==(source);
|
||
|
}
|
||
|
|
||
|
auto Gradient::setBilinear(Color topLeft, Color topRight, Color bottomLeft, Color bottomRight) -> type& {
|
||
|
state.colors = {topLeft, topRight, bottomLeft, bottomRight};
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
auto Gradient::setHorizontal(Color left, Color right) -> type& {
|
||
|
state.colors = {left, right, left, right};
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
auto Gradient::setVertical(Color top, Color bottom) -> type& {
|
||
|
state.colors = {top, top, bottom, bottom};
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
#endif
|