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_css.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_CSS_H_
8
#
define
CORE_FXCRT_CSS_CFX_CSS_H_
9
10
#
include
<
stdint
.
h
>
11
12
#
include
<
type_traits
>
13
14
enum
CFX_CSSVALUETYPE
{
15
CFX_CSSVALUETYPE_Primitive
= 1 << 0,
16
CFX_CSSVALUETYPE_List
= 1 << 1,
17
CFX_CSSVALUETYPE_Shorthand
= 1 << 2,
18
// Note the values below this comment must be > 0x0F so we can mask the above.
19
CFX_CSSVALUETYPE_MaybeNumber
= 1 << 4,
20
CFX_CSSVALUETYPE_MaybeEnum
= 1 << 5,
21
CFX_CSSVALUETYPE_MaybeString
= 1 << 7,
22
CFX_CSSVALUETYPE_MaybeColor
= 1 << 8
23
};
24
using
CFX_CSSValueTypeMask =
std
::underlying_type<
CFX_CSSVALUETYPE
>::type;
25
26
#
undef
CSS_PROP____
27
#
define
CSS_PROP____
(
a
,
b
,
c
,
d
)
a
,
28
enum
class
CFX_CSSProperty
:
uint8_t
{
29
#
include
"core/fxcrt/css/properties.inc"
30
};
31
#
undef
CSS_PROP____
32
33
#
undef
CSS_PROP_VALUE____
34
#
define
CSS_PROP_VALUE____
(
a
,
b
,
c
)
a
,
35
enum
class
CFX_CSSPropertyValue
:
uint8_t
{
36
#
include
"core/fxcrt/css/property_values.inc"
37
};
38
#
undef
CSS_PROP_VALUE____
39
40
enum
class
CFX_CSSLengthUnit
:
uint8_t
{
41
Auto
,
42
None
,
43
Normal
,
44
Point
,
45
Percent
,
46
};
47
48
enum
class
CFX_CSSDisplay
:
uint8_t
{
49
None
,
50
ListItem
,
51
Block
,
52
Inline
,
53
InlineBlock
,
54
InlineTable
,
55
};
56
57
enum
class
CFX_CSSFontStyle
:
uint8_t
{
58
Normal
,
59
Italic
,
60
};
61
62
enum
class
CFX_CSSTextAlign
:
uint8_t
{
63
Left
,
64
Right
,
65
Center
,
66
Justify
,
67
JustifyAll
,
68
};
69
70
enum
class
CFX_CSSVerticalAlign
:
uint8_t
{
71
Baseline
,
72
Sub
,
73
Super
,
74
Top
,
75
TextTop
,
76
Middle
,
77
Bottom
,
78
TextBottom
,
79
Number
,
80
};
81
82
enum
class
CFX_CSSFontVariant
:
uint8_t
{
83
Normal
,
84
SmallCaps
,
85
};
86
87
enum
class
CFX_CSSTEXTDECORATION
:
uint8_t
{
88
kNone
= 0,
89
kUnderline
= 1 << 0,
90
kOverline
= 1 << 1,
91
kLineThrough
= 1 << 2,
92
kBlink
= 1 << 3,
93
kDouble
= 1 << 4,
94
};
95
96
class
CFX_CSSLength
{
97
public
:
98
CFX_CSSLength
() =
default
;
99
100
CFX_CSSLength
(
CFX_CSSLengthUnit
eUnit,
float
fValue)
101
: m_unit(eUnit), m_fValue(fValue) {}
102
103
CFX_CSSLength
&
Set
(
CFX_CSSLengthUnit
eUnit) {
104
m_unit = eUnit;
105
return
*
this
;
106
}
107
108
CFX_CSSLength
&
Set
(
CFX_CSSLengthUnit
eUnit,
float
fValue) {
109
m_unit = eUnit;
110
m_fValue = fValue;
111
return
*
this
;
112
}
113
114
CFX_CSSLengthUnit
GetUnit
()
const
{
return
m_unit; }
115
116
float
GetValue
()
const
{
return
m_fValue; }
117
bool
NonZero
()
const
{
return
static_cast
<
int
>(m_fValue) != 0; }
118
119
private
:
120
CFX_CSSLengthUnit
m_unit;
121
float
m_fValue;
122
};
123
124
class
CFX_CSSRect
{
125
public
:
126
CFX_CSSRect
() =
default
;
127
128
CFX_CSSRect
(
CFX_CSSLengthUnit
eUnit,
float
val)
129
:
left
(
eUnit
,
val
)
,
130
top
(
eUnit
,
val
)
,
131
right
(
eUnit
,
val
)
,
132
bottom
(
eUnit
,
val
)
{}
133
134
CFX_CSSRect
&
Set
(
CFX_CSSLengthUnit
eUnit) {
135
left
.
Set
(
eUnit
)
;
136
top
.
Set
(
eUnit
)
;
137
right
.
Set
(
eUnit
)
;
138
bottom
.
Set
(
eUnit
)
;
139
return
*
this
;
140
}
141
CFX_CSSRect
&
Set
(
CFX_CSSLengthUnit
eUnit,
float
fValue) {
142
left
.
Set
(
eUnit
,
fValue
)
;
143
top
.
Set
(
eUnit
,
fValue
)
;
144
right
.
Set
(
eUnit
,
fValue
)
;
145
bottom
.
Set
(
eUnit
,
fValue
)
;
146
return
*
this
;
147
}
148
149
CFX_CSSLength
left
;
150
CFX_CSSLength
top
;
151
CFX_CSSLength
right
;
152
CFX_CSSLength
bottom
;
153
};
154
155
#
endif
// CORE_FXCRT_CSS_CFX_CSS_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_CSSFontVariant
CFX_CSSFontVariant
Definition
cfx_css.h:82
CFX_CSSFontVariant::Normal
@ Normal
Definition
cfx_css.h:83
CFX_CSSFontVariant::SmallCaps
@ SmallCaps
Definition
cfx_css.h:84
CFX_CSSFontStyle
CFX_CSSFontStyle
Definition
cfx_css.h:57
CFX_CSSFontStyle::Italic
@ Italic
Definition
cfx_css.h:59
CFX_CSSFontStyle::Normal
@ Normal
Definition
cfx_css.h:58
CFX_CSSDisplay
CFX_CSSDisplay
Definition
cfx_css.h:48
CFX_CSSDisplay::Inline
@ Inline
Definition
cfx_css.h:52
CFX_CSSDisplay::InlineTable
@ InlineTable
Definition
cfx_css.h:54
CFX_CSSDisplay::None
@ None
Definition
cfx_css.h:49
CFX_CSSDisplay::ListItem
@ ListItem
Definition
cfx_css.h:50
CFX_CSSDisplay::InlineBlock
@ InlineBlock
Definition
cfx_css.h:53
CFX_CSSDisplay::Block
@ Block
Definition
cfx_css.h:51
CFX_CSSVerticalAlign
CFX_CSSVerticalAlign
Definition
cfx_css.h:70
CFX_CSSVerticalAlign::Super
@ Super
Definition
cfx_css.h:73
CFX_CSSVerticalAlign::Bottom
@ Bottom
Definition
cfx_css.h:77
CFX_CSSVerticalAlign::TextBottom
@ TextBottom
Definition
cfx_css.h:78
CFX_CSSVerticalAlign::Baseline
@ Baseline
Definition
cfx_css.h:71
CFX_CSSVerticalAlign::Top
@ Top
Definition
cfx_css.h:74
CFX_CSSVerticalAlign::Middle
@ Middle
Definition
cfx_css.h:76
CFX_CSSVerticalAlign::Number
@ Number
Definition
cfx_css.h:79
CFX_CSSVerticalAlign::TextTop
@ TextTop
Definition
cfx_css.h:75
CFX_CSSVerticalAlign::Sub
@ Sub
Definition
cfx_css.h:72
CFX_CSSTextAlign
CFX_CSSTextAlign
Definition
cfx_css.h:62
CFX_CSSTextAlign::Justify
@ Justify
Definition
cfx_css.h:66
CFX_CSSTextAlign::Center
@ Center
Definition
cfx_css.h:65
CFX_CSSTextAlign::JustifyAll
@ JustifyAll
Definition
cfx_css.h:67
CFX_CSSTextAlign::Right
@ Right
Definition
cfx_css.h:64
CFX_CSSTextAlign::Left
@ Left
Definition
cfx_css.h:63
CFX_CSSLengthUnit
CFX_CSSLengthUnit
Definition
cfx_css.h:40
CFX_CSSLengthUnit::Auto
@ Auto
Definition
cfx_css.h:41
CFX_CSSLengthUnit::Point
@ Point
Definition
cfx_css.h:44
CFX_CSSLengthUnit::None
@ None
Definition
cfx_css.h:42
CFX_CSSLengthUnit::Normal
@ Normal
Definition
cfx_css.h:43
CFX_CSSLengthUnit::Percent
@ Percent
Definition
cfx_css.h:45
CFX_CSSPropertyValue
CFX_CSSPropertyValue
Definition
cfx_css.h:35
CFX_CSSProperty
CFX_CSSProperty
Definition
cfx_css.h:28
CFX_CSSTEXTDECORATION
CFX_CSSTEXTDECORATION
Definition
cfx_css.h:87
CFX_CSSTEXTDECORATION::kBlink
@ kBlink
Definition
cfx_css.h:92
CFX_CSSTEXTDECORATION::kNone
@ kNone
Definition
cfx_css.h:88
CFX_CSSTEXTDECORATION::kLineThrough
@ kLineThrough
Definition
cfx_css.h:91
CFX_CSSTEXTDECORATION::kUnderline
@ kUnderline
Definition
cfx_css.h:89
CFX_CSSTEXTDECORATION::kDouble
@ kDouble
Definition
cfx_css.h:93
CFX_CSSTEXTDECORATION::kOverline
@ kOverline
Definition
cfx_css.h:90
CFX_CSSColorValue::~CFX_CSSColorValue
~CFX_CSSColorValue() override
CFX_CSSColorValue::Value
FX_ARGB Value() const
Definition
cfx_csscolorvalue.h:18
CFX_CSSColorValue::CFX_CSSColorValue
CFX_CSSColorValue(FX_ARGB color)
Definition
cfx_csscolorvalue.cpp:9
CFX_CSSLength
Definition
cfx_css.h:96
CFX_CSSLength::GetValue
float GetValue() const
Definition
cfx_css.h:116
CFX_CSSLength::GetUnit
CFX_CSSLengthUnit GetUnit() const
Definition
cfx_css.h:114
CFX_CSSLength::Set
CFX_CSSLength & Set(CFX_CSSLengthUnit eUnit)
Definition
cfx_css.h:103
CFX_CSSLength::NonZero
bool NonZero() const
Definition
cfx_css.h:117
CFX_CSSLength::Set
CFX_CSSLength & Set(CFX_CSSLengthUnit eUnit, float fValue)
Definition
cfx_css.h:108
CFX_CSSLength::CFX_CSSLength
CFX_CSSLength()=default
CFX_CSSLength::CFX_CSSLength
CFX_CSSLength(CFX_CSSLengthUnit eUnit, float fValue)
Definition
cfx_css.h:100
CFX_CSSRect
Definition
cfx_css.h:124
CFX_CSSRect::CFX_CSSRect
CFX_CSSRect()=default
CFX_CSSRect::right
CFX_CSSLength right
Definition
cfx_css.h:151
CFX_CSSRect::top
CFX_CSSLength top
Definition
cfx_css.h:150
CFX_CSSRect::CFX_CSSRect
CFX_CSSRect(CFX_CSSLengthUnit eUnit, float val)
Definition
cfx_css.h:128
CFX_CSSRect::bottom
CFX_CSSLength bottom
Definition
cfx_css.h:152
CFX_CSSRect::left
CFX_CSSLength left
Definition
cfx_css.h:149
CFX_CSSRect::Set
CFX_CSSRect & Set(CFX_CSSLengthUnit eUnit)
Definition
cfx_css.h:134
CFX_CSSRect::Set
CFX_CSSRect & Set(CFX_CSSLengthUnit eUnit, float fValue)
Definition
cfx_css.h:141
CFX_CSSValue
Definition
cfx_cssvalue.h:13
CFX_CSSValue::CFX_CSSValue
CFX_CSSValue(PrimitiveType type)
Definition
cfx_cssvalue.cpp:9
CFX_CSSValue::PrimitiveType
PrimitiveType
Definition
cfx_cssvalue.h:15
CFX_CSSValue::PrimitiveType::kUnknown
@ kUnknown
Definition
cfx_cssvalue.h:16
CFX_CSSValue::PrimitiveType::kString
@ kString
Definition
cfx_cssvalue.h:18
CFX_CSSValue::PrimitiveType::kEnum
@ kEnum
Definition
cfx_cssvalue.h:20
CFX_CSSValue::PrimitiveType::kNumber
@ kNumber
Definition
cfx_cssvalue.h:17
CFX_CSSValue::PrimitiveType::kRGB
@ kRGB
Definition
cfx_cssvalue.h:19
CFX_CSSValue::PrimitiveType::kFunction
@ kFunction
Definition
cfx_cssvalue.h:21
CFX_CSSValue::PrimitiveType::kList
@ kList
Definition
cfx_cssvalue.h:22
CFX_CSSValue::GetType
PrimitiveType GetType() const
Definition
cfx_cssvalue.h:25
CFX_CSSValue::~CFX_CSSValue
~CFX_CSSValue() override
fxcrt::Retainable
Definition
retain_ptr.h:156
FX_ARGB
uint32_t FX_ARGB
Definition
fx_dib.h:36
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxcrt
css
cfx_css.h
Generated on
for Qt by
1.18.0