File: gradient.cpp

package info (click to toggle)
ares 134%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 34,680 kB
  • sloc: cpp: 338,717; ansic: 89,036; sh: 52; makefile: 27
file content (37 lines) | stat: -rw-r--r-- 943 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#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.size())) {
    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