#include "xfa/fxfa/parser/cxfa_rectangle.h"
#include <math.h>
#include <utility>
#include "core/fxcrt/check.h"
#include "core/fxcrt/notreached.h"
#include "fxjs/xfa/cjx_node.h"
#include "xfa/fgas/graphics/cfgas_gegraphics.h"
#include "xfa/fxfa/parser/cxfa_corner.h"
#include "xfa/fxfa/parser/cxfa_document.h"
#include "xfa/fxfa/parser/cxfa_stroke.h"
namespace {
const CXFA_Node::PropertyData kRectanglePropertyData[] = …;
const CXFA_Node::AttributeData kRectangleAttributeData[] = …;
}
CXFA_Rectangle* CXFA_Rectangle::FromNode(CXFA_Node* pNode) { … }
CXFA_Rectangle::CXFA_Rectangle(CXFA_Document* doc, XFA_PacketType packet)
: … { … }
CXFA_Rectangle::CXFA_Rectangle(CXFA_Document* pDoc,
XFA_PacketType ePacket,
Mask<XFA_XDPPACKET> validPackets,
XFA_ObjectType oType,
XFA_Element eType,
pdfium::span<const PropertyData> properties,
pdfium::span<const AttributeData> attributes,
CJX_Object* js_node)
: … { … }
CXFA_Rectangle::~CXFA_Rectangle() = default;
void CXFA_Rectangle::GetFillPath(const std::vector<CXFA_Stroke*>& strokes,
const CFX_RectF& rtWidget,
CFGAS_GEPath* fillPath) { … }
void CXFA_Rectangle::Draw(const std::vector<CXFA_Stroke*>& strokes,
CFGAS_GEGraphics* pGS,
CFX_RectF rtWidget,
const CFX_Matrix& matrix) { … }
void CXFA_Rectangle::Stroke(const std::vector<CXFA_Stroke*>& strokes,
CFGAS_GEGraphics* pGS,
CFX_RectF rtWidget,
const CFX_Matrix& matrix) { … }
void CXFA_Rectangle::StrokeRect(CFGAS_GEGraphics* pGraphic,
const CFX_RectF& rt,
float fLineWidth,
const CFX_Matrix& matrix,
FX_ARGB argbTopLeft,
FX_ARGB argbBottomRight) { … }
void CXFA_Rectangle::StrokeLowered(CFGAS_GEGraphics* pGS,
CFX_RectF rt,
float fThickness,
const CFX_Matrix& matrix) { … }
void CXFA_Rectangle::StrokeRaised(CFGAS_GEGraphics* pGS,
CFX_RectF rt,
float fThickness,
const CFX_Matrix& matrix) { … }
void CXFA_Rectangle::StrokeEtched(CFGAS_GEGraphics* pGS,
CFX_RectF rt,
float fThickness,
const CFX_Matrix& matrix) { … }
void CXFA_Rectangle::StrokeEmbossed(CFGAS_GEGraphics* pGS,
CFX_RectF rt,
float fThickness,
const CFX_Matrix& matrix) { … }
void CXFA_Rectangle::GetPath(const std::vector<CXFA_Stroke*>& strokes,
CFX_RectF rtWidget,
CFGAS_GEPath& path,
int32_t nIndex,
bool bStart,
bool bCorner) { … }