From 55c62a48d36c042499c68b0aca60bc34fa2b5c99 Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Thu, 1 Feb 2018 17:46:34 +0000 Subject: Convert CFX_CSSPropertyTable to CFX_CSSData This converts the existing class naming and references. The ::Entry struct is converted to ::Property. The GetBy* methods are renamed to GetPropertyBy*. Free functions from other parts of the CSS code base are merged into the class. GetCSSPropertyValueByName becomes ::GetPropertyValueByName with a return value of ::PropertyValue*. GetCSSLengthUnitByName becomes ::GetLengthUnitByName with a return value of ::LengthUnit*. GetCSSColorByName becomes ::GetColorByName with a return value of ::Color*. BUG=pdfium:998 Change-Id: I5b78c69d0fe53ad714ac3545cfdda8c26b95e4d5 Reviewed-on: https://pdfium-review.googlesource.com/25010 Reviewed-by: dsinclair Reviewed-by: Henrique Nakashima Commit-Queue: Ryan Harrison --- core/fxcrt/css/cfx_cssdata.h | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 core/fxcrt/css/cfx_cssdata.h (limited to 'core/fxcrt/css/cfx_cssdata.h') diff --git a/core/fxcrt/css/cfx_cssdata.h b/core/fxcrt/css/cfx_cssdata.h new file mode 100644 index 0000000000..e7bf57c26d --- /dev/null +++ b/core/fxcrt/css/cfx_cssdata.h @@ -0,0 +1,50 @@ +// Copyright 2018 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef CORE_FXCRT_CSS_CFX_CSSDATA_H_ +#define CORE_FXCRT_CSS_CFX_CSSDATA_H_ + +#include +#include + +#include "core/fxcrt/css/cfx_css.h" +#include "core/fxcrt/css/cfx_cssnumbervalue.h" +#include "core/fxcrt/css/cfx_cssvalue.h" +#include "core/fxcrt/string_view_template.h" + +class CFX_CSSData { + public: + struct Property { + CFX_CSSProperty eName; + const wchar_t* pszName; + uint32_t dwHash; + uint32_t dwType; + }; + + struct PropertyValue { + CFX_CSSPropertyValue eName; + const wchar_t* pszName; + uint32_t dwHash; + }; + + struct LengthUnit { + const wchar_t* value; + CFX_CSSNumberType type; + }; + + struct Color { + const wchar_t* name; + FX_ARGB value; + }; + + static const Property* GetPropertyByName(WideStringView name); + static const Property* GetPropertyByEnum(CFX_CSSProperty property); + static const PropertyValue* GetPropertyValueByName(WideStringView wsName); + static const LengthUnit* GetLengthUnitByName(WideStringView wsName); + static const Color* GetColorByName(WideStringView wsName); +}; + +#endif // CORE_FXCRT_CSS_CFX_CSSDATA_H_ -- cgit v1.2.3