kumarashishg | 826308d | 2023-06-23 13:21:22 +0000 | [diff] [blame] | 1 | // Copyright 2017 The PDFium Authors |
Philip P. Moltmann | d904c1e | 2018-03-19 09:26:45 -0700 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | |
| 7 | #include "xfa/fxfa/cxfa_ffarc.h" |
| 8 | |
| 9 | #include "xfa/fxfa/parser/cxfa_arc.h" |
| 10 | #include "xfa/fxfa/parser/cxfa_value.h" |
| 11 | |
Haibo Huang | 49cc930 | 2020-04-27 16:14:24 -0700 | [diff] [blame] | 12 | CXFA_FFArc::CXFA_FFArc(CXFA_Node* pNode) : CXFA_FFWidget(pNode) {} |
Philip P. Moltmann | d904c1e | 2018-03-19 09:26:45 -0700 | [diff] [blame] | 13 | |
kumarashishg | 826308d | 2023-06-23 13:21:22 +0000 | [diff] [blame] | 14 | CXFA_FFArc::~CXFA_FFArc() = default; |
Philip P. Moltmann | d904c1e | 2018-03-19 09:26:45 -0700 | [diff] [blame] | 15 | |
kumarashishg | 826308d | 2023-06-23 13:21:22 +0000 | [diff] [blame] | 16 | void CXFA_FFArc::RenderWidget(CFGAS_GEGraphics* pGS, |
Philip P. Moltmann | d904c1e | 2018-03-19 09:26:45 -0700 | [diff] [blame] | 17 | const CFX_Matrix& matrix, |
Haibo Huang | 49cc930 | 2020-04-27 16:14:24 -0700 | [diff] [blame] | 18 | HighlightOption highlight) { |
| 19 | if (!HasVisibleStatus()) |
Philip P. Moltmann | d904c1e | 2018-03-19 09:26:45 -0700 | [diff] [blame] | 20 | return; |
| 21 | |
| 22 | CXFA_Value* value = m_pNode->GetFormValueIfExists(); |
| 23 | if (!value) |
| 24 | return; |
| 25 | |
| 26 | CFX_RectF rtArc = GetRectWithoutRotate(); |
| 27 | CXFA_Margin* margin = m_pNode->GetMarginIfExists(); |
Haibo Huang | 49cc930 | 2020-04-27 16:14:24 -0700 | [diff] [blame] | 28 | XFA_RectWithoutMargin(&rtArc, margin); |
Philip P. Moltmann | d904c1e | 2018-03-19 09:26:45 -0700 | [diff] [blame] | 29 | |
| 30 | CFX_Matrix mtRotate = GetRotateMatrix(); |
| 31 | mtRotate.Concat(matrix); |
Philip P. Moltmann | d904c1e | 2018-03-19 09:26:45 -0700 | [diff] [blame] | 32 | DrawBorder(pGS, value->GetArcIfExists(), rtArc, mtRotate); |
| 33 | } |