1 // Copyright 2016 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef XFA_FXFA_PARSER_CXFA_MEASUREMENT_H_ 8 #define XFA_FXFA_PARSER_CXFA_MEASUREMENT_H_ 9 10 #include "core/fxcrt/fx_string.h" 11 #include "core/fxcrt/fx_system.h" 12 #include "xfa/fxfa/fxfa_basic.h" 13 14 class CXFA_Measurement { 15 public: 16 explicit CXFA_Measurement(const CFX_WideStringC& wsMeasure); 17 CXFA_Measurement(); 18 CXFA_Measurement(FX_FLOAT fValue, XFA_UNIT eUnit); 19 20 void Set(const CFX_WideStringC& wsMeasure); Set(FX_FLOAT fValue,XFA_UNIT eUnit)21 void Set(FX_FLOAT fValue, XFA_UNIT eUnit) { 22 m_fValue = fValue; 23 m_eUnit = eUnit; 24 } 25 26 XFA_UNIT GetUnit(const CFX_WideStringC& wsUnit); GetUnit()27 XFA_UNIT GetUnit() const { return m_eUnit; } GetValue()28 FX_FLOAT GetValue() const { return m_fValue; } 29 30 bool ToString(CFX_WideString& wsMeasure) const; 31 bool ToUnit(XFA_UNIT eUnit, FX_FLOAT& fValue) const; ToUnit(XFA_UNIT eUnit)32 FX_FLOAT ToUnit(XFA_UNIT eUnit) const { 33 FX_FLOAT f; 34 return ToUnit(eUnit, f) ? f : 0; 35 } 36 37 private: 38 FX_FLOAT m_fValue; 39 XFA_UNIT m_eUnit; 40 }; 41 42 #endif // XFA_FXFA_PARSER_CXFA_MEASUREMENT_H_ 43