| OLD | NEW |
| 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 "core/fpdfapi/fpdf_render/render_int.h" | 7 #include "core/fpdfapi/fpdf_render/render_int.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 1131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1142 pdfium::base::CheckedNumeric<int> safeStartX = | 1142 pdfium::base::CheckedNumeric<int> safeStartX = |
| 1143 FXSYS_round(orig_x + left_offset); | 1143 FXSYS_round(orig_x + left_offset); |
| 1144 pdfium::base::CheckedNumeric<int> safeStartY = | 1144 pdfium::base::CheckedNumeric<int> safeStartY = |
| 1145 FXSYS_round(orig_y + top_offset); | 1145 FXSYS_round(orig_y + top_offset); |
| 1146 | 1146 |
| 1147 safeStartX -= clip_box.left; | 1147 safeStartX -= clip_box.left; |
| 1148 safeStartY -= clip_box.top; | 1148 safeStartY -= clip_box.top; |
| 1149 if (!safeStartX.IsValid() || !safeStartY.IsValid()) | 1149 if (!safeStartX.IsValid() || !safeStartY.IsValid()) |
| 1150 return; | 1150 return; |
| 1151 | 1151 |
| 1152 start_x = safeStartX.ValueOrDefault(0); | 1152 start_x = safeStartX.ValueOrDie(); |
| 1153 start_y = safeStartY.ValueOrDefault(0); | 1153 start_y = safeStartY.ValueOrDie(); |
| 1154 } | 1154 } |
| 1155 if (width == 1 && height == 1) { | 1155 if (width == 1 && height == 1) { |
| 1156 if (start_x < 0 || start_x >= clip_box.Width() || start_y < 0 || | 1156 if (start_x < 0 || start_x >= clip_box.Width() || start_y < 0 || |
| 1157 start_y >= clip_box.Height()) { | 1157 start_y >= clip_box.Height()) { |
| 1158 continue; | 1158 continue; |
| 1159 } | 1159 } |
| 1160 uint32_t* dest_buf = | 1160 uint32_t* dest_buf = |
| 1161 (uint32_t*)(screen.GetBuffer() + screen.GetPitch() * start_y + | 1161 (uint32_t*)(screen.GetBuffer() + screen.GetPitch() * start_y + |
| 1162 start_x * 4); | 1162 start_x * 4); |
| 1163 if (pPattern->colored()) | 1163 if (pPattern->colored()) |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1206 } | 1206 } |
| 1207 } | 1207 } |
| 1208 if (bStroke) { | 1208 if (bStroke) { |
| 1209 const CPDF_Color& StrokeColor = *pPathObj->m_ColorState.GetStrokeColor(); | 1209 const CPDF_Color& StrokeColor = *pPathObj->m_ColorState.GetStrokeColor(); |
| 1210 if (StrokeColor.IsPattern()) { | 1210 if (StrokeColor.IsPattern()) { |
| 1211 DrawPathWithPattern(pPathObj, pObj2Device, &StrokeColor, TRUE); | 1211 DrawPathWithPattern(pPathObj, pObj2Device, &StrokeColor, TRUE); |
| 1212 bStroke = FALSE; | 1212 bStroke = FALSE; |
| 1213 } | 1213 } |
| 1214 } | 1214 } |
| 1215 } | 1215 } |
| OLD | NEW |