
#pragma once
#include <cstdint>

class displayDial_t
{
public:
  /// \param display the parent display
  /// \param x x pos
  /// \param y y pos
  /// \param siz = size
  displayDial_t(display_t & display,
		uint8_t x,
		uint8_t y,
		uint8_t siz,
		uint16_t angle = 90);

   // put the dial needle on the display
   void draw_needle (int16_t position);

   // draw the scale
   /// \param low low end of range
   /// \param high high end of range
   /// \param width length of long marker
   /// \param num_step number of ticks
   /// \param scale
   void draw_scale (int16_t low, int16_t high, uint8_t width, uint8_t num_step,int16_t scale);

   /// print min/max limits
   void draw_limits();

private:
  display_t & m_display;
  uint8_t const m_xo ;
  uint8_t const m_yo ;
  uint8_t const m_siz;
  uint16_t const m_a1;
  int16_t  m_low;  ///< lower scale limit
  int16_t  m_high; ///< upper scale limit

 };
