#ifndef PROBABILITY_RESPONDER_IMAGE_CELL_H #define PROBABILITY_RESPONDER_IMAGE_CELL_H #include #include "calculation/calculation.h" #include "calculation_type_controller.h" #include "image_cell.h" namespace Probability { class ResponderImageCell : public HighlightCell, public Responder { public: ResponderImageCell(Responder * parentResponder, Law * law, Calculation * calculation, CalculationController * calculationController); Responder * responder() override { return this; } void drawRect(KDContext * ctx, KDRect rect) const override; KDSize minimalSizeForOptimalDisplay() const override; bool handleEvent(Ion::Events::Event event) override; void setHighlighted(bool highlight) override; void setImage(const Image * image, const Image * focusedImage); constexpr static KDCoordinate k_outline = 1; constexpr static KDCoordinate k_oneCellWidth = 2*k_outline+ImageCell::k_width; constexpr static KDCoordinate k_oneCellHeight = 2*k_outline+ImageCell::k_height; private: int numberOfSubviews() const override; View * subviewAtIndex(int index) override; void layoutSubviews() override; ImageCell m_imageCell; CalculationTypeController m_calculationTypeController; }; } #endif