Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
cfx_cssdeclaration.h
Go to the documentation of this file.
1
// Copyright 2014 The PDFium Authors
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
CORE_FXCRT_CSS_CFX_CSSDECLARATION_H_
8
#
define
CORE_FXCRT_CSS_CFX_CSSDECLARATION_H_
9
10
#
include
<
memory
>
11
#
include
<
optional
>
12
#
include
<
vector
>
13
14
#
include
"core/fxcrt/css/cfx_cssdata.h"
15
#
include
"core/fxcrt/retain_ptr.h"
16
#
include
"core/fxcrt/widestring.h"
17
18
class
CFX_CSSPropertyHolder
;
19
class
CFX_CSSCustomProperty
;
20
21
class
CFX_CSSDeclaration
{
22
public
:
23
using
const_prop_iterator
=
24
std
::
vector
<
std
::
unique_ptr
<
CFX_CSSPropertyHolder
>>::
const_iterator
;
25
using
const_custom_iterator
=
26
std
::
vector
<
std
::
unique_ptr
<
CFX_CSSCustomProperty
>>::
const_iterator
;
27
28
static
std
::optional<
WideStringView
>
ParseCSSString
(
WideStringView
value);
29
static
std
::optional<
FX_ARGB
>
ParseCSSColor
(
WideStringView
value);
30
31
CFX_CSSDeclaration
();
32
~
CFX_CSSDeclaration
();
33
34
RetainPtr
<
CFX_CSSValue
>
GetProperty
(
CFX_CSSProperty
eProperty,
35
bool
* bImportant)
const
;
36
37
bool
empty
()
const
{
return
properties_.empty(); }
38
const_prop_iterator
begin
()
const
{
return
properties_.begin(); }
39
const_prop_iterator
end
()
const
{
return
properties_.end(); }
40
41
const_custom_iterator
custom_begin
()
const
{
42
return
custom_properties_.begin();
43
}
44
const_custom_iterator
custom_end
()
const
{
return
custom_properties_.end(); }
45
46
void
AddProperty
(
const
CFX_CSSData
::
Property
* property,
WideStringView
value);
47
void
AddProperty
(
const
WideString
& prop,
const
WideString
& value);
48
size_t
PropertyCountForTesting
()
const
;
49
50
std
::optional<
FX_ARGB
>
ParseColorForTest
(
WideStringView
value);
51
52
private
:
53
void
ParseFontProperty(
WideStringView
value,
bool
bImportant);
54
55
// Never returns nullptr, instead returns a CSSValue representing zero
56
// if the input cannot be parsed.
57
RetainPtr
<
CFX_CSSValue
> ParseBorderProperty(
WideStringView
value)
const
;
58
59
void
ParseValueListProperty(
const
CFX_CSSData
::
Property
* pProperty,
60
WideStringView
value,
61
bool
bImportant);
62
void
Add4ValuesProperty(
const
std::vector<RetainPtr<CFX_CSSValue>>& list,
63
bool
bImportant,
64
CFX_CSSProperty
eLeft,
65
CFX_CSSProperty
eTop,
66
CFX_CSSProperty
eRight,
67
CFX_CSSProperty
eBottom);
68
RetainPtr
<
CFX_CSSValue
> ParseNumber(
WideStringView
value);
69
RetainPtr
<
CFX_CSSValue
> ParseEnum(
WideStringView
value);
70
RetainPtr
<
CFX_CSSValue
> ParseColor(
WideStringView
value);
71
RetainPtr
<
CFX_CSSValue
> ParseString(
WideStringView
value);
72
void
AddPropertyHolder(
CFX_CSSProperty
eProperty,
73
RetainPtr
<
CFX_CSSValue
> pValue,
74
bool
bImportant);
75
76
std::vector<std::unique_ptr<CFX_CSSPropertyHolder>> properties_;
77
std::vector<std::unique_ptr<CFX_CSSCustomProperty>> custom_properties_;
78
};
79
80
#
endif
// CORE_FXCRT_CSS_CFX_CSSDECLARATION_H_
CFX_CSSVALUETYPE
CFX_CSSVALUETYPE
Definition
cfx_css.h:14
CFX_CSSVALUETYPE_Shorthand
@ CFX_CSSVALUETYPE_Shorthand
Definition
cfx_css.h:17
CFX_CSSVALUETYPE_List
@ CFX_CSSVALUETYPE_List
Definition
cfx_css.h:16
CFX_CSSVALUETYPE_Primitive
@ CFX_CSSVALUETYPE_Primitive
Definition
cfx_css.h:15
CFX_CSSVALUETYPE_MaybeEnum
@ CFX_CSSVALUETYPE_MaybeEnum
Definition
cfx_css.h:20
CFX_CSSVALUETYPE_MaybeString
@ CFX_CSSVALUETYPE_MaybeString
Definition
cfx_css.h:21
CFX_CSSVALUETYPE_MaybeColor
@ CFX_CSSVALUETYPE_MaybeColor
Definition
cfx_css.h:22
CFX_CSSVALUETYPE_MaybeNumber
@ CFX_CSSVALUETYPE_MaybeNumber
Definition
cfx_css.h:19
CFX_CSSPropertyValue
CFX_CSSPropertyValue
Definition
cfx_css.h:35
CFX_CSSProperty
CFX_CSSProperty
Definition
cfx_css.h:28
DCHECK
#define DCHECK
Definition
check.h:33
CFX_CSSCustomProperty
Definition
cfx_csscustomproperty.h:12
CFX_CSSData
Definition
cfx_cssdata.h:16
CFX_CSSData::GetColorByName
static const Color * GetColorByName(WideStringView wsName)
Definition
cfx_cssdata.cpp:115
CFX_CSSData::GetLengthUnitByName
static const LengthUnit * GetLengthUnitByName(WideStringView wsName)
Definition
cfx_cssdata.cpp:102
CFX_CSSData::GetPropertyValueByName
static const PropertyValue * GetPropertyValueByName(WideStringView wsName)
Definition
cfx_cssdata.cpp:84
CFX_CSSDeclaration
Definition
cfx_cssdeclaration.h:21
CFX_CSSDeclaration::end
const_prop_iterator end() const
Definition
cfx_cssdeclaration.h:39
CFX_CSSDeclaration::empty
bool empty() const
Definition
cfx_cssdeclaration.h:37
CFX_CSSDeclaration::AddProperty
void AddProperty(const CFX_CSSData::Property *property, WideStringView value)
Definition
cfx_cssdeclaration.cpp:152
CFX_CSSDeclaration::begin
const_prop_iterator begin() const
Definition
cfx_cssdeclaration.h:38
CFX_CSSDeclaration::ParseCSSString
static std::optional< WideStringView > ParseCSSString(WideStringView value)
Definition
cfx_cssdeclaration.cpp:60
CFX_CSSDeclaration::AddProperty
void AddProperty(const WideString &prop, const WideString &value)
Definition
cfx_cssdeclaration.cpp:257
CFX_CSSDeclaration::~CFX_CSSDeclaration
~CFX_CSSDeclaration()
CFX_CSSDeclaration::PropertyCountForTesting
size_t PropertyCountForTesting() const
Definition
cfx_cssdeclaration.cpp:613
CFX_CSSDeclaration::custom_begin
const_custom_iterator custom_begin() const
Definition
cfx_cssdeclaration.h:41
CFX_CSSDeclaration::ParseColorForTest
std::optional< FX_ARGB > ParseColorForTest(WideStringView value)
CFX_CSSDeclaration::custom_end
const_custom_iterator custom_end() const
Definition
cfx_cssdeclaration.h:44
CFX_CSSDeclaration::CFX_CSSDeclaration
CFX_CSSDeclaration()
CFX_CSSDeclaration::ParseCSSColor
static std::optional< FX_ARGB > ParseCSSColor(WideStringView value)
Definition
cfx_cssdeclaration.cpp:76
CFX_CSSDeclaration::GetProperty
RetainPtr< CFX_CSSValue > GetProperty(CFX_CSSProperty eProperty, bool *bImportant) const
Definition
cfx_cssdeclaration.cpp:130
CFX_CSSPropertyHolder
Definition
cfx_csspropertyholder.h:14
CFX_CSSValueListParser
Definition
cfx_cssvaluelistparser.h:17
CFX_CSSValueListParser::UseCommaSeparator
void UseCommaSeparator()
Definition
cfx_cssvaluelistparser.h:28
CFX_CSSValueListParser::NextValue
std::optional< Result > NextValue()
Definition
cfx_cssvaluelistparser.cpp:24
CFX_CSSValue
Definition
cfx_cssvalue.h:13
CFX_CSSValue::PrimitiveType
PrimitiveType
Definition
cfx_cssvalue.h:15
CFX_CSSValue::PrimitiveType::kString
@ kString
Definition
cfx_cssvalue.h:18
CFX_CSSValue::PrimitiveType::kNumber
@ kNumber
Definition
cfx_cssvalue.h:17
CFX_CSSValue::PrimitiveType::kRGB
@ kRGB
Definition
cfx_cssvalue.h:19
fxcrt::RetainPtr
Definition
retain_ptr.h:28
pdfium::CFDETextOutLargeBitmapTest
Definition
cfde_textout_unittest.cpp:117
FX_ARGB
uint32_t FX_ARGB
Definition
fx_dib.h:36
ArgbEncode
constexpr FX_ARGB ArgbEncode(uint32_t a, uint32_t r, uint32_t g, uint32_t b)
Definition
fx_dib.h:188
FXSYS_HexCharToInt
int FXSYS_HexCharToInt(char c)
Definition
fx_extension.h:87
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
NOTREACHED_NORETURN
#define NOTREACHED_NORETURN()
Definition
notreached.h:22
WideStringView
fxcrt::WideStringView WideStringView
Definition
string_view_template.h:326
CFX_CSSData::Color
Definition
cfx_cssdata.h:34
CFX_CSSData::Color::value
FX_ARGB value
Definition
cfx_cssdata.h:36
CFX_CSSData::LengthUnit
Definition
cfx_cssdata.h:29
CFX_CSSData::LengthUnit::type
CFX_CSSNumber::Unit type
Definition
cfx_cssdata.h:31
CFX_CSSData::PropertyValue
Definition
cfx_cssdata.h:24
CFX_CSSData::PropertyValue::eName
CFX_CSSPropertyValue eName
Definition
cfx_cssdata.h:25
CFX_CSSData::Property
Definition
cfx_cssdata.h:18
CFX_CSSData::Property::eName
CFX_CSSProperty eName
Definition
cfx_cssdata.h:19
CFX_CSSNumber
Definition
cfx_cssnumbervalue.h:12
CFX_CSSNumber::Unit
Unit
Definition
cfx_cssnumbervalue.h:13
CFX_CSSNumber::Unit::kPercent
@ kPercent
Definition
cfx_cssnumbervalue.h:15
CFX_CSSNumber::Unit::kNumber
@ kNumber
Definition
cfx_cssnumbervalue.h:14
WideString
fxcrt::WideString WideString
Definition
widestring.h:207
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxcrt
css
cfx_cssdeclaration.h
Generated on
for Qt by
1.18.0