1 // Copyright 2017 PDFium Authors. All rights reserved.
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 
CXFA_FFArc(CXFA_Node * pNode)12 CXFA_FFArc::CXFA_FFArc(CXFA_Node* pNode) : CXFA_FFWidget(pNode) {}
13 
~CXFA_FFArc()14 CXFA_FFArc::~CXFA_FFArc() {}
15 
RenderWidget(CXFA_Graphics * pGS,const CFX_Matrix & matrix,HighlightOption highlight)16 void CXFA_FFArc::RenderWidget(CXFA_Graphics* pGS,
17                               const CFX_Matrix& matrix,
18                               HighlightOption highlight) {
19   if (!HasVisibleStatus())
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();
28   XFA_RectWithoutMargin(&rtArc, margin);
29 
30   CFX_Matrix mtRotate = GetRotateMatrix();
31   mtRotate.Concat(matrix);
32   DrawBorder(pGS, value->GetArcIfExists(), rtArc, mtRotate);
33 }
34