diff options
Diffstat (limited to 'xfa/fxfa/parser/cxfa_rectangle.h')
-rw-r--r-- | xfa/fxfa/parser/cxfa_rectangle.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/xfa/fxfa/parser/cxfa_rectangle.h b/xfa/fxfa/parser/cxfa_rectangle.h index 85e0a8ad65..9e335060f5 100644 --- a/xfa/fxfa/parser/cxfa_rectangle.h +++ b/xfa/fxfa/parser/cxfa_rectangle.h @@ -7,12 +7,66 @@ #ifndef XFA_FXFA_PARSER_CXFA_RECTANGLE_H_ #define XFA_FXFA_PARSER_CXFA_RECTANGLE_H_ +#include <memory> +#include <vector> + #include "xfa/fxfa/parser/cxfa_box.h" +#include "xfa/fxgraphics/cxfa_gepath.h" class CXFA_Rectangle : public CXFA_Box { public: CXFA_Rectangle(CXFA_Document* doc, XFA_PacketType packet); ~CXFA_Rectangle() override; + + void Draw(const std::vector<CXFA_Stroke*>& strokes, + CXFA_Graphics* pGS, + CFX_RectF rtWidget, + const CFX_Matrix& matrix); + + protected: + CXFA_Rectangle(CXFA_Document* pDoc, + XFA_PacketType ePacket, + uint32_t validPackets, + XFA_ObjectType oType, + XFA_Element eType, + const PropertyData* properties, + const AttributeData* attributes, + const WideStringView& elementName, + std::unique_ptr<CJX_Object> js_node); + + private: + void Stroke(const std::vector<CXFA_Stroke*>& strokes, + CXFA_Graphics* pGS, + CFX_RectF rtWidget, + const CFX_Matrix& matrix); + void StrokeEmbossed(CXFA_Graphics* pGS, + CFX_RectF rt, + float fThickness, + const CFX_Matrix& matrix); + void StrokeLowered(CXFA_Graphics* pGS, + CFX_RectF rt, + float fThickness, + const CFX_Matrix& matrix); + void StrokeRaised(CXFA_Graphics* pGS, + CFX_RectF rt, + float fThickness, + const CFX_Matrix& matrix); + void StrokeEtched(CXFA_Graphics* pGS, + CFX_RectF rt, + float fThickness, + const CFX_Matrix& matrix); + void StrokeRect(CXFA_Graphics* pGraphic, + const CFX_RectF& rt, + float fLineWidth, + const CFX_Matrix& matrix, + FX_ARGB argbTopLeft, + FX_ARGB argbBottomRight); + void GetPath(const std::vector<CXFA_Stroke*>& strokes, + CFX_RectF rtWidget, + CXFA_GEPath& path, + int32_t nIndex, + bool bStart, + bool bCorner); }; #endif // XFA_FXFA_PARSER_CXFA_RECTANGLE_H_ |