38 lines
935 B
C++
38 lines
935 B
C++
|
|
#ifndef COLOR_H
|
|
#define COLOR_H COLOR_H
|
|
|
|
#include <iostream>
|
|
#include "util/Vector.h"
|
|
|
|
class Color
|
|
{
|
|
public:
|
|
double r, g, b;
|
|
|
|
Color();
|
|
Color(double r, double g, double b);
|
|
Color(const Vector & v);
|
|
|
|
Color operator*(const Color & other) const;
|
|
Color operator*(double scale) const;
|
|
Color operator/(double scale) const;
|
|
Color & operator+=(const Color & other);
|
|
Color & operator-=(const Color & other);
|
|
|
|
static const Color black;
|
|
static const Color white;
|
|
static const Color red;
|
|
static const Color green;
|
|
static const Color blue;
|
|
static const Color yellow;
|
|
static const Color cyan;
|
|
};
|
|
|
|
Color operator+(const Color & c1, const Color & c2);
|
|
Color operator-(const Color & c1, const Color & c2);
|
|
std::ostream & operator<<(std::ostream & out, const Color & color);
|
|
|
|
#endif
|
|
|