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
cbc_pdf417i.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
* Copyright 2011 ZXing authors
8
*
9
* Licensed under the Apache License, Version 2.0 (the "License");
10
* you may not use this file except in compliance with the License.
11
* You may obtain a copy of the License at
12
*
13
* http://www.apache.org/licenses/LICENSE-2.0
14
*
15
* Unless required by applicable law or agreed to in writing, software
16
* distributed under the License is distributed on an "AS IS" BASIS,
17
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
* See the License for the specific language governing permissions and
19
* limitations under the License.
20
*/
21
22
#
include
"fxbarcode/cbc_pdf417i.h"
23
24
#
include
<
stdint
.
h
>
25
26
#
include
<
memory
>
27
28
#
include
"core/fxcrt/data_vector.h"
29
#
include
"fxbarcode/pdf417/BC_PDF417Writer.h"
30
31
namespace
{
32
33
// Multiple source say PDF417 can encode about 1100 bytes, 1800 ASCII characters
34
// or 2710 numerical digits.
35
constexpr
size_t kMaxPDF417InputLengthBytes = 2710;
36
37
}
// namespace
38
39
CBC_PDF417I::
CBC_PDF417I
()
40
:
CBC_CodeBase
(
std
::make_unique<CBC_PDF417Writer>()) {}
41
42
CBC_PDF417I::~
CBC_PDF417I
() =
default
;
43
44
bool
CBC_PDF417I::
Encode
(
WideStringView
contents) {
45
if
(contents.GetLength() > kMaxPDF417InputLengthBytes)
46
return
false
;
47
48
auto
* pWriter = GetPDF417Writer();
49
CBC_PDF417Writer::
EncodeResult
result = pWriter
->
Encode
(
contents
)
;
50
return
pWriter->RenderResult(result.data, result
.
width
, result
.
height
);
51
}
52
53
bool
CBC_PDF417I::
RenderDevice
(
CFX_RenderDevice
* device,
54
const
CFX_Matrix
& matrix) {
55
GetPDF417Writer()
->
RenderDeviceResult
(device, matrix);
56
return
true
;
57
}
58
59
BC_TYPE
CBC_PDF417I::
GetType
() {
60
return
BC_TYPE
::
kPDF417
;
61
}
62
63
CBC_PDF417Writer* CBC_PDF417I::GetPDF417Writer() {
64
return
static_cast
<CBC_PDF417Writer*>(m_pBCWriter.get());
65
}
BC_TYPE
BC_TYPE
Definition
BC_Library.h:20
BC_TYPE::kPDF417
@ kPDF417
Definition
BC_Library.h:31
CBC_CodeBase
Definition
cbc_codebase.h:22
CBC_PDF417I::GetType
BC_TYPE GetType() override
Definition
cbc_pdf417i.cpp:59
CBC_PDF417I::Encode
bool Encode(WideStringView contents) override
Definition
cbc_pdf417i.cpp:44
CBC_PDF417I::RenderDevice
bool RenderDevice(CFX_RenderDevice *device, const CFX_Matrix &matrix) override
Definition
cbc_pdf417i.cpp:53
CBC_PDF417I::CBC_PDF417I
CBC_PDF417I()
Definition
cbc_pdf417i.cpp:39
CBC_PDF417I::~CBC_PDF417I
~CBC_PDF417I() override
CBC_PDF417Writer::Encode
EncodeResult Encode(WideStringView contents) const
Definition
BC_PDF417Writer.cpp:62
CBC_TwoDimWriter::RenderDeviceResult
void RenderDeviceResult(CFX_RenderDevice *device, const CFX_Matrix &matrix)
Definition
BC_TwoDimWriter.cpp:83
CFX_Matrix
Definition
fx_coordinates.h:440
CFX_RenderDevice
Definition
cfx_renderdevice.h:39
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
WideStringView
fxcrt::WideStringView WideStringView
Definition
string_view_template.h:326
CBC_PDF417Writer::EncodeResult
Definition
BC_PDF417Writer.h:19
CBC_PDF417Writer::EncodeResult::width
int32_t width
Definition
BC_PDF417Writer.h:24
CBC_PDF417Writer::EncodeResult::height
int32_t height
Definition
BC_PDF417Writer.h:25
qtwebengine
src
3rdparty
chromium
third_party
pdfium
fxbarcode
cbc_pdf417i.cpp
Generated on
for Qt by
1.18.0