| 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/fxge/dib/dib_int.h" | 7 #include "core/fxge/dib/dib_int.h" |
| 8 | 8 |
| 9 #include "core/fxge/include/fx_dib.h" | 9 #include "core/fxge/include/fx_dib.h" |
| 10 | 10 |
| (...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 int stretch_height = (int)FXSYS_ceil(FXSYS_sqrt2(m_pMatrix->c, m_pMatrix->d)); | 386 int stretch_height = (int)FXSYS_ceil(FXSYS_sqrt2(m_pMatrix->c, m_pMatrix->d)); |
| 387 CFX_Matrix stretch2dest(1.0f, 0.0f, 0.0f, -1.0f, 0.0f, | 387 CFX_Matrix stretch2dest(1.0f, 0.0f, 0.0f, -1.0f, 0.0f, |
| 388 (FX_FLOAT)(stretch_height)); | 388 (FX_FLOAT)(stretch_height)); |
| 389 stretch2dest.Concat( | 389 stretch2dest.Concat( |
| 390 m_pMatrix->a / stretch_width, m_pMatrix->b / stretch_width, | 390 m_pMatrix->a / stretch_width, m_pMatrix->b / stretch_width, |
| 391 m_pMatrix->c / stretch_height, m_pMatrix->d / stretch_height, | 391 m_pMatrix->c / stretch_height, m_pMatrix->d / stretch_height, |
| 392 m_pMatrix->e, m_pMatrix->f); | 392 m_pMatrix->e, m_pMatrix->f); |
| 393 m_dest2stretch.SetReverse(stretch2dest); | 393 m_dest2stretch.SetReverse(stretch2dest); |
| 394 CFX_FloatRect clip_rect_f(result_clip); | 394 CFX_FloatRect clip_rect_f(result_clip); |
| 395 clip_rect_f.Transform(&m_dest2stretch); | 395 clip_rect_f.Transform(&m_dest2stretch); |
| 396 m_StretchClip = clip_rect_f.GetOutterRect(); | 396 m_StretchClip = clip_rect_f.GetOuterRect(); |
| 397 m_StretchClip.Intersect(0, 0, stretch_width, stretch_height); | 397 m_StretchClip.Intersect(0, 0, stretch_width, stretch_height); |
| 398 m_Stretcher.reset(new CFX_ImageStretcher(&m_Storer, m_pSrc, stretch_width, | 398 m_Stretcher.reset(new CFX_ImageStretcher(&m_Storer, m_pSrc, stretch_width, |
| 399 stretch_height, m_StretchClip, | 399 stretch_height, m_StretchClip, |
| 400 m_Flags)); | 400 m_Flags)); |
| 401 m_Stretcher->Start(); | 401 m_Stretcher->Start(); |
| 402 m_Status = 3; | 402 m_Status = 3; |
| 403 return TRUE; | 403 return TRUE; |
| 404 } | 404 } |
| 405 | 405 |
| 406 FX_BOOL CFX_ImageTransformer::Continue(IFX_Pause* pPause) { | 406 FX_BOOL CFX_ImageTransformer::Continue(IFX_Pause* pPause) { |
| (...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 946 } | 946 } |
| 947 } | 947 } |
| 948 } | 948 } |
| 949 m_Storer.Replace(std::move(pTransformed)); | 949 m_Storer.Replace(std::move(pTransformed)); |
| 950 return FALSE; | 950 return FALSE; |
| 951 } | 951 } |
| 952 | 952 |
| 953 std::unique_ptr<CFX_DIBitmap> CFX_ImageTransformer::DetachBitmap() { | 953 std::unique_ptr<CFX_DIBitmap> CFX_ImageTransformer::DetachBitmap() { |
| 954 return m_Storer.Detach(); | 954 return m_Storer.Detach(); |
| 955 } | 955 } |
| OLD | NEW |