#pragma once

namespace lumacs {

/// RGB Color representation
struct Color {
    int r, g, b;
    Color(int r = 0, int g = 0, int b = 0) : r(r), g(g), b(b) {}

    /// Convert to ncurses color index (will be assigned dynamically)
    int to_ncurses_color() const;

    /// Comparison operator for use in maps
    bool operator<(const Color& other) const {
        if (r != other.r) return r < other.r;
        if (g != other.g) return g < other.g;
        return b < other.b;
    }
    
    bool operator==(const Color& other) const {
        return r == other.r && g == other.g && b == other.b;
    }
};

} // namespace lumacs
