Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Side by Side Diff: xfa/src/fxbarcode/common/BC_CommonPerspectiveTransform.cpp

Issue 1734823002: Get rid of CBC_AutoPtr and use std::unique_ptr instead. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 // Original code is licensed as follows: 6 // Original code is licensed as follows:
7 /* 7 /*
8 * Copyright 2007 ZXing authors 8 * Copyright 2007 ZXing authors
9 * 9 *
10 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * Licensed under the Apache License, Version 2.0 (the "License");
11 * you may not use this file except in compliance with 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 12 * You may obtain a copy of the License at
13 * 13 *
14 * http://www.apache.org/licenses/LICENSE-2.0 14 * http://www.apache.org/licenses/LICENSE-2.0
15 * 15 *
16 * Unless required by applicable law or agreed to in writing, software 16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS, 17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and 19 * See the License for the specific language governing permissions and
20 * limitations under the License. 20 * limitations under the License.
21 */ 21 */
22 22
23 #include "xfa/src/fxbarcode/common/BC_CommonPerspectiveTransform.h"
24
25 #include <memory>
26
23 #include "core/include/fxcrt/fx_basic.h" 27 #include "core/include/fxcrt/fx_basic.h"
24 #include "xfa/src/fxbarcode/common/BC_CommonPerspectiveTransform.h"
25 #include "xfa/src/fxbarcode/utils.h" 28 #include "xfa/src/fxbarcode/utils.h"
26 29
27 CBC_CommonPerspectiveTransform::CBC_CommonPerspectiveTransform(FX_FLOAT a11, 30 CBC_CommonPerspectiveTransform::CBC_CommonPerspectiveTransform(FX_FLOAT a11,
28 FX_FLOAT a21, 31 FX_FLOAT a21,
29 FX_FLOAT a31, 32 FX_FLOAT a31,
30 FX_FLOAT a12, 33 FX_FLOAT a12,
31 FX_FLOAT a22, 34 FX_FLOAT a22,
32 FX_FLOAT a32, 35 FX_FLOAT a32,
33 FX_FLOAT a13, 36 FX_FLOAT a13,
34 FX_FLOAT a23, 37 FX_FLOAT a23,
(...skipping 19 matching lines...) Expand all
54 FX_FLOAT x3, 57 FX_FLOAT x3,
55 FX_FLOAT y3, 58 FX_FLOAT y3,
56 FX_FLOAT x0p, 59 FX_FLOAT x0p,
57 FX_FLOAT y0p, 60 FX_FLOAT y0p,
58 FX_FLOAT x1p, 61 FX_FLOAT x1p,
59 FX_FLOAT y1p, 62 FX_FLOAT y1p,
60 FX_FLOAT x2p, 63 FX_FLOAT x2p,
61 FX_FLOAT y2p, 64 FX_FLOAT y2p,
62 FX_FLOAT x3p, 65 FX_FLOAT x3p,
63 FX_FLOAT y3p) { 66 FX_FLOAT y3p) {
64 CBC_AutoPtr<CBC_CommonPerspectiveTransform> qToS( 67 std::unique_ptr<CBC_CommonPerspectiveTransform> qToS(
65 QuadrilateralToSquare(x0, y0, x1, y1, x2, y2, x3, y3)); 68 QuadrilateralToSquare(x0, y0, x1, y1, x2, y2, x3, y3));
66 CBC_AutoPtr<CBC_CommonPerspectiveTransform> sToQ( 69 std::unique_ptr<CBC_CommonPerspectiveTransform> sToQ(
67 SquareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p)); 70 SquareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p));
68 return sToQ->Times(*(qToS.get())); 71 return sToQ->Times(*(qToS.get()));
69 } 72 }
70 void CBC_CommonPerspectiveTransform::TransformPoints(CFX_FloatArray* points) { 73 void CBC_CommonPerspectiveTransform::TransformPoints(CFX_FloatArray* points) {
71 int32_t max = points->GetSize(); 74 int32_t max = points->GetSize();
72 FX_FLOAT a11 = m_a11; 75 FX_FLOAT a11 = m_a11;
73 FX_FLOAT a12 = m_a12; 76 FX_FLOAT a12 = m_a12;
74 FX_FLOAT a13 = m_a13; 77 FX_FLOAT a13 = m_a13;
75 FX_FLOAT a21 = m_a21; 78 FX_FLOAT a21 = m_a21;
76 FX_FLOAT a22 = m_a22; 79 FX_FLOAT a22 = m_a22;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 } 119 }
117 CBC_CommonPerspectiveTransform* 120 CBC_CommonPerspectiveTransform*
118 CBC_CommonPerspectiveTransform::QuadrilateralToSquare(FX_FLOAT x0, 121 CBC_CommonPerspectiveTransform::QuadrilateralToSquare(FX_FLOAT x0,
119 FX_FLOAT y0, 122 FX_FLOAT y0,
120 FX_FLOAT x1, 123 FX_FLOAT x1,
121 FX_FLOAT y1, 124 FX_FLOAT y1,
122 FX_FLOAT x2, 125 FX_FLOAT x2,
123 FX_FLOAT y2, 126 FX_FLOAT y2,
124 FX_FLOAT x3, 127 FX_FLOAT x3,
125 FX_FLOAT y3) { 128 FX_FLOAT y3) {
126 CBC_AutoPtr<CBC_CommonPerspectiveTransform> temp1( 129 std::unique_ptr<CBC_CommonPerspectiveTransform> temp1(
127 SquareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3)); 130 SquareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3));
128 return temp1->BuildAdjoint(); 131 return temp1->BuildAdjoint();
129 } 132 }
130 CBC_CommonPerspectiveTransform* CBC_CommonPerspectiveTransform::BuildAdjoint() { 133 CBC_CommonPerspectiveTransform* CBC_CommonPerspectiveTransform::BuildAdjoint() {
131 return new CBC_CommonPerspectiveTransform( 134 return new CBC_CommonPerspectiveTransform(
132 m_a22 * m_a33 - m_a23 * m_a32, m_a23 * m_a31 - m_a21 * m_a33, 135 m_a22 * m_a33 - m_a23 * m_a32, m_a23 * m_a31 - m_a21 * m_a33,
133 m_a21 * m_a32 - m_a22 * m_a31, m_a13 * m_a32 - m_a12 * m_a33, 136 m_a21 * m_a32 - m_a22 * m_a31, m_a13 * m_a32 - m_a12 * m_a33,
134 m_a11 * m_a33 - m_a13 * m_a31, m_a12 * m_a31 - m_a11 * m_a32, 137 m_a11 * m_a33 - m_a13 * m_a31, m_a12 * m_a31 - m_a11 * m_a32,
135 m_a12 * m_a23 - m_a13 * m_a22, m_a13 * m_a21 - m_a11 * m_a23, 138 m_a12 * m_a23 - m_a13 * m_a22, m_a13 * m_a21 - m_a11 * m_a23,
136 m_a11 * m_a22 - m_a12 * m_a21); 139 m_a11 * m_a22 - m_a12 * m_a21);
137 } 140 }
138 CBC_CommonPerspectiveTransform* CBC_CommonPerspectiveTransform::Times( 141 CBC_CommonPerspectiveTransform* CBC_CommonPerspectiveTransform::Times(
139 CBC_CommonPerspectiveTransform& other) { 142 CBC_CommonPerspectiveTransform& other) {
140 return new CBC_CommonPerspectiveTransform( 143 return new CBC_CommonPerspectiveTransform(
141 m_a11 * other.m_a11 + m_a21 * other.m_a12 + m_a31 * other.m_a13, 144 m_a11 * other.m_a11 + m_a21 * other.m_a12 + m_a31 * other.m_a13,
142 m_a11 * other.m_a21 + m_a21 * other.m_a22 + m_a31 * other.m_a23, 145 m_a11 * other.m_a21 + m_a21 * other.m_a22 + m_a31 * other.m_a23,
143 m_a11 * other.m_a31 + m_a21 * other.m_a32 + m_a31 * other.m_a33, 146 m_a11 * other.m_a31 + m_a21 * other.m_a32 + m_a31 * other.m_a33,
144 m_a12 * other.m_a11 + m_a22 * other.m_a12 + m_a32 * other.m_a13, 147 m_a12 * other.m_a11 + m_a22 * other.m_a12 + m_a32 * other.m_a13,
145 m_a12 * other.m_a21 + m_a22 * other.m_a22 + m_a32 * other.m_a23, 148 m_a12 * other.m_a21 + m_a22 * other.m_a22 + m_a32 * other.m_a23,
146 m_a12 * other.m_a31 + m_a22 * other.m_a32 + m_a32 * other.m_a33, 149 m_a12 * other.m_a31 + m_a22 * other.m_a32 + m_a32 * other.m_a33,
147 m_a13 * other.m_a11 + m_a23 * other.m_a12 + m_a33 * other.m_a13, 150 m_a13 * other.m_a11 + m_a23 * other.m_a12 + m_a33 * other.m_a13,
148 m_a13 * other.m_a21 + m_a23 * other.m_a22 + m_a33 * other.m_a23, 151 m_a13 * other.m_a21 + m_a23 * other.m_a22 + m_a33 * other.m_a23,
149 m_a13 * other.m_a31 + m_a23 * other.m_a32 + m_a33 * other.m_a33); 152 m_a13 * other.m_a31 + m_a23 * other.m_a32 + m_a33 * other.m_a33);
150 } 153 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698