| 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/include/fxge/fx_ge.h" | 7 #include "core/include/fxge/fx_ge.h" |
| 8 | 8 |
| 9 #if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_DESKTOP_ | 9 #if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_DESKTOP_ |
| 10 | 10 |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 pSrc->GetFormat() == FXDIB_1bppCmyk); | 142 pSrc->GetFormat() == FXDIB_1bppCmyk); |
| 143 CFX_DIBExtractor src_bitmap(pSrc); | 143 CFX_DIBExtractor src_bitmap(pSrc); |
| 144 CFX_DIBitmap* pSrcBitmap = src_bitmap; | 144 CFX_DIBitmap* pSrcBitmap = src_bitmap; |
| 145 if (!pSrcBitmap) { | 145 if (!pSrcBitmap) { |
| 146 return NULL; | 146 return NULL; |
| 147 } | 147 } |
| 148 int src_width = pSrcBitmap->GetWidth(), src_height = pSrcBitmap->GetHeight(); | 148 int src_width = pSrcBitmap->GetWidth(), src_height = pSrcBitmap->GetHeight(); |
| 149 uint8_t* src_buf = pSrcBitmap->GetBuffer(); | 149 uint8_t* src_buf = pSrcBitmap->GetBuffer(); |
| 150 FX_DWORD src_pitch = pSrcBitmap->GetPitch(); | 150 FX_DWORD src_pitch = pSrcBitmap->GetPitch(); |
| 151 FX_FLOAT dest_area = pDestMatrix->GetUnitArea(); | 151 FX_FLOAT dest_area = pDestMatrix->GetUnitArea(); |
| 152 FX_FLOAT area_scale = | 152 FX_FLOAT area_scale = ((FX_FLOAT)(src_width * src_height)) / dest_area; |
| 153 FXSYS_Div((FX_FLOAT)(src_width * src_height), dest_area); | |
| 154 FX_FLOAT size_scale = FXSYS_sqrt(area_scale); | 153 FX_FLOAT size_scale = FXSYS_sqrt(area_scale); |
| 155 CFX_Matrix adjusted_matrix(*pDestMatrix); | 154 CFX_Matrix adjusted_matrix(*pDestMatrix); |
| 156 adjusted_matrix.Scale(size_scale, size_scale); | 155 adjusted_matrix.Scale(size_scale, size_scale); |
| 157 CFX_FloatRect result_rect_f = adjusted_matrix.GetUnitRect(); | 156 CFX_FloatRect result_rect_f = adjusted_matrix.GetUnitRect(); |
| 158 FX_RECT result_rect = result_rect_f.GetOutterRect(); | 157 FX_RECT result_rect = result_rect_f.GetOutterRect(); |
| 159 CFX_Matrix src2result; | 158 CFX_Matrix src2result; |
| 160 src2result.e = adjusted_matrix.c + adjusted_matrix.e; | 159 src2result.e = adjusted_matrix.c + adjusted_matrix.e; |
| 161 src2result.f = adjusted_matrix.d + adjusted_matrix.f; | 160 src2result.f = adjusted_matrix.d + adjusted_matrix.f; |
| 162 src2result.a = adjusted_matrix.a / pSrcBitmap->GetWidth(); | 161 src2result.a = adjusted_matrix.a / pSrcBitmap->GetWidth(); |
| 163 src2result.b = adjusted_matrix.b / pSrcBitmap->GetWidth(); | 162 src2result.b = adjusted_matrix.b / pSrcBitmap->GetWidth(); |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 465 CFX_FontCache* pCache, | 464 CFX_FontCache* pCache, |
| 466 const CFX_Matrix* pObject2Device, | 465 const CFX_Matrix* pObject2Device, |
| 467 FX_FLOAT font_size, | 466 FX_FLOAT font_size, |
| 468 FX_DWORD color, | 467 FX_DWORD color, |
| 469 int alpha_flag, | 468 int alpha_flag, |
| 470 void* pIccTransform) { | 469 void* pIccTransform) { |
| 471 return m_PSRenderer.DrawText(nChars, pCharPos, pFont, pCache, pObject2Device, | 470 return m_PSRenderer.DrawText(nChars, pCharPos, pFont, pCache, pObject2Device, |
| 472 font_size, color, alpha_flag, pIccTransform); | 471 font_size, color, alpha_flag, pIccTransform); |
| 473 } | 472 } |
| 474 #endif | 473 #endif |
| OLD | NEW |