#ifndef __metrics #define __metrics #include //#include "fonts/FreeSansBold18pt7b.trimmed.h" class Metrics { public: /* Small font Uses the built-in Adafruit GFX 5x8 font. */ static constexpr const GFXfont* SmallFont = nullptr; static const uint8_t SmallFontTextSize = 1; static const uint16_t SmallFontBaseline = 0; static const uint16_t SmallFontHeight = 8; static const uint16_t SmallFontMaxHeight = Metrics::SmallFontHeight; /* Large font Originally used a trimmed version of the FreeSansBold 18pt font. Unfortunately due to program size constraints (I already ordered PCBs based on the ATMega328P) I'll use a scaled version of the built-in font for now. */ static constexpr const GFXfont* LargeFont = nullptr;//&FreeSansBold18pt7bTrimmed; static const uint8_t LargeFontTextSize = 3; //static const uint16_t LargeFontBaseline = 25; //static const uint16_t LargeFontHeight = Metrics::LargeFontBaseline; //static const uint16_t LargeFontMaxHeight = 42; static const uint16_t LargeFontBaseline = 0; static const uint16_t LargeFontHeight = 24; static const uint16_t LargeFontMaxHeight = 24; /* Text line Defines the height of a standard line of text including margins. Suitable for applying a background color. */ static const uint16_t LargeTextLineMargin = 7; static const uint16_t LargeTextLineYOffset = Metrics::LargeFontBaseline + Metrics::LargeTextLineMargin; static const uint16_t LargeTextLineHeight = (Metrics::LargeFontHeight + (2 * Metrics::LargeTextLineMargin)); static const uint16_t SmallTextLineMargin = 7; static const uint16_t SmallTextLineHeight = (Metrics::SmallFontHeight + (2 * Metrics::SmallTextLineMargin)); /* Arrows */ static const uint16_t HArrowWidth = 10; static const uint16_t HArrowHeight = 20; static const uint16_t VArrowWidth = Metrics::HArrowHeight; static const uint16_t VArrowHeight = Metrics::HArrowWidth; static const uint16_t ArrowMargin = 8; static const uint16_t LargeTextLineHArrowYOffset = (Metrics::LargeTextLineHeight - Metrics::HArrowHeight) / 2; static const uint16_t LargeTextLineVArrowYOffset = (Metrics::LargeTextLineHeight - Metrics::VArrowHeight) / 2; /* Screen layout Shared amongst screens for a consistent layout */ static const uint16_t MiddleLargeTextLineY = 100; }; #endif