#ifndef COMPLIMENTARY_COLOUR_EXTRACTOR_H_ #define COMPLIMENTARY_COLOUR_EXTRACTOR_H_ #include "colour_extractor.h" class ComplimentaryColourExtractor : public ColourExtractor { private: // Main colour against which we are finding the complimentary struct ColourHSL m_main_colour; protected: // Implemented - Evaluates the given colour based on its weight virtual size_t evaluate_colour(struct ColourHSL hsl, double weight) const; public: ComplimentaryColourExtractor(struct ColourHSL hsl, size_t h_levels = 36, size_t s_levels = 10, size_t v_levels = 10); struct ColourHSL get_main_colour() const; void set_main_colour(struct ColourHSL hsl); }; #endif // COMPLIMENTARY_COLOUR_EXTRACTOR_H_