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

Side by Side Diff: fpdfsdk/src/fpdf_transformpage.cpp

Issue 1513363002: Remove CFX_AffineMatrix/CPDF_Matrix (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Nits Created 5 years 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
« no previous file with comments | « fpdfsdk/src/fpdf_flatten.cpp ('k') | fpdfsdk/src/fpdfeditpage.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 6
7 #include "public/fpdf_transformpage.h" 7 #include "public/fpdf_transformpage.h"
8 8
9 #include "fpdfsdk/include/fsdk_define.h" 9 #include "fpdfsdk/include/fsdk_define.h"
10 10
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 if (pObj->IsReference()) 168 if (pObj->IsReference())
169 pObj = pObj->GetDirect(); 169 pObj = pObj->GetDirect();
170 170
171 if (pObj->IsDictionary()) 171 if (pObj->IsDictionary())
172 pDict = pObj->AsDictionary(); 172 pDict = pObj->AsDictionary();
173 else if (CPDF_Stream* pStream = pObj->AsStream()) 173 else if (CPDF_Stream* pStream = pObj->AsStream())
174 pDict = pStream->GetDict(); 174 pDict = pStream->GetDict();
175 else 175 else
176 continue; 176 continue;
177 177
178 CFX_AffineMatrix m = pDict->GetMatrix(FX_BSTRC("Matrix")); 178 CFX_Matrix m = pDict->GetMatrix(FX_BSTRC("Matrix"));
179 CFX_AffineMatrix t = *(CFX_AffineMatrix*)matrix; 179 CFX_Matrix t = *(CFX_Matrix*)matrix;
180 m.Concat(t); 180 m.Concat(t);
181 pDict->SetAtMatrix(FX_BSTRC("Matrix"), m); 181 pDict->SetAtMatrix(FX_BSTRC("Matrix"), m);
182 } 182 }
183 } 183 }
184 } 184 }
185 185
186 return TRUE; 186 return TRUE;
187 } 187 }
188 188
189 DLLEXPORT void STDCALL 189 DLLEXPORT void STDCALL
190 FPDFPageObj_TransformClipPath(FPDF_PAGEOBJECT page_object, 190 FPDFPageObj_TransformClipPath(FPDF_PAGEOBJECT page_object,
191 double a, 191 double a,
192 double b, 192 double b,
193 double c, 193 double c,
194 double d, 194 double d,
195 double e, 195 double e,
196 double f) { 196 double f) {
197 CPDF_PageObject* pPageObj = (CPDF_PageObject*)page_object; 197 CPDF_PageObject* pPageObj = (CPDF_PageObject*)page_object;
198 if (pPageObj == NULL) 198 if (pPageObj == NULL)
199 return; 199 return;
200 CFX_AffineMatrix matrix((FX_FLOAT)a, (FX_FLOAT)b, (FX_FLOAT)c, (FX_FLOAT)d, 200 CFX_Matrix matrix((FX_FLOAT)a, (FX_FLOAT)b, (FX_FLOAT)c, (FX_FLOAT)d,
201 (FX_FLOAT)e, (FX_FLOAT)f); 201 (FX_FLOAT)e, (FX_FLOAT)f);
202 202
203 // Special treatment to shading object, because the ClipPath for shading 203 // Special treatment to shading object, because the ClipPath for shading
204 // object is already transformed. 204 // object is already transformed.
205 if (pPageObj->m_Type != PDFPAGE_SHADING) 205 if (pPageObj->m_Type != PDFPAGE_SHADING)
206 pPageObj->TransformClipPath(matrix); 206 pPageObj->TransformClipPath(matrix);
207 pPageObj->TransformGeneralState(matrix); 207 pPageObj->TransformGeneralState(matrix);
208 } 208 }
209 209
210 DLLEXPORT FPDF_CLIPPATH STDCALL FPDF_CreateClipPath(float left, 210 DLLEXPORT FPDF_CLIPPATH STDCALL FPDF_CreateClipPath(float left,
211 float bottom, 211 float bottom,
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 } else if (pDirectObj->IsStream()) { 316 } else if (pDirectObj->IsStream()) {
317 pContentArray = new CPDF_Array(); 317 pContentArray = new CPDF_Array();
318 pContentArray->AddReference(pDoc, pStream->GetObjNum()); 318 pContentArray->AddReference(pDoc, pStream->GetObjNum());
319 pContentArray->AddReference(pDoc, pDirectObj->GetObjNum()); 319 pContentArray->AddReference(pDoc, pDirectObj->GetObjNum());
320 pPageDic->SetAtReference("Contents", pDoc, 320 pPageDic->SetAtReference("Contents", pDoc,
321 pDoc->AddIndirectObject(pContentArray)); 321 pDoc->AddIndirectObject(pContentArray));
322 } 322 }
323 } 323 }
324 } 324 }
325 } 325 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/fpdf_flatten.cpp ('k') | fpdfsdk/src/fpdfeditpage.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698