1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2016 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #ifndef XFA_FXFA_PARSER_CXFA_MEASUREMENT_H_ 8*3ac0a46fSAndroid Build Coastguard Worker #define XFA_FXFA_PARSER_CXFA_MEASUREMENT_H_ 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxcrt/widestring.h" 11*3ac0a46fSAndroid Build Coastguard Worker #include "xfa/fxfa/fxfa_basic.h" 12*3ac0a46fSAndroid Build Coastguard Worker 13*3ac0a46fSAndroid Build Coastguard Worker class CXFA_Measurement { 14*3ac0a46fSAndroid Build Coastguard Worker public: 15*3ac0a46fSAndroid Build Coastguard Worker explicit CXFA_Measurement(WideStringView wsMeasure); 16*3ac0a46fSAndroid Build Coastguard Worker CXFA_Measurement(); 17*3ac0a46fSAndroid Build Coastguard Worker CXFA_Measurement(float fValue, XFA_Unit eUnit); 18*3ac0a46fSAndroid Build Coastguard Worker 19*3ac0a46fSAndroid Build Coastguard Worker static XFA_Unit GetUnitFromString(WideStringView wsUnit); 20*3ac0a46fSAndroid Build Coastguard Worker Set(float fValue,XFA_Unit eUnit)21*3ac0a46fSAndroid Build Coastguard Worker void Set(float fValue, XFA_Unit eUnit) { 22*3ac0a46fSAndroid Build Coastguard Worker m_fValue = fValue; 23*3ac0a46fSAndroid Build Coastguard Worker m_eUnit = eUnit; 24*3ac0a46fSAndroid Build Coastguard Worker } 25*3ac0a46fSAndroid Build Coastguard Worker GetUnit()26*3ac0a46fSAndroid Build Coastguard Worker XFA_Unit GetUnit() const { return m_eUnit; } GetValue()27*3ac0a46fSAndroid Build Coastguard Worker float GetValue() const { return m_fValue; } 28*3ac0a46fSAndroid Build Coastguard Worker 29*3ac0a46fSAndroid Build Coastguard Worker WideString ToString() const; 30*3ac0a46fSAndroid Build Coastguard Worker float ToUnit(XFA_Unit eUnit) const; 31*3ac0a46fSAndroid Build Coastguard Worker 32*3ac0a46fSAndroid Build Coastguard Worker private: 33*3ac0a46fSAndroid Build Coastguard Worker void SetString(WideStringView wsMeasure); 34*3ac0a46fSAndroid Build Coastguard Worker bool ToUnitInternal(XFA_Unit eUnit, float* fValue) const; 35*3ac0a46fSAndroid Build Coastguard Worker 36*3ac0a46fSAndroid Build Coastguard Worker float m_fValue = 0.0f; 37*3ac0a46fSAndroid Build Coastguard Worker XFA_Unit m_eUnit = XFA_Unit::Percent; 38*3ac0a46fSAndroid Build Coastguard Worker }; 39*3ac0a46fSAndroid Build Coastguard Worker 40*3ac0a46fSAndroid Build Coastguard Worker #endif // XFA_FXFA_PARSER_CXFA_MEASUREMENT_H_ 41