Home | History | Annotate | Download | only in fxfa
      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 
     12 CXFA_FFArc::CXFA_FFArc(CXFA_Node* pNode) : CXFA_FFDraw(pNode) {}
     13 
     14 CXFA_FFArc::~CXFA_FFArc() {}
     15 
     16 void CXFA_FFArc::RenderWidget(CXFA_Graphics* pGS,
     17                               const CFX_Matrix& matrix,
     18                               uint32_t dwStatus) {
     19   if (!IsMatchVisibleStatus(dwStatus))
     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   if (margin)
     29     XFA_RectWithoutMargin(rtArc, margin);
     30 
     31   CFX_Matrix mtRotate = GetRotateMatrix();
     32   mtRotate.Concat(matrix);
     33 
     34   DrawBorder(pGS, value->GetArcIfExists(), rtArc, mtRotate);
     35 }
     36