image-colours/complimentary_colour_extractor.h
2022-12-07 14:50:26 +02:00

25 lines
703 B
C++

#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_