Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cfx_cssnumbervalue.cpp
Go to the documentation of this file.
1
// Copyright 2017 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
#
include
"core/fxcrt/css/cfx_cssnumbervalue.h"
8
9
#
include
<
math
.
h
>
10
11
CFX_CSSNumberValue::
CFX_CSSNumberValue
(
CFX_CSSNumber
number)
12
:
CFX_CSSValue
(
PrimitiveType
::
kNumber
)
, number_(number) {
13
if
(number_
.
unit
==
CFX_CSSNumber
::
Unit
::
kNumber
&&
14
fabs(number_
.
value
) < 0.001f) {
15
number_
.
value
= 0.0f;
16
}
17
}
18
19
CFX_CSSNumberValue::~
CFX_CSSNumberValue
() =
default
;
20
21
float
CFX_CSSNumberValue::
Apply
(
float
percentBase)
const
{
22
switch
(number_
.
unit
) {
23
case
CFX_CSSNumber
::
Unit
::
kPixels
:
24
case
CFX_CSSNumber
::
Unit
::
kNumber
:
25
return
number_
.
value
* 72 / 96;
26
case
CFX_CSSNumber
::
Unit
::
kEMS
:
27
case
CFX_CSSNumber
::
Unit
::
kEXS
:
28
return
number_
.
value
* percentBase;
29
case
CFX_CSSNumber
::
Unit
::
kPercent
:
30
return
number_
.
value
* percentBase / 100.0f;
31
case
CFX_CSSNumber
::
Unit
::
kCentiMeters
:
32
return
number_
.
value
* 28.3464f;
33
case
CFX_CSSNumber
::
Unit
::
kMilliMeters
:
34
return
number_
.
value
* 2.8346f;
35
case
CFX_CSSNumber
::
Unit
::
kInches
:
36
return
number_
.
value
* 72.0f;
37
case
CFX_CSSNumber
::
Unit
::
kPicas
:
38
return
number_
.
value
/ 12.0f;
39
case
CFX_CSSNumber
::
Unit
::
kPoints
:
40
return
number_
.
value
;
41
}
42
}
CFX_CSSNumberValue::CFX_CSSNumberValue
CFX_CSSNumberValue(CFX_CSSNumber number)
Definition
cfx_cssnumbervalue.cpp:11
CFX_CSSNumberValue::Apply
float Apply(float percentBase) const
Definition
cfx_cssnumbervalue.cpp:21
CFX_CSSNumberValue::~CFX_CSSNumberValue
~CFX_CSSNumberValue() override
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::kNumber
@ kNumber
Definition
cfx_cssvalue.h:17
CFX_CSSNumber
Definition
cfx_cssnumbervalue.h:12
CFX_CSSNumber::value
float value
Definition
cfx_cssnumbervalue.h:27
CFX_CSSNumber::unit
Unit unit
Definition
cfx_cssnumbervalue.h:26
CFX_CSSNumber::Unit
Unit
Definition
cfx_cssnumbervalue.h:13
CFX_CSSNumber::Unit::kEMS
@ kEMS
Definition
cfx_cssnumbervalue.h:16
CFX_CSSNumber::Unit::kPercent
@ kPercent
Definition
cfx_cssnumbervalue.h:15
CFX_CSSNumber::Unit::kMilliMeters
@ kMilliMeters
Definition
cfx_cssnumbervalue.h:20
CFX_CSSNumber::Unit::kNumber
@ kNumber
Definition
cfx_cssnumbervalue.h:14
CFX_CSSNumber::Unit::kEXS
@ kEXS
Definition
cfx_cssnumbervalue.h:17
CFX_CSSNumber::Unit::kPoints
@ kPoints
Definition
cfx_cssnumbervalue.h:22
CFX_CSSNumber::Unit::kCentiMeters
@ kCentiMeters
Definition
cfx_cssnumbervalue.h:19
CFX_CSSNumber::Unit::kPixels
@ kPixels
Definition
cfx_cssnumbervalue.h:18
CFX_CSSNumber::Unit::kPicas
@ kPicas
Definition
cfx_cssnumbervalue.h:23
CFX_CSSNumber::Unit::kInches
@ kInches
Definition
cfx_cssnumbervalue.h:21
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxcrt
css
cfx_cssnumbervalue.cpp
Generated on
for Qt by
1.14.0