#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 ColourHSV m_main_colour; protected: // Implemented - Evaluates the given colour based on its weight virtual size_t evaluate_colour(struct ColourHSV hsv, double weight) const; public: ComplimentaryColourExtractor(struct ColourHSV hsv, size_t h_levels = 36, size_t s_levels = 10, size_t v_levels = 10); struct ColourHSV get_main_colour() const; void set_main_colour(struct ColourHSV hsv); }; #endif // COMPLIMENTARY_COLOUR_EXTRACTOR_H_