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
BC_CommonByteMatrix.cpp
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
// Original code is licensed as follows:
7
/*
8
* Copyright 2008 ZXing authors
9
*
10
* Licensed under the Apache License, Version 2.0 (the "License");
11
* you may not use this file except in compliance with the License.
12
* You may obtain a copy of the License at
13
*
14
* http://www.apache.org/licenses/LICENSE-2.0
15
*
16
* Unless required by applicable law or agreed to in writing, software
17
* distributed under the License is distributed on an "AS IS" BASIS,
18
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
* See the License for the specific language governing permissions and
20
* limitations under the License.
21
*/
22
#
include
"fxbarcode/common/BC_CommonByteMatrix.h"
23
24
#
include
<
algorithm
>
25
#
include
<
iterator
>
26
#
include
<
utility
>
27
28
#
include
"core/fxcrt/data_vector.h"
29
#
include
"third_party/base/check_op.h"
30
31
CBC_CommonByteMatrix::
CBC_CommonByteMatrix
(size_t width, size_t height)
32
:
m_width
(
width
),
m_height
(
height
) {
33
static
constexpr
size_t kMaxBytes = 256 * 1024 * 1024;
// 256 MB.
34
static
constexpr
uint8_t kDefaultFill = 0xff;
35
CHECK_LT(m_width, kMaxBytes / m_height);
36
m_bytes.resize(m_width * m_height, kDefaultFill);
37
}
38
39
CBC_CommonByteMatrix::~
CBC_CommonByteMatrix
() =
default
;
40
41
DataVector
<
uint8_t
> CBC_CommonByteMatrix::
TakeArray
() {
42
return
std::move(m_bytes);
43
}
44
45
uint8_t CBC_CommonByteMatrix::
Get
(size_t x, size_t y)
const
{
46
const
size_t offset = y * m_width + x;
47
CHECK_LT(offset, m_bytes.size());
48
return
m_bytes[offset];
49
}
50
51
void
CBC_CommonByteMatrix::
Set
(size_t x, size_t y, uint8_t value) {
52
const
size_t offset = y * m_width + x;
53
CHECK_LT(offset, m_bytes.size());
54
m_bytes[offset] = value;
55
}
56
57
void
CBC_CommonByteMatrix::
Fill
(uint8_t value) {
58
std::fill(std::begin(m_bytes), std::end(m_bytes), value);
59
}
CBC_CommonByteMatrix::~CBC_CommonByteMatrix
~CBC_CommonByteMatrix()
CBC_CommonByteMatrix::Set
void Set(size_t x, size_t y, uint8_t value)
Definition
BC_CommonByteMatrix.cpp:51
CBC_CommonByteMatrix::TakeArray
DataVector< uint8_t > TakeArray()
Definition
BC_CommonByteMatrix.cpp:41
CBC_CommonByteMatrix::CBC_CommonByteMatrix
CBC_CommonByteMatrix(size_t width, size_t height)
Definition
BC_CommonByteMatrix.cpp:31
CBC_CommonByteMatrix::Fill
void Fill(uint8_t value)
Definition
BC_CommonByteMatrix.cpp:57
CBC_CommonByteMatrix::Get
uint8_t Get(size_t x, size_t y) const
Definition
BC_CommonByteMatrix.cpp:45
qtwebengine
src
3rdparty
chromium
third_party
pdfium
fxbarcode
common
BC_CommonByteMatrix.cpp
Generated on Thu Nov 14 2024 01:01:39 for Qt by
1.12.0