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_ffrectangle.h"
8 
9 #include "xfa/fxfa/parser/cxfa_rectangle.h"
10 #include "xfa/fxfa/parser/cxfa_value.h"
11 
CXFA_FFRectangle(CXFA_Node * pNode)12 CXFA_FFRectangle::CXFA_FFRectangle(CXFA_Node* pNode) : CXFA_FFWidget(pNode) {}
13 
~CXFA_FFRectangle()14 CXFA_FFRectangle::~CXFA_FFRectangle() {}
15 
RenderWidget(CXFA_Graphics * pGS,const CFX_Matrix & matrix,HighlightOption highlight)16 void CXFA_FFRectangle::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 rect = GetRectWithoutRotate();
27   CXFA_Margin* margin = m_pNode->GetMarginIfExists();
28   XFA_RectWithoutMargin(&rect, margin);
29 
30   CFX_Matrix mtRotate = GetRotateMatrix();
31   mtRotate.Concat(matrix);
32   DrawBorder(pGS, value->GetRectangleIfExists(), rect, mtRotate);
33 }
34