Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "cinder/Tween.h"
  4.  
  5. //==================================================
  6. // Anim<T> + T
  7. //
  8.  
  9. template<typename T>
  10. T operator + (const ci::Anim<T> & tween, const T & value) {
  11. return tween.value() + value;
  12. }
  13.  
  14. template<typename T>
  15. T operator - (const ci::Anim<T> & tween, const T & value) {
  16. return tween.value() - value;
  17. }
  18.  
  19. template<typename T>
  20. T operator * (const ci::Anim<T> & tween, const T & value) {
  21. return tween.value() * value;
  22. }
  23.  
  24. template<typename T>
  25. T operator / (const ci::Anim<T> & tween, const T & value) {
  26. return tween.value() / value;
  27. }
  28.  
  29. template<typename T>
  30. T operator - (const ci::Anim<T> & tween) {
  31. return -tween.value();
  32. }
  33.  
  34. //==================================================
  35. // T + Anim<T>
  36. //
  37.  
  38. template<typename T>
  39. T operator + (const T & value, const ci::Anim<T> & tween) {
  40. return tween.value() + value;
  41. }
  42.  
  43. template<typename T>
  44. T operator - (const T & value, const ci::Anim<T> & tween) {
  45. return tween.value() - value;
  46. }
  47.  
  48. template<typename T>
  49. T operator * (const T & value, const ci::Anim<T> & tween) {
  50. return tween.value() * value;
  51. }
  52.  
  53. template<typename T>
  54. T operator / (const T & value, const ci::Anim<T> & tween) {
  55. return tween.value() / value;
  56. }
  57.  
  58.  
  59. //==================================================
  60. // U + Anim<T>
  61. //
  62.  
  63. template<typename T, typename U>
  64. T operator + (const U & value, const ci::Anim<T> & tween) {
  65. return value + tween.value();
  66. }
  67.  
  68. template<typename T, typename U>
  69. T operator - (const U & value, const ci::Anim<T> & tween) {
  70. return value - tween.value();
  71. }
  72.  
  73. template<typename T, typename U>
  74. T operator * (const U & value, const ci::Anim<T> & tween) {
  75. return value * tween.value();
  76. }
  77.  
  78. template<typename T, typename U>
  79. T operator / (const U & value, const ci::Anim<T> & tween) {
  80. return value / tween.value();
  81. }
  82.  
  83.  
  84. //==================================================
  85. // Anim<T> + U
  86. //
  87.  
  88. template<typename T, typename U>
  89. T operator + (const ci::Anim<T> & tween, const U & value) {
  90. return value + tween.value();
  91. }
  92.  
  93. template<typename T, typename U>
  94. T operator - (const ci::Anim<T> & tween, const U & value) {
  95. return value - tween.value();
  96. }
  97.  
  98. template<typename T, typename U>
  99. T operator * (const ci::Anim<T> & tween, const U & value) {
  100. return value * tween.value();
  101. }
  102.  
  103. template<typename T, typename U>
  104. T operator / (const ci::Anim<T> & tween, const U & value) {
  105. return value / tween.value();
  106. }
  107.  
  108.  
  109. //==================================================
  110. // Anim<T> + Anim<T>
  111. //
  112.  
  113. template<typename T>
  114. T operator + (const ci::Anim<T> & lhs, const ci::Anim<T> & rhs) {
  115. return lhs.value() + rhs.value();
  116. }
  117.  
  118. template<typename T>
  119. T operator - (const ci::Anim<T> & lhs, const ci::Anim<T> & rhs) {
  120. return lhs.value() - rhs.value();
  121. }
  122.  
  123. template<typename T>
  124. T operator * (const ci::Anim<T> & lhs, const ci::Anim<T> & rhs) {
  125. return lhs.value() * rhs.value();
  126. }
  127.  
  128. template<typename T>
  129. T operator / (const ci::Anim<T> & lhs, const ci::Anim<T> & rhs) {
  130. return lhs.value() / rhs.value();
  131. }
  132.  
  133.  
  134. //==================================================
  135. // ==, !=
  136. //
  137.  
  138. template<typename T>
  139. bool operator == (const ci::Anim<T> & tween, const T & value) {
  140. return tween.value() == value;
  141. }
  142.  
  143. template<typename T>
  144. bool operator == (const T & value, const ci::Anim<T> & tween) {
  145. return value == tween.value();
  146. }
  147.  
  148. template<typename T>
  149. bool operator != (const ci::Anim<T> & tween, const T & value) {
  150. return tween.value() != value;
  151. }
  152.  
  153. template<typename T>
  154. bool operator != (const T & value, const ci::Anim<T> & tween) {
  155. return value != tween.value();
  156. }
  157.  
  158.  
  159. //==================================================
  160. // >, <, <=, >=
  161. //
  162.  
  163. template<typename T>
  164. bool operator > (const ci::Anim<T> & tween, const T & value) {
  165. return tween.value() > value;
  166. }
  167.  
  168. template<typename T>
  169. bool operator > (const T & value, const ci::Anim<T> & tween) {
  170. return value > tween.value();
  171. }
  172.  
  173.  
  174. template<typename T>
  175. bool operator < (const ci::Anim<T> & tween, const T & value) {
  176. return tween.value() < value;
  177. }
  178.  
  179. template<typename T>
  180. bool operator < (const T & value, const ci::Anim<T> & tween) {
  181. return value < tween.value();
  182. }
  183.  
  184.  
  185. template<typename T>
  186. bool operator >= (const ci::Anim<T> & tween, const T & value) {
  187. return tween.value() >= value;
  188. }
  189.  
  190. template<typename T>
  191. bool operator >= (const T & value, const ci::Anim<T> & tween) {
  192. return value >= tween.value();
  193. }
  194.  
  195.  
  196. template<typename T>
  197. bool operator <= (const ci::Anim<T> & tween, const T & value) {
  198. return tween.value() <= value;
  199. }
  200.  
  201. template<typename T>
  202. bool operator <= (const T & value, const ci::Anim<T> & tween) {
  203. return value <= tween.value();
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement