Stroika Library 3.0d18
 
Loading...
Searching...
No Matches
Units.h
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4
5#ifndef __Units_h__
6#define __Units_h__ 1
7
8#include "Stroika/Foundation/StroikaPreComp.h"
9
10#include <afxwin.h>
11
12#include "Stroika/Frameworks/Led/Support.h"
13
14#include "LedItConfig.h"
15
16class Unit {
17public:
18 int m_nTPU{};
19 int m_nSmallDiv{}; // small divisions - small line displayed
20 int m_nMediumDiv{}; // medium divisions - large line displayed
21 int m_nLargeDiv{}; // large divisions - numbers displayed
22 int m_nMinMove{}; // minimum tracking movements
23 BOOL m_bSpaceAbbrev{}; // put space before abbreviation
24 CString m_strAbbrev{}; // cm, pt, pi, ", in, inch, inches
25
26 Unit () = default;
27 Unit (int nTPU, int nSmallDiv, int nMediumDiv, int nLargeDiv, int nMinMove, const char* nAbbrev, BOOL bSpaceAbbrev);
28
29public:
30 int GetTPU () const
31 {
32 return m_nTPU;
33 };
34};
35
36class StandardUnits {
37public:
38 enum {
39 kPrimaryNumUnits = 4
40 };
41 enum {
42 kNumUnits = 7
43 };
44 static const Unit kUnits[kNumUnits];
45
46public:
47 static Unit GetCurrentUnits ();
48};
49
50/*
51 ********************************************************************************
52 ***************************** Implementation Details ***************************
53 ********************************************************************************
54 */
55
56#endif /*__Units_h__*/