summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_rectangle.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/parser/cxfa_rectangle.h')
-rw-r--r--xfa/fxfa/parser/cxfa_rectangle.h54
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_