diff options
author | Ryan Harrison <rharrison@chromium.org> | 2018-02-01 17:46:34 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-02-01 17:46:34 +0000 |
commit | 55c62a48d36c042499c68b0aca60bc34fa2b5c99 (patch) | |
tree | 0709123d6f7b08a55de4099fa726a805805f08f5 /core/fxcrt/css/cfx_cssdata.h | |
parent | 71a7d377ff36a0be1af1848d5cac0ccb83ae725d (diff) | |
download | pdfium-55c62a48d36c042499c68b0aca60bc34fa2b5c99.tar.xz |
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 <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'core/fxcrt/css/cfx_cssdata.h')
-rw-r--r-- | core/fxcrt/css/cfx_cssdata.h | 50 |
1 files changed, 50 insertions, 0 deletions
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 <memory> +#include <vector> + +#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_ |