Skip to content

File evabInputFloat.h

File List > src > evabInputFloat.h

Go to the documentation of this file

#pragma once

#include <evabElementBase.h>

namespace evab
{

  class InputFloat : public ElementBase
  {
  public:
    InputFloat(float aValue = 0);

    void SetValue(float aValue);

    float GetValue() const;

    void Increment(signed char aSteps);

  protected:
    void drawer(Screen *aScreen, Coor aPos, Coor aSize, unsigned char aIsFocused) override;

  private:
    float mValue; 
  };

  class InputFloatDiscrete : public InputFloat
  {
  public:
    InputFloatDiscrete(float aValue, float aMin, float aMax, float aStep = 0.1f);

    void Select(unsigned short aIndex);

    void SetValue(float aValue);

    signed short Selected() const;

    unsigned short Count() const;

    void Increment(signed char aSteps);

  private:
    float mMin;
    float mMax;
    float mStep;
  };
}