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
cpdf_renderoptions.cpp
Go to the documentation of this file.
1
// Copyright 2016 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/fpdfapi/render/cpdf_renderoptions.h"
8
9
namespace
{
10
11
constexpr
uint32_t kCacheSizeLimitBytes = 100 * 1024 * 1024;
12
13
}
// namespace
14
15
CPDF_RenderOptions
::
Options
::
Options
() =
default
;
16
17
CPDF_RenderOptions
::
Options
::
Options
(
const
CPDF_RenderOptions
::
Options
& rhs) =
18
default
;
19
20
CPDF_RenderOptions
::
Options
&
CPDF_RenderOptions
::
Options
::
operator
=(
21
const
CPDF_RenderOptions
::
Options
& rhs) =
default
;
22
23
CPDF_RenderOptions
::
CPDF_RenderOptions
() {
24
// TODO(thestig): Make constexpr to initialize |m_Options| once C++14 is
25
// available.
26
m_Options
.
bClearType
=
true
;
27
}
28
29
CPDF_RenderOptions
::
CPDF_RenderOptions
(
const
CPDF_RenderOptions
& rhs) =
default
;
30
31
CPDF_RenderOptions
::~
CPDF_RenderOptions
() =
default
;
32
33
FX_ARGB
CPDF_RenderOptions
::
TranslateColor
(
FX_ARGB
argb)
const
{
34
if
(
ColorModeIs
(
kNormal
)
)
35
return
argb;
36
if
(
ColorModeIs
(
kAlpha
)
)
37
return
argb;
38
39
const
FX_BGRA_STRUCT
<uint8_t> bgra = ArgbToBGRAStruct(argb);
40
const
int
gray =
FXRGB2GRAY
(bgra.red, bgra.green, bgra.blue);
41
return
ArgbEncode(bgra.alpha, gray, gray, gray);
42
}
43
44
FX_ARGB
CPDF_RenderOptions
::
TranslateObjectFillColor
(
45
FX_ARGB
argb,
46
CPDF_PageObject
::
Type
object_type)
const
{
47
if
(!
ColorModeIs
(
kForcedColor
)
) {
48
return
TranslateColor
(
argb
)
;
49
}
50
switch
(object_type) {
51
case
CPDF_PageObject
::
Type
::
kPath
:
52
return
m_ColorScheme
.
path_fill_color
;
53
case
CPDF_PageObject
::
Type
::
kText
:
54
return
m_ColorScheme
.
text_fill_color
;
55
default
:
56
return
argb;
57
}
58
}
59
60
FX_ARGB
CPDF_RenderOptions
::
TranslateObjectStrokeColor
(
61
FX_ARGB
argb,
62
CPDF_PageObject
::
Type
object_type)
const
{
63
if
(!
ColorModeIs
(
kForcedColor
)
) {
64
return
TranslateColor
(
argb
)
;
65
}
66
switch
(object_type) {
67
case
CPDF_PageObject
::
Type
::
kPath
:
68
return
m_ColorScheme
.
path_stroke_color
;
69
case
CPDF_PageObject
::
Type
::
kText
:
70
return
m_ColorScheme
.
text_stroke_color
;
71
default
:
72
return
argb;
73
}
74
}
75
76
uint32_t
CPDF_RenderOptions
::
GetCacheSizeLimit
()
const
{
77
return
kCacheSizeLimitBytes;
78
}
79
80
bool
CPDF_RenderOptions
::
CheckOCGDictVisible
(
const
CPDF_Dictionary
* pOC)
const
{
81
return
!m_pOCContext || m_pOCContext->CheckOCGDictVisible(pOC);
82
}
83
84
bool
CPDF_RenderOptions
::
CheckPageObjectVisible
(
85
const
CPDF_PageObject
* pPageObj)
const
{
86
return
!m_pOCContext || m_pOCContext->CheckPageObjectVisible(pPageObj);
87
}
CPDF_Dictionary::DictMap
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
Definition
cpdf_dictionary.h:31
CPDF_PageObject
Definition
cpdf_pageobject.h:27
CPDF_PageObject::Type
Type
Definition
cpdf_pageobject.h:30
CPDF_PageObject::Type::kPath
@ kPath
Definition
cpdf_pageobject.h:32
CPDF_PageObject::Type::kText
@ kText
Definition
cpdf_pageobject.h:31
CPDF_RenderOptions
Definition
cpdf_renderoptions.h:19
CPDF_RenderOptions::~CPDF_RenderOptions
~CPDF_RenderOptions()
CPDF_RenderOptions::TranslateColor
FX_ARGB TranslateColor(FX_ARGB argb) const
Definition
cpdf_renderoptions.cpp:33
CPDF_RenderOptions::GetCacheSizeLimit
uint32_t GetCacheSizeLimit() const
Definition
cpdf_renderoptions.cpp:76
CPDF_RenderOptions::CheckPageObjectVisible
bool CheckPageObjectVisible(const CPDF_PageObject *pPageObj) const
Definition
cpdf_renderoptions.cpp:84
CPDF_RenderOptions::CheckOCGDictVisible
bool CheckOCGDictVisible(const CPDF_Dictionary *pOC) const
Definition
cpdf_renderoptions.cpp:80
CPDF_RenderOptions::CPDF_RenderOptions
CPDF_RenderOptions(const CPDF_RenderOptions &rhs)
CPDF_RenderOptions::TranslateObjectStrokeColor
FX_ARGB TranslateObjectStrokeColor(FX_ARGB argb, CPDF_PageObject::Type object_type) const
Definition
cpdf_renderoptions.cpp:60
CPDF_RenderOptions::ColorModeIs
bool ColorModeIs(Type mode) const
Definition
cpdf_renderoptions.h:62
CPDF_RenderOptions::kForcedColor
@ kForcedColor
Definition
cpdf_renderoptions.h:21
CPDF_RenderOptions::kAlpha
@ kAlpha
Definition
cpdf_renderoptions.h:21
CPDF_RenderOptions::kNormal
@ kNormal
Definition
cpdf_renderoptions.h:21
CPDF_RenderOptions::TranslateObjectFillColor
FX_ARGB TranslateObjectFillColor(FX_ARGB argb, CPDF_PageObject::Type object_type) const
Definition
cpdf_renderoptions.cpp:44
CPDF_RenderOptions::CPDF_RenderOptions
CPDF_RenderOptions()
Definition
cpdf_renderoptions.cpp:23
FX_ARGB
uint32_t FX_ARGB
Definition
fx_dib.h:36
FXRGB2GRAY
#define FXRGB2GRAY(r, g, b)
Definition
fx_dib.h:203
CPDF_RenderOptions::ColorScheme::path_stroke_color
FX_ARGB path_stroke_color
Definition
cpdf_renderoptions.h:42
CPDF_RenderOptions::ColorScheme::text_stroke_color
FX_ARGB text_stroke_color
Definition
cpdf_renderoptions.h:44
CPDF_RenderOptions::ColorScheme::text_fill_color
FX_ARGB text_fill_color
Definition
cpdf_renderoptions.h:43
CPDF_RenderOptions::ColorScheme::path_fill_color
FX_ARGB path_fill_color
Definition
cpdf_renderoptions.h:41
CPDF_RenderOptions::Options
Definition
cpdf_renderoptions.h:23
CPDF_RenderOptions::Options::Options
Options(const Options &rhs)
CPDF_RenderOptions::Options::bClearType
bool bClearType
Definition
cpdf_renderoptions.h:28
CPDF_RenderOptions::Options::Options
Options()
CPDF_RenderOptions::Options::operator=
Options & operator=(const Options &rhs)
FX_BGRA_STRUCT
Definition
fx_dib.h:84
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fpdfapi
render
cpdf_renderoptions.cpp
Generated on
for Qt by
1.18.0