summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_fill.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/parser/cxfa_fill.h')
-rw-r--r--xfa/fxfa/parser/cxfa_fill.h42
1 files changed, 25 insertions, 17 deletions
diff --git a/xfa/fxfa/parser/cxfa_fill.h b/xfa/fxfa/parser/cxfa_fill.h
index dc733f5a24..1ffdcdf2a3 100644
--- a/xfa/fxfa/parser/cxfa_fill.h
+++ b/xfa/fxfa/parser/cxfa_fill.h
@@ -7,9 +7,12 @@
#ifndef XFA_FXFA_PARSER_CXFA_FILL_H_
#define XFA_FXFA_PARSER_CXFA_FILL_H_
+#include "core/fxcrt/fx_coordinates.h"
#include "core/fxge/fx_dib.h"
#include "xfa/fxfa/parser/cxfa_node.h"
+#include "xfa/fxgraphics/cxfa_gepath.h"
+class CXFA_Graphics;
class CXFA_Linear;
class CXFA_Pattern;
class CXFA_Radial;
@@ -25,25 +28,30 @@ class CXFA_Fill : public CXFA_Node {
FX_ARGB GetColor(bool bText);
void SetColor(FX_ARGB color);
- XFA_Element GetFillType() const;
-
- XFA_AttributeEnum GetPatternType();
- FX_ARGB GetPatternColor();
-
- XFA_AttributeEnum GetLinearType();
- FX_ARGB GetLinearColor();
-
- int32_t GetStippleRate();
- FX_ARGB GetStippleColor();
-
- bool IsRadialToEdge();
- FX_ARGB GetRadialColor();
+ void Draw(CXFA_Graphics* pGS,
+ CXFA_GEPath* fillPath,
+ const CFX_RectF& rtWidget,
+ const CFX_Matrix& matrix);
private:
- CXFA_Stipple* GetStippleIfExists();
- CXFA_Radial* GetRadialIfExists();
- CXFA_Linear* GetLinearIfExists();
- CXFA_Pattern* GetPatternIfExists();
+ XFA_Element GetType() const;
+
+ void DrawStipple(CXFA_Graphics* pGS,
+ CXFA_GEPath* fillPath,
+ const CFX_RectF& rtWidget,
+ const CFX_Matrix& matrix);
+ void DrawRadial(CXFA_Graphics* pGS,
+ CXFA_GEPath* fillPath,
+ const CFX_RectF& rtWidget,
+ const CFX_Matrix& matrix);
+ void DrawLinear(CXFA_Graphics* pGS,
+ CXFA_GEPath* fillPath,
+ const CFX_RectF& rtWidget,
+ const CFX_Matrix& matrix);
+ void DrawPattern(CXFA_Graphics* pGS,
+ CXFA_GEPath* fillPath,
+ const CFX_RectF& rtWidget,
+ const CFX_Matrix& matrix);
};
#endif // XFA_FXFA_PARSER_CXFA_FILL_H_