#pragma once

#include "Types.h"
#include "Color3.h"

namespace ehs
{
    class EHS_LIB_IO Color4
    {
    public:
        float r;
        float g;
        float b;
        float a;

        Color4();

		Color4(float scalar);

		explicit Color4(const Color3& color);

		Color4(float r, float g, float b, float a = 1.0f);

        Color4(const Color4& color);

		Color4& operator=(float scalar);

		Color4& operator=(const Color3& color);

        Color4& operator=(const Color4& color);

		bool operator==(const Color4& color) const;

		bool operator!=(const Color4& color) const;

        float operator[](UInt_64 i) const;

        float& operator[](UInt_64 i);

		Color4& operator*=(const Color4& color);

		Color4 operator*(const Color4& color) const;
    };
}