OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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_page/include/cpdf_textobject.h" | 7 #include "core/fpdfapi/fpdf_page/include/cpdf_textobject.h" |
8 | 8 |
9 #include "core/fpdfapi/fpdf_font/cpdf_cidfont.h" | 9 #include "core/fpdfapi/fpdf_font/cpdf_cidfont.h" |
10 #include "core/fpdfapi/fpdf_font/include/cpdf_font.h" | 10 #include "core/fpdfapi/fpdf_font/include/cpdf_font.h" |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 max_y = max_y * fontsize / 1000; | 358 max_y = max_y * fontsize / 1000; |
359 } | 359 } |
360 CFX_Matrix matrix; | 360 CFX_Matrix matrix; |
361 GetTextMatrix(&matrix); | 361 GetTextMatrix(&matrix); |
362 m_Left = min_x; | 362 m_Left = min_x; |
363 m_Right = max_x; | 363 m_Right = max_x; |
364 m_Bottom = min_y; | 364 m_Bottom = min_y; |
365 m_Top = max_y; | 365 m_Top = max_y; |
366 matrix.TransformRect(m_Left, m_Right, m_Top, m_Bottom); | 366 matrix.TransformRect(m_Left, m_Right, m_Top, m_Bottom); |
367 if (TextRenderingModeIsStrokeMode(m_TextState.GetTextMode())) { | 367 if (TextRenderingModeIsStrokeMode(m_TextState.GetTextMode())) { |
368 FX_FLOAT half_width = m_GraphState.GetObject()->m_LineWidth / 2; | 368 FX_FLOAT half_width = m_GraphState.GetLineWidth() / 2; |
369 m_Left -= half_width; | 369 m_Left -= half_width; |
370 m_Right += half_width; | 370 m_Right += half_width; |
371 m_Top += half_width; | 371 m_Top += half_width; |
372 m_Bottom -= half_width; | 372 m_Bottom -= half_width; |
373 } | 373 } |
374 } | 374 } |
375 | 375 |
376 void CPDF_TextObject::SetPosition(FX_FLOAT x, FX_FLOAT y) { | 376 void CPDF_TextObject::SetPosition(FX_FLOAT x, FX_FLOAT y) { |
377 FX_FLOAT dx = x - m_PosX; | 377 FX_FLOAT dx = x - m_PosX; |
378 FX_FLOAT dy = y - m_PosY; | 378 FX_FLOAT dy = y - m_PosY; |
379 m_PosX = x; | 379 m_PosX = x; |
380 m_PosY = y; | 380 m_PosY = y; |
381 m_Left += dx; | 381 m_Left += dx; |
382 m_Right += dx; | 382 m_Right += dx; |
383 m_Top += dy; | 383 m_Top += dy; |
384 m_Bottom += dy; | 384 m_Bottom += dy; |
385 } | 385 } |
386 | 386 |
387 void CPDF_TextObject::RecalcPositionData() { | 387 void CPDF_TextObject::RecalcPositionData() { |
388 CalcPositionData(nullptr, nullptr, 1); | 388 CalcPositionData(nullptr, nullptr, 1); |
389 } | 389 } |
OLD | NEW |