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 14class 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); 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); 27 XFA_UNIT GetUnit() const { return m_eUnit; } 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; 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